florianutz.ubuntu2004_cis
CIS STIG pour Ubuntu 20.04
Ce rôle est basé sur la migration de 18.04. Les tâches sont correctes en contenu, mais doivent être réorganisées pour correspondre à la norme 20.04. Les contributions sont les bienvenues.
Configurez une machine Ubuntu 20.04 pour qu'elle soit conforme au CIS. Les constatations de niveaux 1 et 2 seront corrigées par défaut.
Ce rôle fera des modifications sur le 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.
Basé sur CIS Ubuntu Linux 20.04 LTS Benchmark - v1.0.0 - 21-07-2020 .
Retours d'expérience
- Si vous aimez notre travail mais ne pouvez pas contribuer au code du rôle vous-même, prenez un moment pour le noter sur Ansible Galaxy. Cela permet de donner facilement des retours positifs aux développeurs concernant leur travail. Score de la Communauté Galaxy
- Si vous trouvez un bogue dans le rôle, mais ne pouvez pas le corriger vous-même, veuillez créer un ticket avec le maximum de détails possible. Gardez à l'esprit que tous les développeurs travaillent sur le projet pendant leur temps libre, et il se peut que cela prenne un certain temps pour obtenir une réponse. Page des problèmes
ÉTAPE D'INSTALLATION IMPORTANTE
Si vous souhaitez l'installer via la commande ansible-galaxy
, vous devrez l'exécuter de cette manière :
ansible-galaxy install -p roles -r requirements.yml
Avec ce qui est dans le fichier requirements.yml :
- src: https://github.com/florianutz/ubuntu2004_cis.git
Exemple de Playbook
Vous pouvez trouver un exemple de playbook ci-dessous. Veuillez lire la documentation et vérifier les paramètres pour votre cas. Par exemple, les paramètres par défaut désinstallent le serveur X !
- name: Renforcer le serveur
hosts: servers
become: yes
roles:
- ubuntu2004_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 ubuntu2004_cis
doivent être côte à côte), puis examinez le fichier defaults/main.yml
et désactivez toute règle ou section que vous ne souhaitez pas exécuter.
En supposant que vous avez nommé le fichier site.yml
, exécutez-le avec :
ansible-playbook site.yml
Exigences
Vous devez lire attentivement les tâches pour vous assurer que ces changements ne casseront pas vos systèmes avant d'exécuter ce playbook.
Variables de rôle
Il y a plusieurs variables de rôle définies dans defaults/main.yml. Cette liste montre les plus importantes.
ubuntu2004cis_notauto : Exécuter les vérifications CIS que nous ne souhaitons généralement PAS automatiser en raison d'une forte probabilité de casser le système (Par défaut : faux)
ubuntu2004cis_section1 : CIS - Paramètres généraux (Section 1) (Par défaut : vrai)
ubuntu2004cis_section2 : CIS - Paramètres des services (Section 2) (Par défaut : vrai)
ubuntu2004cis_section3 : CIS - Paramètres réseau (Section 3) (Par défaut : vrai)
ubuntu2004cis_section4 : CIS - Paramètres de journalisation et d'audit (Section 4) (Par défaut : vrai)
ubuntu2004cis_section5 : CIS - Paramètres d'accès, d'authentification et d'autorisation (Section 5) (Par défaut : vrai)
ubuntu2004cis_section6 : CIS - Paramètres de maintenance du système (Section 6) (Par défaut : vrai)
Désactiver toutes les fonctions selinux
ubuntu2004cis_selinux_disable: false
Variables de service
Celles-ci contrôlent si un serveur doit ou non continuer à exécuter ces services
ubuntu2004cis_avahi_server: false
ubuntu2004cis_cups_server: false
ubuntu2004cis_dhcp_server: false
ubuntu2004cis_ldap_server: false
ubuntu2004cis_telnet_server: false
ubuntu2004cis_nfs_server: false
ubuntu2004cis_rpc_server: false
ubuntu2004cis_ntalk_server: false
ubuntu2004cis_rsyncd_server: false
ubuntu2004cis_tftp_server: false
ubuntu2004cis_rsh_server: false
ubuntu2004cis_nis_server: false
ubuntu2004cis_snmp_server: false
ubuntu2004cis_squid_server: false
ubuntu2004cis_smb_server: false
ubuntu2004cis_dovecot_server: false
ubuntu2004cis_httpd_server: false
ubuntu2004cis_vsftpd_server: false
ubuntu2004cis_named_server: false
ubuntu2004cis_allow_autofs: false
Désigner le serveur comme serveur de messagerie
ubuntu2004cis_is_mail_server: false
Paramètres réseau du système (hôte uniquement OU hôte et routeur)
ubuntu2004cis_is_router: false
IPv6 requis
ubuntu2004cis_ipv6_required: true
AIDE
ubuntu2004cis_config_aide: true
Paramètres cron AIDE
ubuntu2004cis_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: '*'
Définir sur 'true' si X Windows est nécessaire dans votre environnement
ubuntu2004cis_xwindows_required: no
Exigences des applications clientes
ubuntu2004cis_openldap_clients_required: false
ubuntu2004cis_telnet_required: false
ubuntu2004cis_talk_required: false
ubuntu2004cis_rsh_required: false
ubuntu2004cis_ypbind_required: false
ubuntu2004cis_rpc_required: false
Synchronisation de l'heure
ubuntu2004cis_time_synchronization: chrony
ubuntu2004cis_time_Synchronization: ntp
ubuntu2004cis_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"
- name: "SCORÉ | 1.1.5 | PATCH | Assurez-vous que l'option noexec est définie sur la partition /tmp"
Ce 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 que l'authentification est requise pour le mode utilisateur unique
Il est désactivé par défaut car cela définit un mot de passe aléatoire pour root. Pour l'activer, définissez :
```yaml
ubuntu2004cis_rule_1_5_3: true
Pour utiliser autre chose qu'un mot de passe aléatoire :
ubuntu2004cis_root_password: 'nouveau mot de passe'
ubuntu2004cis_firewall: firewalld
ubuntu2004cis_firewall: iptables
5.3.1 | PATCH | Assurez-vous que les exigences de création de mot de passe sont configurées
ubuntu2004cis_pwquality:
- key: 'minlen'
value: '14'
- key: 'dcredit'
value: '-1'
- key: 'ucredit'
value: '-1'
- key: 'ocredit'
value: '-1'
- key: 'lcredit'
value: '-1'
Dépendances
Développé et testé avec Ansible 2.10.
Étiquettes
De nombreuses étiquettes sont disponibles pour un contrôle précis de ce qui est et n'est pas modifié.
Quelques exemples d'utilisation des étiquettes :
# Auditez et corrigez le site
ansible-playbook site.yml --tags="patch"
Liste des recommandations :
1 Configuration initiale
- 1.1 Configuration du système de fichiers
- 1.1.1 Désactiver les systèmes de fichiers inutilisés
- 1.1.1.1 Assurez-vous que le montage des systèmes de fichiers cramfs est désactivé (Automatisé)
- 1.1.1.2 Assurez-vous que le montage des systèmes de fichiers freevxfs est désactivé - (Automatisé)
- 1.1.1.3 Assurez-vous que le montage des systèmes de fichiers jffs2 est désactivé (Automatisé)
- 1.1.1.4 Assurez-vous que le montage des systèmes de fichiers hfs est désactivé (Automatisé)
- 1.1.1.5 Assurez-vous que le montage des systèmes de fichiers hfsplus est désactivé - (Automatisé)
- 1.1.1.6 Assurez-vous que le montage des systèmes de fichiers udf est désactivé (Automatisé)
- 1.1.1.7 Assurez-vous que le montage des systèmes de fichiers FAT est limité (Manuel)
- 1.1.2 Assurez-vous que /tmp est configuré (Automatisé)
- 1.1.3 Assurez-vous que l'option nodev est définie sur la partition /tmp (Automatisé)
- 1.1.4 Assurez-vous que l'option nosuid est définie sur la partition /tmp (Automatisé)
- 1.1.5 Assurez-vous que l'option noexec est définie sur la partition /tmp (Automatisé)
- 1.1.6 Assurez-vous que /dev/shm est configuré (Automatisé)
- 1.1.7 Assurez-vous que l'option nodev est définie sur la partition /dev/shm (Automatisé)
- 1.1.8 Assurez-vous que l'option nosuid est définie sur la partition /dev/shm (Automatisé)
- 1.1.9 Assurez-vous que l'option noexec est définie sur la partition /dev/shm (Automatisé)
- 1.1.10 Assurez-vous qu'une partition distincte existe pour /var (Automatisé)
- 1.1.11 Assurez-vous qu'une partition distincte existe pour /var/tmp (Automatisé)
- 1.1.12 Assurez-vous que l'option nodev est définie sur la partition /var/tmp (Automatisé)
- 1.1.13 Assurez-vous que l'option nosuid est définie sur la partition /var/tmp (Automatisé)
- 1.1.14 Assurez-vous que l'option noexec est définie sur la partition /var/tmp (Automatisé)
- 1.1.15 Assurez-vous qu'une partition distincte existe pour /var/log (Automatisé)
- 1.1.16 Assurez-vous qu'une partition distincte existe pour /var/log/audit - (Automatisé)
- 1.1.17 Assurez-vous qu'une partition distincte existe pour /home (Automatisé)
- 1.1.18 Assurez-vous que l'option nodev est définie sur la partition /home (Automatisé)
1.1.19 Assurez-vous que l'option nodev est définie sur les partitions de médias amovibles (Manuel)1.1.20 Assurez-vous que l'option nosuid est définie sur les partitions de médias amovibles - (Manuel)1.1.21 Assurez-vous que l'option noexec est définie sur les partitions de médias amovibles - (Manuel)- 1.1.22 Assurez-vous que le bit « sticky » est défini sur tous les répertoires accessibles en écriture au monde - (Automatisé)
- 1.1.23 Désactiver le montage automatique (Automatisé)
- 1.1.24 Désactiver le stockage USB (Automatisé)
- 1.1.1 Désactiver les systèmes de fichiers inutilisés
1.2 Configurer les mises à jour logicielles1.2.1 Assurez-vous que les dépôts du gestionnaire de paquets sont configurés (Manuel)1.2.2 Assurez-vous que les clés GPG sont configurées (Manuel)
- 1.3 Configurer sudo
- 1.3.1 Assurez-vous que sudo est installé (Automatisé)
- 1.3.2 Assurez-vous que les commandes sudo utilisent pty (Automatisé)
- 1.3.3 Assurez-vous que le fichier journal sudo existe (Automatisé)
- 1.4 Vérification de l'intégrité du système de fichiers
- 1.4.1 Assurez-vous que AIDE est installé (Automatisé)
- 1.4.2 Assurez-vous que l'intégrité du système de fichiers est vérifiée régulièrement (Automatisé)
- 1.5 Paramètres de démarrage sécurisés
- 1.5.1 Assurez-vous que le mot de passe du chargeur de démarrage est défini (Automatisé)
- 1.5.2 Assurez-vous que les autorisations sur la configuration du chargeur de démarrage sont configurées - (Automatisé)
- 1.5.3 Assurez-vous que l'authentification est requise pour le mode utilisateur unique (Automatisé)
- 1.6 Renforcement supplémentaire des processus
- 1.6.1 Assurez-vous que le support XD/NX est activé (Automatisé)
- 1.6.2 Assurez-vous que l'aléatoire de la disposition de l'espace d'adressage (ASLR) est activé - (Automatisé)
- 1.6.3 Assurez-vous que le pré-link est désactivé (Automatisé)
- 1.6.4 Assurez-vous que les core dumps sont restreints (Automatisé)
- 1.7 Contrôle d'accès obligatoire
- 1.7.1 Configurer AppArmor
- 1.7.1.1 Assurez-vous qu'AppArmor est installé (Automatisé)
- 1.7.1.2 Assurez-vous qu'AppArmor est activé dans la configuration du chargeur de démarrage - (Automatisé)
1.7.1.3 Assurez-vous que tous les profils AppArmor sont en mode d'application ou de plainte - (Automatisé)1.7.1.4 Assurez-vous que tous les profils AppArmor appliquent (Automatisé)
- 1.7.1 Configurer AppArmor
- 1.8 Bannières d'avertissement
- 1.8.1 Bannières d'avertissement en ligne de commande
- 1.8.1.1 Assurez-vous que le message du jour est configuré correctement (Automatisé)
- 1.8.1.2 Assurez-vous que la bannière d'avertissement de connexion locale est correctement configurée - (Automatisé)
- 1.8.1.3 Assurez-vous que la bannière d'avertissement de connexion distante est correctement configurée - (Automatisé)
- 1.8.1.4 Assurez-vous que les autorisations sur /etc/motd sont configurées (Automatisé)
- 1.8.1.5 Assurez-vous que les autorisations sur /etc/issue sont configurées (Automatisé)
- 1.8.1.6 Assurez-vous que les autorisations sur /etc/issue.net sont configurées - (Automatisé)
- 1.8.1 Bannières d'avertissement en ligne de commande
- 1.9 Assurez-vous que les mises à jour, les correctifs et les logiciels de sécurité supplémentaires sont - installés (Manuel)
- 1.10 Assurez-vous que GDM est supprimé ou que la connexion est configurée (Automatisé)
2 Services
- 2.1 Services inetd
- 2.1.1 Assurez-vous que xinetd n'est pas installé (Automatisé)
- 2.1.2 Assurez-vous qu'openbsd-inetd n'est pas installé (Automatisé)
- 2.2 Services à usage spécial
- 2.2.1 Synchronisation horaire
- 2.2.1.1 Assurez-vous que la synchronisation horaire est en cours d'utilisation (Automatisé)
2.2.1.2 Assurez-vous que systemd-timesyncd est configuré (Manuel)- 2.2.1.3 Assurez-vous que chrony est configuré (Automatisé)
- 2.2.1.4 Assurez-vous que NTP est configuré (Automatisé)
- 2.2.2 Assurez-vous que le système X Window n'est pas installé (Automatisé)
- 2.2.3 Assurez-vous que le serveur Avahi n'est pas installé (Automatisé)
- 2.2.4 Assurez-vous que CUPS n'est pas installé (Automatisé)
- 2.2.5 Assurez-vous que le serveur DHCP n'est pas installé (Automatisé)
- 2.2.6 Assurez-vous que le serveur LDAP n'est pas installé (Automatisé)
- 2.2.7 Assurez-vous que NFS n'est pas installé (Automatisé)
- 2.2.8 Assurez-vous que le serveur DNS n'est pas installé (Automatisé)
- 2.2.9 Assurez-vous que le serveur FTP n'est pas installé (Automatisé)
- 2.2.10 Assurez-vous que le serveur HTTP n'est pas installé (Automatisé)
- 2.2.11 Assurez-vous que le serveur IMAP et POP3 n'est pas installé (Automatisé)
- 2.2.12 Assurez-vous que Samba n'est pas installé (Automatisé)
- 2.2.13 Assurez-vous que le serveur proxy HTTP n'est pas installé (Automatisé)
- 2.2.14 Assurez-vous que le serveur SNMP n'est pas installé (Automatisé)
- 2.2.15 Assurez-vous que l'agent de transfert de courrier est configuré en mode local uniquement - (Automatisé)
- 2.2.16 Assurez-vous que le service rsync n'est pas installé (Automatisé)
- 2.2.17 Assurez-vous que le serveur NIS n'est pas installé (Automatisé)
- 2.2.1 Synchronisation horaire
- 2.3 Clients de service
- 2.3.1 Assurez-vous que le client NIS n'est pas installé (Automatisé)
- 2.3.2 Assurez-vous que le client rsh n'est pas installé (Automatisé)
- 2.3.3 Assurez-vous que le client talk n'est pas installé (Automatisé)
- 2.3.4 Assurez-vous que le client telnet n'est pas installé (Automatisé)
- 2.3.5 Assurez-vous que le client LDAP n'est pas installé (Automatisé)
- 2.3.6 Assurez-vous que le RPC n'est pas installé (Automatisé)
- 2.4 Assurez-vous que les services non essentiels sont supprimés ou masqués (Manuel)
3 Configuration du réseau
- 3.1 Désactiver les protocoles et dispositifs de réseau inutilisés
- 3.1.1 Désactiver IPv6 (Manuel)
- 3.1.2 Assurez-vous que les interfaces sans fil sont désactivées (Automatisé)
- 3.2 Paramètres Réseau (Hôte-Uniquement)
- 3.2.1 Assurez-vous que l'envoi de redirection de paquets est désactivé (Automatisé)
- 3.2.2 Assurez-vous que le transfert IP est désactivé (Automatisé)
- 3.3 Paramètres Réseau (Hôte et Routeur)
- 3.3.1 Assurez-vous que les paquets routés par source ne sont pas acceptés (Automatisé)
- 3.3.2 Assurez-vous que les redirections ICMP ne sont pas acceptées (Automatisé)
- 3.3.3 Assurez-vous que les redirections ICMP sécurisées ne sont pas acceptées (Automatisé)
- 3.3.4 Assurez-vous que les paquets suspects sont journalisés (Automatisé)
- 3.3.5 Assurez-vous que les requêtes ICMP en diffusion sont ignorées (Automatisé)
- 3.3.6 Assurez-vous que les réponses ICMP incorrectes sont ignorées (Automatisé)
- 3.3.7 Assurez-vous que le filtrage de chemin inverse est activé (Automatisé)
- 3.3.8 Assurez-vous que les cookies SYN TCP sont activés (Automatisé)
- 3.3.9 Assurez-vous que les publicités de routeur IPv6 ne sont pas acceptées (Automatisé)
- 3.4 Protocoles réseau peu courants
- 3.4.1 Assurez-vous que DCCP est désactivé (Automatisé)
- 3.4.2 Assurez-vous que SCTP est désactivé (Automatisé)
- 3.4.3 Assurez-vous que RDS est désactivé (Automatisé)
- 3.4.4 Assurez-vous que TIPC est désactivé (Automatisé)
- 3.5 Configuration du pare-feu
- 3.5.1 Configurer UncomplicatedFirewall
- 3.5.1.1 Assurez-vous que le pare-feu uncomplicated est installé (Automatisé)
- 3.5.1.2 Assurez-vous qu'iptables-persistent n'est pas installé (Automatisé)
- 3.5.1.3 Assurez-vous que le service ufw est activé (Automatisé)
- 3.5.1.4 Assurez-vous que le trafic de boucle est configuré (Automatisé)
- 3.5.1.5 Assurez-vous que les connexions sortantes sont configurées (Manuel)
- 3.5.1.6 Assurez-vous que des règles de pare-feu existent pour tous les ports ouverts (Manuel)
- 3.5.1.7 Assurez-vous que la politique par défaut du pare-feu est de refuser (Automatisé)
- 3.5.1 Configurer UncomplicatedFirewall
3.5.2 Configurer nftables3.5.2.1 Assurez-vous que nftables est installé (Automatisé)3.5.2.2 Assurez-vous que le pare-feu uncomplicated n'est pas installé ou désactivé - (Automatisé)3.5.2.3 Assurez-vous que les iptables sont vidés (Manuel)3.5.2.4 Assurez-vous qu'une table existe (Automatisé)3.5.2.5 Assurez-vous que les chaînes de base existent (Automatisé)3.5.2.6 Assurez-vous que le trafic de boucle est configuré (Automatisé)3.5.2.7 Assurez-vous que les connexions sortantes et établies sont configurées - (Manuel)3.5.2.8 Assurez-vous que la politique par défaut du pare-feu est de refuser (Automatisé)3.5.2.9 Assurez-vous que le service nftables est activé (Automatisé)3.5.2.10 Assurez-vous que les règles nftables sont permanentes (Automatisé)
3.5.3 Configurer iptables3.5.3.1.1 Assurez-vous que les paquets iptables sont installés (Automatisé)3.5.3.1.2 Assurez-vous que nftables n'est pas installé (Automatisé)3.5.3.1.3 Assurez-vous que le pare-feu uncomplicated n'est pas installé ou désactivé - (Automatisé)3.5.3.2.1 Assurez-vous que la politique par défaut du pare-feu est de refuser (Automatisé)3.5.3.2.2 Assurez-vous que le trafic de boucle est configuré (Automatisé)3.5.3.2.3 Assurez-vous que les connexions sortantes et établies sont configurées - (Manuel)3.5.3.2.4 Assurez-vous que des règles de pare-feu existent pour tous les ports ouverts (Automatisé)3.5.3.3.1 Assurez-vous que la politique par défaut du pare-feu IPv6 est de refuser (Automatisé)3.5.3.3.2 Assurez-vous que le trafic de boucle IPv6 est configuré (Automatisé)3.5.3.3.3 Assurez-vous que les connexions sortantes et établies IPv6 sont configurées (Manuel)3.5.3.3.4 Assurez-vous que des règles de pare-feu IPv6 existent pour tous les ports ouverts - (Manuel)
4 Journalisation et audit
- 4.1 Configurer la comptabilité système (auditd)
- 4.1.1 Assurez-vous que l'audit est activé
- 4.1.1.1 Assurez-vous qu'auditd est installé (Automatisé)
- 4.1.1.2 Assurez-vous que le service auditd est activé (Automatisé)
- 4.1.1.3 Assurez-vous que l'audit des processus qui démarrent avant auditd est - activé (Automatisé)
- 4.1.1.4 Assurez-vous que audit_backlog_limit est suffisant (Automatisé)
- 4.1.2 Configurer la rétention des données
- 4.1.2.1 Assurez-vous que la taille de stockage des journaux d'audit est configurée (Automatisé)
- 4.1.2.2 Assurez-vous que les journaux d'audit ne sont pas automatiquement supprimés (Automatisé)
- 4.1.2.3 Assurez-vous que le système est désactivé lorsque les journaux d'audit sont pleins - (Automatisé)
- 4.1.3 Assurez-vous que les événements qui modifient les informations de date et d'heure sont - collectés (Automatisé)
- 4.1.4 Assurez-vous que les événements qui modifient les informations d'utilisateur/groupe sont collectés - (Automatisé)
- 4.1.5 Assurez-vous que les événements qui modifient l'environnement réseau du système sont - collectés (Automatisé)
- 4.1.6 Assurez-vous que les événements qui modifient les contrôles d'accès obligatoires du système sont collectés (Automatisé)
- 4.1.7 Assurez-vous que les événements de connexion et déconnexion sont collectés (Automatisé)
- 4.1.8 Assurez-vous que les informations d'initiation de session sont collectées (Automatisé)
- 4.1.9 Assurez-vous que les événements de modification des permissions de contrôle d'accès discrétionnaires sont collectés (Automatisé)
- 4.1.10 Assurez-vous que les tentatives d'accès aux fichiers non autorisées et non réussies sont collectées (Automatisé)
- 4.1.11 Assurez-vous que l'utilisation de commandes privilégiées est collectée (Automatisé)
- 4.1.12 Assurez-vous que les montages réussis de systèmes de fichiers sont collectés (Automatisé)
- 4.1.13 Assurez-vous que les événements de suppression de fichiers par les utilisateurs sont collectés (Automatisé)
- 4.1.14 Assurez-vous que les changements au niveau de l'administration système (sudoers) sont collectés (Automatisé)
- 4.1.15 Assurez-vous que l'exécution de commandes par les administrateurs systèmes (sudo) est collectée (Automatisé)
- 4.1.16 Assurez-vous que le chargement et le déchargement de modules du noyau sont collectés - (Automatisé)
- 4.1.17 Assurez-vous que la configuration de l'audit est immuable (Automatisé)
- 4.1.1 Assurez-vous que l'audit est activé
- 4.2 Configurer la journalisation
- 4.2.1 Configurer rsyslog
- 4.2.1.1 Assurez-vous que rsyslog est installé (Automatisé)
- 4.2.1.2 Assurez-vous que le service rsyslog est activé (Automatisé)
4.2.1.3 Assurez-vous que la journalisation est configurée (Manuel)- 4.2.1.4 Assurez-vous que les autorisations par défaut des fichiers rsyslog sont configurées - (Automatisé)
4.2.1.5 Assurez-vous que rsyslog est configuré pour envoyer des journaux à un hôte de journalisation distant (Automatisé)4.2.1.6 Assurez-vous que les messages rsyslog distants ne sont acceptés que sur des hôtes de journalisation désignés. (Manuel)
- 4.2.2 Configurer journald
- 4.2.2.1 Assurez-vous que journald est configuré pour envoyer des journaux à rsyslog - (Automatisé)
- 4.2.2.2 Assurez-vous que journald est configuré pour compresser les gros fichiers journaux - (Automatisé)
- 4.2.2.3 Assurez-vous que journald est configuré pour écrire les fichiers journaux sur un disque persistant (Automatisé)
- 4.2.3 Assurez-vous que les permissions sur tous les fichiers journaux sont configurées (Automatisé)
- 4.2.1 Configurer rsyslog
- 4.3 Assurez-vous que logrotate est configuré (Manuel)
- 4.4 Assurez-vous que logrotate attribue des permissions appropriées (Automatisé)
5 Accès, authentification et autorisation
- 5.1 Configurer les planificateurs de tâches basés sur le temps
- 5.1.1 Assurez-vous que le démon cron est activé et fonctionnel (Automatisé)
- 5.1.2 Assurez-vous que les autorisations sur /etc/crontab sont configurées (Automatisé)
- 5.1.3 Assurez-vous que les autorisations sur /etc/cron.hourly sont configurées - (Automatisé)
- 5.1.4 Assurez-vous que les autorisations sur /etc/cron.daily sont configurées - (Automatisé)
- 5.1.5 Assurez-vous que les autorisations sur /etc/cron.weekly sont configurées - (Automatisé)
- 5.1.6 Assurez-vous que les autorisations sur /etc/cron.monthly sont configurées - (Automatisé)
- 5.1.7 Assurez-vous que les autorisations sur /etc/cron.d sont configurées (Automatisé)
- 5.1.8 Assurez-vous que cron est restreint aux utilisateurs autorisés (Automatisé)
- 5.1.9 Assurez-vous que at est restreint aux utilisateurs autorisés (Automatisé)
- 5.2 Configurer le serveur SSH
- 5.2.1 Assurez-vous que les autorisations sur /etc/ssh/sshd_config sont configurées - (Automatisé)
- 5.2.2 Assurez-vous que les autorisations sur les fichiers de clés hôtes privés SSH sont - configurées (Automatisé)
- 5.2.3 Assurez-vous que les autorisations sur les fichiers de clés hôtes publics SSH sont configurées - (Automatisé)
- 5.2.4 Assurez-vous que le niveau de journalisation SSH est approprié (Automatisé)
- 5.2.5 Assurez-vous que le transfert X11 SSH est désactivé (Automatisé)
- 5.2.6 Assurez-vous que SSH MaxAuthTries est fixé à 4 ou moins (Automatisé)
- 5.2.7 Assurez-vous que SSH IgnoreRhosts est activé (Automatisé)
- 5.2.8 Assurez-vous que l'authentification basée sur l'hôte SSH est désactivée (Automatisé)
- 5.2.9 Assurez-vous que la connexion root SSH est désactivée (Automatisé)
- 5.2.10 Assurez-vous que les mots de passe vides SSH sont désactivés (Automatisé)
- 5.2.11 Assurez-vous que l'environnement utilisateur SSH est désactivé (Automatisé)
- 5.2.12 Assurez-vous que seuls des algorithmes forts sont utilisés (Automatisé)
- 5.2.13 Assurez-vous que seuls des algorithmes MAC forts sont utilisés (Automatisé)
- 5.2.14 Assurez-vous que seuls des algorithmes d'échange de clés forts sont utilisés - (Automatisé)
- 5.2.15 Assurez-vous que l'intervalle de délai d'inactivité SSH est configuré (Automatisé)
- 5.2.16 Assurez-vous que le temps de grâce de connexion SSH est fixé à une minute ou moins - (Automatisé)
- 5.2.17 Assurez-vous que l'accès SSH est limité (Automatisé)
- 5.2.18 Assurez-vous que la bannière d'avertissement SSH est configurée (Automatisé)
- 5.2.19 Assurez-vous que SSH PAM est activé (Automatisé)
- 5.2.20 Assurez-vous que SSH AllowTcpForwarding est désactivé (Automatisé)
- 5.2.21 Assurez-vous que SSH MaxStartups est configuré (Automatisé)
- 5.2.22 Assurez-vous que SSH MaxSessions est limité (Automatisé)
- 5.3 Configurer PAM
- 5.3.1 Assurez-vous que les exigences de création de mot de passe sont configurées - (Automatisé)
- 5.3.2 Assurez-vous que le verrouillage pour les tentatives de mot de passe échouées est configuré - (Automatisé)
- 5.3.3 Assurez-vous que la réutilisation des mots de passe est limitée (Automatisé)
- 5.3.4 Assurez-vous que l'algorithme de hachage de mot de passe est SHA-512 (Automatisé)
- 5.4 Comptes et environnement utilisateur
- 5.4.1 Définir les paramètres de la suite de mots de passe Shadow
- 5.4.1.1 Assurez-vous que l'expiration du mot de passe est de 365 jours ou moins (Automatisé)
- 5.4.1.2 Assurez-vous que le nombre minimum de jours entre les changements de mot de passe est configuré - (Automatisé)
- 5.4.1.3 Assurez-vous que le nombre de jours d'avertissement d'expiration du mot de passe est de 7 ou plus - (Automatisé)
- 5.4.1.4 Assurez-vous que le verrouillage de mot de passe d'inactivité est de 30 jours ou moins (Automatisé)
- 5.4.1.5 Assurez-vous que toutes les dernières dates de changement de mot de passe des utilisateurs sont dans le passé - (Automatisé)
- 5.4.2 Assurez-vous que les comptes système sont sécurisés (Automatisé)
- 5.4.3 Assurez-vous que le groupe par défaut pour le compte root est GID 0 (Automatisé)
- 5.4.4 Assurez-vous que le umask utilisateur par défaut est 027 ou plus restrictif - (Automatisé)
- 5.4.5 Assurez-vous que le délai d'expiration du shell utilisateur par défaut est de 900 secondes ou moins - (Automatisé)
- 5.4.1 Définir les paramètres de la suite de mots de passe Shadow
5.5 Assurez-vous que la connexion root est restreinte à la console système (Manuel)- 5.6 Assurez-vous que l'accès à la commande su est restreint (Automatisé)
6 Maintenance du système
- 6.1 Permissions des fichiers système
6.1.1 Auditer les permissions des fichiers système (Manuel)- 6.1.2 Assurez-vous que les permissions sur /etc/passwd sont configurées (Automatisé)
- 6.1.3 Assurez-vous que les permissions sur /etc/gshadow- sont configurées (Automatisé)
- 6.1.4 Assurez-vous que les permissions sur /etc/shadow sont configurées (Automatisé)
- 6.1.5 Assurez-vous que les permissions sur /etc/group sont configurées (Automatisé)
- 6.1.6 Assurez-vous que les permissions sur /etc/passwd- sont configurées (Automatisé)
- 6.1.7 Assurez-vous que les permissions sur /etc/shadow- sont configurées (Automatisé)
- 6.1.8 Assurez-vous que les permissions sur /etc/group- sont configurées (Automatisé)
- 6.1.9 Assurez-vous que les permissions sur /etc/gshadow sont configurées (Automatisé)
6.1.10 Assurez-vous qu'aucun fichier n'est accessible en écriture par le monde (Automatisé)6.1.11 Assurez-vous qu'aucun fichier ou répertoire non possédé n'existe (Automatisé)6.1.12 Assurez-vous qu'aucun fichier ou répertoire non groupé n'existe (Automatisé)6.1.13 Auditer les exécutables SUID (Manuel)6.1.14 Auditer les exécutables SGID (Manuel)
- 6.2 Paramètres Utilisateur et Groupe
- 6.2.1 Assurez-vous que les champs de mot de passe ne sont pas vides (Automatisé)
- 6.2.2 Assurez-vous que root est le seul compte UID 0 (Automatisé)
- 6.2.3 Assurez-vous que l'intégrité du chemin root est maintenue (Automatisé)
6.2.4 Assurez-vous que tous les répertoires personnels des utilisateurs existent (Automatisé)- 6.2.5 Assurez-vous que les permissions des répertoires personnels des utilisateurs sont de 750 ou plus restrictives (Automatisé)
6.2.6 Assurez-vous que les utilisateurs possèdent leurs répertoires personnels (Automatisé)6.2.7 Assurez-vous que les fichiers dot des utilisateurs ne sont pas accessibles en écriture par le groupe ou le monde - (Automatisé)- 6.2.8 Assurez-vous qu'aucun utilisateur n'a de fichiers .forward (Automatisé)
- 6.2.9 Assurez-vous qu'aucun utilisateur n'a de fichiers .netrc (Automatisé)
6.2.10 Assurez-vous que les fichiers .netrc des utilisateurs ne sont pas accessibles par le groupe ou le monde - (Automatisé)- 6.2.11 Assurez-vous qu'aucun utilisateur n'a de fichiers .rhosts (Automatisé)
6.2.12 Assurez-vous que tous les groupes dans /etc/passwd existent dans /etc/group - (Automatisé)6.2.13 Assurez-vous qu'aucun UID dupliqué n'existe (Automatisé)6.2.14 Assurez-vous qu'aucun GID dupliqué n'existe (Automatisé)6.2.15 Assurez-vous qu'aucun nom d'utilisateur dupliqué n'existe (Automatisé)6.2.16 Assurez-vous qu'aucun nom de groupe dupliqué n'existe (Automatisé)6.2.17 Assurez-vous que le groupe shadow est vide (Automatisé)
Licence
MIT
Autres
Ce dépôt provient d'un travail réalisé par MindPointGroup
Ansible role to apply Ubuntu 20.04 CIS Baseline
ansible-galaxy install florianutz.ubuntu2004_cis