Les tâches techniques sont maintenant terminées, et vous avez pu constituer une liste de recommandations. Il s'agit dorénavant d'analyser cette liste et de structurer le rapport d'audit. Dans ce chapitre, je vous invite à reprendre les recommandations une à une et à les trier en fonction du besoin exprimé dans la première partie.
Résumé de toutes les recommandations
Ici, je vous propose simplement de résumer toutes les recommandations par catégorie dans un tableau, en les numérotant :
PARTIE 2 : PROCESSUS DE DÉMARRAGE
N° | Recommandation | Type | Principe |
---|---|---|---|
BOO.1 | Passer les droits sur l'arborescence /etc/grub.d à 700 | CRITICAL | Moindre privilège |
BOO.2 | Créer un utilisateur et son mot de passe chiffré dans le fichier 01_users afin de protéger l'accès au shell de Grub par une authentification | CRITICAL | Moindre privilège |
BOO.3 | Passer l'option iommu=force au noyau lors du démarrage de Linux | WARNING | Minimisation |
BOO.4 | Bloquer le chargement de modules supplémentaires via la sysctl kernel.modules_disabled=1 | WARNING | Minimisation |
BOO.5 | Vider le contenu du fichier /etc/securetty afin de bloquer toute connexion avec l'utilisateur root depuis une console virtuelle | CRITICAL | Défense en profondeur |
BOO.6 | Augmenter l'intervalle minimal de temps entre chaque tentative de connexion sur le module pam_faildelay.so du fichier /etc/pam.d/system-auth à 5 ou 10 secondes afin de ralentir les attaques par dictionnaire | WARNING | Défense en profondeur |
BOO.7 | Désactiver la combinaison Ctrl+Alt+Supp sur le serveur pour prévenir tout redémarrage depuis un accès physique à la machine | CRITICAL | Défense en profondeur |
BOO.8 | Désactiver les Magic System Request Keys | WARNING | Défense en profondeur |
BOO.9 | Supprimer les services inutiles démarrés automatiquement avec le serveur en passant par la cible par défaut | CRITICAL | Minimisation |
BOO.10 | Supprimer les services inutiles démarrés automatiquement avec le serveur en passant par les dépendances de la cible par défaut | WARNING | Minimisation |
PARTIE 3 : SYSTÈME
N° | Recommandation | Type | Principe |
---|---|---|---|
SYS.1 | Vérifier que le CPU dispose bien des flags PAE et NX | CRITICAL | Défense en profondeur |
SYS.2 | Vérifier la présence d'un minimum de mémoire SWAP sur le système | WARNING | Défense en profondeur |
SYS.3 | Vérifier le chiffrement des partitions sensibles du système | CRITICAL | Défense en profondeur |
SYS.4 | Vérifier que le partitionnement isole et protège les composants du système | CRITICAL | Défense en profondeur |
SYS.5 | Vérifier les options des points de montage des systèmes de fichiers | CRITICAL | Moindre privilège |
SYS.6 | Vérifier la protection de la partition /boot | CRITICAL | Moindre privilège |
SYS.7 | Vérifier que les mots de passe du module PAM sont en mode shadow | CRITICAL | Défense en profondeur |
SYS.8 | Vérifier la robustesse des mots de passe avec le module pam_pwquality | WARNING | Défense en profondeur |
SYS.9 | Vérifier que les comptes utilisateurs qui peuvent se connecter ont pour obligation de changer leur mot de passe régulièrement | CRITICAL | Défense en profondeur |
SYS.10 | Vérifier les valeurs par défaut des attributs des mots de passe pour chaque compte utilisateur dans /etc/login.defs | WARNING | Défense en profondeur |
SYS.11 | Examiner la liste des fichiers avec les droits spéciaux setuid, setgid et sticky bit | CRITICAL | Moindre privilège |
SYS.12 | Vérifier la présence d'un groupe d'utilisateurs identifié comme administrateur de la machine et disposant des droits de changement de privilèges par l'intermédiaire d'un processus type sudo | CRITICAL | Moindre privilège |
SYS.13 | Vérifier que la commande sudo peut être exécutée uniquement par le groupe administrateur (+ root) | CRITICAL | Moindre privilège |
SYS.14 | Vérifier que le fichier de configuration /etc/sudoers contient la déclaration des commandes nécessaires au maintien du système pour les utilisateurs du groupe administrateur | CRITICAL | Moindre privilège |
SYS.15 | Vérifier que les packages installés sur le système sont signés et sûrs | CRITICAL | Défense en profondeur |
SYS.16 | Vérifier que le plugin gérant les mises à jour de sécurité des packages de la distribution est bien installé | CRITICAL | Défense en profondeur |
SYS.17 | Vérifier la planification régulière d'une tâche automatique pour mettre à jour les packages corrigés pour raisons de sécurité | CRITICAL | Défense en profondeur |
PARTIE 4 : SERVICES
N° | Recommandation | Type | Principe |
---|---|---|---|
SER.1 | Vérifier le durcissement de la configuration des services lancés | CRITICAL | Défense en profondeur |
SER.2 | Vérifier les comptes système associés aux services | CRITICAL | Moindre privilège |
SER.3 | Vérifier les droits du système de fichiers associé aux comptes système exécutant des services | CRITICAL | Moindre privilège |
SER.4 | Vérifier qu'il est possible de virtualiser l'architecture applicative du serveur | WARNING | Défense en profondeur |
SER.5 | Vérifier que le chrootage est utilisé sur les services lancés dans la mesure du possible | CRITICAL | Défense en profondeur |
SER.6 | Vérifier la présence des principaux fichiers de trace du système et leur droit d'accès | CRITICAL | Moindre privilège |
SER.7 | Vérifier le cloisonnement du service Syslog | CRITICAL | Défense en profondeur |
SER.8 | Vérifier le processus de supervision des fichiers de trace | WARNING | Défense en profondeur |
PARTIE 5 : RÉSEAU
N° | Recommandation | Type | Principe |
---|---|---|---|
NET.1 | Examiner la liste des sockets et ports ouverts sur le réseau | CRITICAL | Minimisation |
NET.2 | Vérifier que les services qui ouvrent des ports inutiles sont désactivés | CRITICAL | Minimisation |
NET.3 | Vérifier que les services qui ouvrant des ports sur une interface externe sont pertinents | CRITICAL | Défense en profondeur |
NET.4 | Vérifier que les ports par défaut des services ont été changés dans la mesure du possible | WARNING | Défense en en profondeur |
NET.5 | Vérifier que les TCP Wrappers sont configurés pour les services réseau compatibles | CRITICAL | Défense en profondeur |
NET.6 | Vérifier qu'il est possible de rendre les services réseau compatibles avec les TCP Wrappers | WARNING | Défense en profondeur |
NET.7 | Vérifier qu'il est possible d'accéder au firewall Netfilter par le noyau sans la contrainte module | WARNING | Minimisation |
NET.8 | Vérifier que les règles Netfilter sont bien positionnées | CRITICAL | Défense en profondeur |
NET.9 | Vérifier que les règles Netfilter par défaut sont définies dans le fichier de configuration | CRITICAL | Défense en profondeur |
NET.10 | Vérifier le positionnement des sysctl réseau communes du noyau dans le fichier /etc/sysctl.conf | CRITICAL | Défense en profondeur |
NET.11 | Vérifier la version du protocole SSH supporté par le service exploité sur le serveur | CRITICAL | Défense en profondeur |
NET.12 | Examiner la directive PermitRootLogin du service SSH | CRITICAL | Moindre privilège |
NET.13 | Vérifier le port d'écoute du service SSH | CRITICAL | Défense en profondeur |
NET.14 | Vérifier le durcissement avancé du service SSH | WARNING | Défense en profondeur |
Triez les actions prioritaires en fonction du besoin
Prenons l'exemple des recommandations de la catégorie BOO, qui concernent le processus de démarrage. Le serveur étant hébergé à distance, il peut être difficile de réaliser toutes ces recommandations. C'est d'autant plus difficile que, pour suivre certaines d'entre elles, vous devez forcément être physiquement devant la machine (par exemple, pour bloquer les options de démarrage Grub).
Enfin, il faut aussi différencier les actions selon leur type (priorité) : « CRITICAL », à faire quel que soit le contexte, et « WARNING », moins sensibles voire optionnelles en fonction du contexte.
C'est pourquoi je vous propose de trier les recommandations selon 4 axes :
dans le contexte actuel (sur le serveur hébergé à l'extérieur) :
CRITICAL ;
WARNING ;
lorsque le serveur sera sur le réseau d'entreprise :
CRITICAL ;
WARNING.
Essayons de réaliser ce tri avec les recommandations de la catégorie BOO :
1. À FAIRE DANS LE CONTEXTE ACTUEL
N° | Type | Commentaires |
---|---|---|
BOO.1 | CRITICAL | Aucune incidence sur le fonctionnement actuel |
BOO.5 | CRITICAL | Aucune incidence sur le fonctionnement actuel |
BOO.9 | CRITICAL | Aucune incidence sur le fonctionnement actuel |
BOO.4 | WARNING | Aucune incidence sur le fonctionnement actuel |
BOO.6 | WARNING | Aucune incidence sur le fonctionnement actuel |
BOO.10 | WARNING | Aucune incidence sur le fonctionnement actuel |
2. À FAIRE LORSQUE LE SERVEUR SERA SUR LE RÉSEAU D'ENTREPRISE
N° | Type | Commentaires |
---|---|---|
BOO.2 | CRITICAL | Peut être bloquant sans accès physique à la machine si le mot de passe n'est pas communiqué à l'hébergeur |
BOO.7 | CRITICAL | Peut bloquer les interventions de l'hébergeur, à effectuer lorsque la machine sera sur le réseau d'entreprise |
BOO.3 | WARNING | Sera effective seulement lors du prochain redémarrage. Plus sûr avec un accès direct à la machine |
BOO.8 | WARNING | Change le comportement de l'interaction clavier. À privilégier lorsque la machine est accessible physiquement |
Essayons maintenant de réaliser ce tri avec les recommandations SER :
1. À FAIRE DANS LE CONTEXTE ACTUEL
N° | Type | Commentaires |
---|---|---|
SER.1 | CRITICAL | Aucune incidence sur le fonctionnement actuel |
SER.2 | CRITICAL | Aucune incidence sur le fonctionnement actuel |
SER.3 | CRITICAL | Aucune incidence sur le fonctionnement actuel |
SER.5 | CRITICAL | Aucune incidence sur le fonctionnement actuel |
SER.6 | CRITICAL | Aucune incidence sur le fonctionnement actuel |
2. À FAIRE LORSQUE LE SERVEUR SERA SUR LE RÉSEAU D'ENTREPRISE
N° | Type | Commentaires |
---|---|---|
SER.7 | CRITICAL | Impose de conserver des flux de données uniquement sur le réseau de l'entreprise en raison du cloisonnement du service Syslog |
SER.4 | WARNING | Réalisable uniquement sur le réseau d'entreprise, sauf si l'hébergeur change sa prestation |
SER.8 | WARNING | Supervision envisageable à distance, à condition de ne pas faire transiter d'informations sensibles entre le serveur distant et le serveur de supervision de manière non sécurisée. À privilégier sur le réseau d'entreprise |
En résumé
Avec la méthodologie abordée ci-dessus, vous voilà prêt à analyser l'ensemble des recommandations. Vous savez maintenant comment vous allez présenter votre travail dans le rapport, en gardant bien à l'esprit le besoin initial. Mais avant de rédiger le document, il reste une dernière étape : croiser vos analyses avec un outil d'audit automatique. Rendez-vous dans le prochain chapitre de ce cours pour installer et exécuter Lynis !