florianutz.ubuntu1804_cis
Ubuntu 18.04 CIS STIG
Configurer une machine Ubuntu 18.04 pour qu'elle soit conforme aux normes CIS. Les erreurs de niveaux 1 et 2 seront corrigées par défaut.
Ce rôle apportera des modifications au système qui pourraient causer des problèmes. Ce n'est pas un outil d'audit, mais plutôt un outil de remédiation à utiliser après un audit.
ÉTAPE D'INSTALLATION IMPORTANTE
Si vous voulez l'installer via la commande ansible-galaxy
, vous devez l'exécuter de cette manière :
ansible-galaxy install -p roles -r requirements.yml
Avec ceci dans le fichier requirements.yml :
- src: https://github.com/florianutz/Ubuntu1804-CIS.git
Basé sur CIS Ubuntu Benchmark v2.0.1 - 01-03-2020.
Ce dépôt est issu du travail réalisé par MindPointGroup.
Exigences
Vous devez lire attentivement les tâches pour vous assurer que ces modifications ne causeront pas de problèmes à vos systèmes avant d’exécuter ce playbook.
Variables de rôle
Il y a beaucoup de variables de rôle définies dans defaults/main.yml. Cette liste montre les plus importantes.
ubuntu1804cis_notauto: Exécuter les contrôles CIS que nous ne voulons généralement PAS automatiser en raison du risque élevé de causer des problèmes (Par défaut : faux)
ubuntu1804cis_section1: CIS - Paramètres généraux (Section 1) (Par défaut : vrai)
ubuntu1804cis_section2: CIS - Paramètres des services (Section 2) (Par défaut : vrai)
ubuntu1804cis_section3: CIS - Paramètres réseau (Section 3) (Par défaut : vrai)
ubuntu1804cis_section4: CIS - Paramètres de journalisation et d'audit (Section 4) (Par défaut : vrai)
ubuntu1804cis_section5: CIS - Paramètres d'accès, d'authentification et d'autorisation (Section 5) (Par défaut : vrai)
ubuntu1804cis_section6: CIS - Paramètres de maintenance système (Section 6) (Par défaut : vrai)
Désactiver toutes les fonctions selinux
ubuntu1804cis_selinux_disable: faux
Variables de service :
Celles-ci contrôlent si un serveur doit ou non être autorisé à continuer à exécuter ces services
ubuntu1804cis_avahi_server: faux
ubuntu1804cis_cups_server: faux
ubuntu1804cis_dhcp_server: faux
ubuntu1804cis_ldap_server: faux
ubuntu1804cis_telnet_server: faux
ubuntu1804cis_nfs_server: faux
ubuntu1804cis_rpc_server: faux
ubuntu1804cis_ntalk_server: faux
ubuntu1804cis_rsyncd_server: faux
ubuntu1804cis_tftp_server: faux
ubuntu1804cis_rsh_server: faux
ubuntu1804cis_nis_server: faux
ubuntu1804cis_snmp_server: faux
ubuntu1804cis_squid_server: faux
ubuntu1804cis_smb_server: faux
ubuntu1804cis_dovecot_server: faux
ubuntu1804cis_httpd_server: faux
ubuntu1804cis_vsftpd_server: faux
ubuntu1804cis_named_server: faux
ubuntu1804cis_bind: faux
ubuntu1804cis_vsftpd: faux
ubuntu1804cis_httpd: faux
ubuntu1804cis_dovecot: faux
ubuntu1804cis_samba: faux
ubuntu1804cis_squid: faux
ubuntu1804cis_net_snmp: faux
Désigner le serveur comme serveur de messagerie
ubuntu1804cis_is_mail_server: faux
Paramètres réseau du système (hôte uniquement OU hôte et routeur)
ubuntu1804cis_is_router: faux
IPv6 requis
ubuntu1804cis_ipv6_required: vrai
AIDE
ubuntu1804cis_config_aide: vrai
Paramètres cron AIDE
ubuntu1804cis_aide_cron:
cron_user: root
cron_file: /etc/crontab
aide_job: '/usr/sbin/aide --check'
aide_minute: 0
aide_hour: 5
aide_day: '*'
aide_month: '*'
aide_weekday: '*'
Mettre à 'true' si X Windows est nécessaire dans votre environnement
ubuntu1804cis_xwindows_required: non
Exigences des applications clientes
ubuntu1804cis_openldap_clients_required: faux
ubuntu1804cis_telnet_required: faux
ubuntu1804cis_talk_required: faux
ubuntu1804cis_rsh_required: faux
ubuntu1804cis_ypbind_required: faux
Synchronisation de l'heure
ubuntu1804cis_time_synchronization: chrony
ubuntu1804cis_time_Synchronization: ntp
ubuntu1804cis_time_synchronization_servers:
- uri: "0.pool.ntp.org"
config: "minpoll 8"
- uri: "1.pool.ntp.org"
config: "minpoll 8"
- uri: "2.pool.ntp.org"
config: "minpoll 8"
- uri: "3.pool.ntp.org"
config: "minpoll 8"
- nom: "SCORE | 1.1.5 | PATCH | Assurez-vous que l'option noexec est définie sur la partition /tmp"
Cela n'est pas implémenté, noexec pour /tmp perturbera apt. /tmp contient des scripts exécutables pendant l'installation des paquets.
1.5.3 | PATCH | Assurez-vous qu'une authentification est requise pour le mode utilisateur unique
Il est désactivé par défaut car il définit un mot de passe aléatoire pour root. Pour l'activer, définissez :
ubuntu1804cis_rule_1_5_3: vrai
Pour utiliser autre chose qu'un mot de passe aléatoire :
ubuntu1804cis_root_password: 'nouveau mot de passe'
3.4.2 | PATCH | Assurez-vous que /etc/hosts.allow est configuré
ubuntu1804cis_host_allow:
- "10.0.0.0/255.0.0.0"
- "172.16.0.0/255.240.0.0"
- "192.168.0.0/255.255.0.0"
ubuntu1804cis_firewall: firewalld
ubuntu1804cis_firewall: iptables
5.3.1 | PATCH | Assurez-vous que les exigences de création de mot de passe sont configurées
ubuntu1804cis_pwquality:
- key: 'minlen'
value: '14'
- key: 'dcredit'
value: '-1'
- key: 'ucredit'
value: '-1'
- key: 'ocredit'
value: '-1'
- key: 'lcredit'
value: '-1'
Dépendances
Ansible >= 2.4 et <= 2.7 (2.8 n'est pas encore pris en charge)
Exemple de Playbook
- nom: Sécuriser le serveur
hôtes: serveurs
devenir: oui
rôles:
- Ubuntu1804-CIS
Pour exécuter les tâches dans ce dépôt, créez d'abord ce fichier un niveau au-dessus du dépôt
(c'est-à-dire que le fichier playbook .yml et le répertoire Ubuntu1804-CIS
doivent être côte à côte),
ensuite, consultez le fichier defaults/main.yml
et désactivez toute règle/section que vous ne souhaitez pas exécuter.
En supposant que vous ayez nommé le fichier site.yml
, exécutez-le avec :
ansible-playbook site.yml
Étiquettes
De nombreuses étiquettes sont disponibles pour un contrôle précis sur ce qui est et n'est pas modifié.
Quelques exemples d'utilisation des étiquettes :
# Auditer et corriger le site
ansible-playbook site.yml --tags="patch"
Licence
MIT
Ansible role to apply Ubuntu 18.04 CIS Baseline
ansible-galaxy install florianutz.ubuntu1804_cis