- Niveau : M
- Titre : Désactiver les comptes utilisateur inutilisés
- Description : Les comptes utilisateur inutilisés doivent être désactivés au niveau du système.
- Niveau : M
- Titre : Utiliser des mots de passe robustes
- Description : Il est conseillé d’appliquer les recommandations de la note technique « Recommandations relatives à l’authentification multifacteur et aux mots de passe » . Ce mot de passe doit être unique et propre à chaque machine.
- Objectif : Renforcer la sécurité de l'authentification en imposant une politique de mot de passe. L’objectif est notamment d’empêcher l’utilisation de mots de passe trop courts ou trop simples et de limiter les risques liés aux attaques par dictionnaire ou par devinette.
- Lynis : AUTH-9262 | Installez un module PAM pour tester la robustesse des mots de passe, tel que pam_cracklib, pam_passwdqc ou libpam-passwdqc
- Sources :
- ANSSI — Recommandations de configuration d’un système GNU/Linux, recommandation
- Résultat de l’audit Lynis initial : recommandation relative à l’installation d’un module PAM de contrôle de la robustesse des mots de passe.
- Configuration Debian : /etc/pam.d/common-password et /etc/security/pwquality.conf.
- Commentaires : L’état initial du système utilisait pam_unix avec yescrypt, mais aucun module pam_pwquality ou pam_passwdqc n’était installé. La configuration de /etc/login.defs indiquait également PASS_MAX_DAYS 99999, PASS_MIN_DAYS 0 et PASS_WARN_AGE 7. Une politique de qualité a ensuite été définie avec une longueur minimale de 16 caractères, au moins trois classes de caractères, une vérification par dictionnaire, une vérification du nom d’utilisateur et l'application des contrôles également au compte root. Un test avec la commande passwd permet de vérifier qu’un mot de passe ne respectant pas la politique est refusé. Un nouvel audit Lynis est ensuite réalisé afin de mesurer l’impact de cette mesure.
- Procédures :
sudo apt install libpam-pwquality
cp /etc/security/pwquality.conf /etc/security/pwquality.conf.bak
nano etc/security/pwquality.conf
avec l'ajout de ces paramètres :
minlen = 16
minclass = 3
difok = 4
maxrepeat = 3
dictcheck = 1
usercheck = 1
enforcing = 1
enforce_for_root
- Niveau : M
- Titre : Éviter les fichiers ou répertoires sans utilisateur ou sans groupe connu
- Description : Les fichiers ou répertoires sans utilisateur ou groupe identifiable par le système doivent être analysés et éventuellement corrigés afin d’avoir un propriétaire ou un groupe connu du système.
- Niveau : M
- Titre : Activer le sticky bit sur les répertoires inscriptibles
- Description : Tous les répertoires accessibles en écriture par tous doivent avoir le sticky bit positionné.
- Niveau : M
- Titre : Éviter l'usage d'exécutables avec les droits spéciaux setuid et setgid
- Description : Seuls les logiciels de confiance issus, par exemple, de la distribution ou de dépôts officiels de paquets et spécifiquement conçus pour être utilisés avec les droits spéciaux setuid ou setgid peuvent avoir ces droits positionnés.
-
Niveau : M
-
Titre : N'installer que les paquets strictement nécessaires
-
Description : Le choix des paquets doit conduire à une installation aussi minimale que possible, se limitant à ne sélectionner que ceux qui sont nécessaires au besoin.
-
Objectifs : Réduire la surface d’attaque du système en limitant le nombre de logiciels et de composants installés. Un paquet inutile peut contenir des vulnérabilités ou introduire des fonctionnalités qui ne sont pas nécessaires au fonctionnement de la machine.
-
Lynis : Aucun avertissement Lynis observé ne correspond directement à la recommandation R58. Lynis réalise cependant plusieurs contrôles de la famille PKGS concernant la gestion des paquets. La conformité à R58 est donc principalement vérifiée manuellement en réalisant un inventaire des paquets installés et en recherchant les composants inutiles.
-
Sources :
- ANSSI — Recommandations de configuration d’un système GNU/Linux, version 2.0.
- Audit Lynis réalisé sur la machine Debian.
-
Commentaires :
La mesure est conservée et appliquée.
L’inventaire réalisé avec dpkg-query indique 402 paquets installés.
La recherche de composants tels qu’Apache, Nginx, CUPS ou des environnements graphiques n’a retourné que certaines bibliothèques, notamment libcups2t64 et libxml2. Leur présence ne signifie pas que les services CUPS ou GNOME sont installés.
La commande apt autoremove --dry-run n’a identifié aucun paquet pouvant être automatiquement supprimé.
Le paquet inetutils-telnet a cependant été identifié comme potentiellement inutile. L’administration distante de la machine étant réalisée avec SSH, l’utilisation de Telnet n’est pas nécessaire. Sa suppression a donc été étudiée afin de limiter les logiciels présents sur le système.
Les services identifiés lors de l’inventaire ne sont pas traités dans cette recommandation, car leur désactivation relève principalement de la recommandation R62 — Désactiver les services non nécessaires.
dpkg-query -W -f='${binary:Package}\n' | wc -l
apt-mark showmanual
dpkg -l | grep -Ei 'apache2|nginx|cups|xserver|gnome|kde|xfce|lxde|mate'
apt autoremove --dry-run
Le paquet suivant a été identifié dans la liste des paquets installés :
inetutils-telnet
La machine étant administrée à distance avec SSH, le client Telnet n’est pas nécessaire.
Avant suppression, une simulation est réalisée :
apt remove --dry-run inetutils-telnet
Cette étape permet de vérifier les conséquences de la suppression avant de l’appliquer.
apt remove inetutils-telnet
dpkg -l | grep inetutils-telnet
- Niveau : M
- Titre : Utiliser des dépôts de paquets de confiance
- Description : Seuls les dépôts internes à l’organisation ou officiels (de la distribution ou de d’un éditeur) doivent être utilisés.
- Niveau : M
- Titre : Effectuer des mises à jour régulières
- Description : Il est recommandé d’avoir une procédure de mise à jour de sécurité régulière et réactive.
- Niveau : M
- Titre : Désactiver les services non nécessaires
- Description : Seuls les composants strictement nécessaires au service rendu par le système doivent être installés. Tout service, et particulièrement ceux en écoute active sur le réseau, est un élément sensible. Seuls ceux connus et requis pour le fonctionnement et la maintenance doivent être installés. Il est recommandé de désinstaller les services dont la présence ne peut être justifiée ou de les désactiver si leur désinstallation n’est pas possible.
- Niveau : M
- Titre : Protéger les mots de passe stockés
- Description : Tout mot de passe doit être protégé par des mécanismes cryptographiques évitant de les exposer en clair à un attaquant. Pour cela, se référer à la section 4.6 Stockage de mots de passe du guide Recommandations relatives à l’authentification multifacteur et aux mots de passe .
- Niveau : M
- Titre : Réduire la surface d'attaque des services réseau
- Description : Tous les services réseau doivent être en écoute sur les interfaces réseau adéquates.