
This chef cookbook fournit de nombreuses configurations liées à la sécurité, offrant une protection de base complète.
[][1]
[
][2]
Ce cookbook fournit de nombreuses configurations liées à la sécurité, offrant une protection de base complète.
Il configure :
pam et pam_limitsIl ne :
['os-hardening']['components'][COMPONENT_NAME] - permet un contrôle fin des composants à exécuter via la recette par défaut. Voir ci-dessous pour plus de détails['os-hardening']['desktop']['enable'] = false
true s'il s'agit d'un système de bureau, c'est-à-dire Xorg, KDE/GNOME/Unity/etc['os-hardening']['network']['forwarding'] = false
true si ce système nécessite le forwarding de paquets (par ex. routeur), false sinon['os-hardening']['network']['ipv6']['enable'] = false['os-hardening']['network']['arp']['restricted'] = true
true si vous souhaitez restreindre le comportement d'annonce et de réponse à ARP, false sinon['os-hardening']['env']['extra_user_paths'] = []
ajoute des chemins supplémentaires à la variable PATH de l'utilisateur (vide par défaut).['os-hardening']['env']['umask'] = "027"['os-hardening']['env']['root_path'] = "/"
où root est monté['os-hardening']['auth']['pw_max_age'] = 60
âge maximal du mot de passe['os-hardening']['auth']['pw_min_age'] = 7
âge minimal du mot de passe (avant de permettre tout autre changement de mot de passe)['os-hardening']['auth']['pw_warn_age'] = 7
nombre de jours avant l'âge maximal du mot de passe pour avertir d'un changement
imminent['os-hardening']['auth']['uid_min'] = 1000
borne inférieure des UID attribués par useradd['os-hardening']['auth']['uid_max'] = 60000
borne supérieure des UID attribués par useradd['os-hardening']['auth']['gid_min'] = 1000
borne inférieure des GID attribués par groupadd['os-hardening']['auth']['gid_max'] = 60000
borne supérieure des GID attribués par groupadd['os-hardening']['auth']['retries'] = 5
le nombre maximal de tentatives d'authentification, avant que le compte ne soit verrouillé pendant un certain temps['os-hardening']['auth']['lockout_time'] = 600
temps en secondes qui doit s'écouler, si le compte a été verrouillé en raison de trop nombreuses tentatives d'authentification échouées['os-hardening']['auth']['timeout'] = 60
délai d'authentification en secondes, la connexion se terminera si ce temps est dépassé['os-hardening']['auth']['allow_homeless'] = false
true pour autoriser les utilisateurs sans répertoire personnel à se connecter['os-hardening']['auth']['pam']['passwdqc']['enable'] = true
true si vous souhaitez utiliser une vérification de mot de passe forte dans PAM avec passwdqc['os-hardening']['auth']['pam']['passwdqc']['options'] = "min=disabled,disabled,16,12,8"
défini sur toute ligne d'options (sous forme de chaîne) que vous souhaitez transmettre à passwdqc['os-hardening']['auth']['pam']['passwdqc']['template_cookbook'] = 'os-hardening'
défini sur le nom du cookbook à partir duquel le modèle est obtenu pour le fichier /usr/share/pam-configs/passwdqc['os-hardening']['auth']['pam']['tally2']['template_cookbook'] = 'os-hardening'
défini sur le nom du cookbook à partir duquel le modèle est obtenu pour le fichier /usr/share/pam-configs/tally2['os-hardening']['auth']['pam']['system-auth']['template_cookbook'] = 'os-hardening'
défini sur le nom du cookbook à partir duquel le modèle est obtenu pour le fichier /etc/pam.d/system-auth-ac['os-hardening']['security']['users']['allow'] = []
liste des actions qu'un utilisateur est autorisé à effectuer. Peut contenir : change_user['os-hardening']['security']['kernel']['enable_module_loading'] = true
true si vous souhaitez être autorisé à modifier les modules du noyau une fois le système en cours d'exécution (par ex. modprobe, rmmod)['os-hardening']['security']['kernel']['disable_filesystems'] = ['cramfs', 'freevxfs', 'jffs2', 'hfs', 'hfsplus', 'squashfs', 'udf', 'vfat']
liste des modules de systèmes de fichiers du noyau, qui sont mis sur liste noire pour le chargement (par ex. ils sont inutilisés et peuvent être désactivés). Définissez ceci sur [] pour éviter complètement cette mise sur liste noire['os-hardening']['security']['kernel']['enable_sysrq'] = false['os-hardening']['security']['kernel']['enable_core_dump'] = false['os-hardening']['security']['suid_sgid']['enforce'] = true
true si vous souhaitez réduire les bits SUID/SGID. Il existe déjà une liste d'éléments recherchés et configurés, mais vous pouvez également ajouter les vôtres['os-hardening']['security']['suid_sgid']['blacklist'] = []
une liste de chemins dont les bits SUID/SGID doivent être supprimés['os-hardening']['security']['suid_sgid']['whitelist'] = []
une liste de chemins dont les bits SUID/SGID ne doivent pas être modifiés['os-hardening']['security']['suid_sgid']['remove_from_unknown'] = false
true si vous souhaitez supprimer les bits SUID/SGID de tout fichier qui n'est pas explicitement configuré dans une blacklist. Cela fera rechercher à chaque exécution de Chef les bits SUID/SGID non configurés dans la liste noire par défaut et celle de l'utilisateur sur les systèmes de fichiers montés. S'il trouve un bit SUID/SGID, il sera supprimé, sauf si ce fichier figure dans votre whitelist.['os-hardening']['security']['suid_sgid']['dry_run_on_unknown'] = false
comme remove_from_unknown ci-dessus, sauf que les bits SUID/SGID ne sont pas supprimés.
Il recherchera toujours les bits SUID/SGID sur les systèmes de fichiers, mais il les affichera uniquement dans votre journal. Cette option n'est recommandée que lorsque vous configurez d'abord remove_from_unknown pour les bits SUID/SGID, afin de pouvoir voir les fichiers modifiés et apporter des ajustements à votre whitelist et votre blacklist.['os-hardening']['security']['packages']['clean'] = true
supprime les paquets présentant des problèmes connus.['os-hardening']['security']['packages']['list'] = ['xinetd','inetd','ypserv','telnet-server','rsh-server']
liste des paquets à supprimer, par défaut nous supprimons les paquets suivants :
['os-hardening']['security']['selinux_mode'] = 'unmanaged'
défini sur unmanaged si vous souhaitez laisser la configuration SELinux telle quelle. Défini sur enforcing pour appliquer ou permissive pour un SELinux permissif.