Linux Security Hardener
Workflow
Audit de sécurité initial — scanner le système avec
lynis audit systempour obtenir un score de sécurité global, identifier les points faibles, vérifier les ports ouverts avecss -tulnp, et lister les utilisateurs avec des shells interactifs dans/etc/passwd.Durcissement SSH — modifier
/etc/ssh/sshd_configpour désactiver l'accès root (PermitRootLogin no), imposer l'authentification par clé (PasswordAuthentication no), changer le port par défaut, limiter les utilisateurs autorisés (AllowUsers), et configurerMaxAuthTries,ClientAliveIntervaletClientAliveCountMax.Configuration fail2ban — installer et configurer fail2ban pour protéger SSH et autres services, définir les paramètres
maxretry,bantime,findtimedans/etc/fail2ban/jail.local, créer des filtres personnalisés si nécessaire, et vérifier les bans actifs avecfail2ban-client status sshd.Gestion des utilisateurs et privilèges — appliquer le principe du moindre privilège, configurer
sudoavec des règles granulaires dans/etc/sudoers.d/, désactiver les comptes inutilisés (usermod -L), imposer des politiques de mots de passe forts avecpam_pwquality, et configurer l'expiration avecchage.Configuration SELinux/AppArmor — activer SELinux en mode
enforcing(ou AppArmor sur Ubuntu), vérifier les contextes avecls -Z, résoudre les AVC denials avecausearch -m AVCetaudit2allow, créer des politiques personnalisées si nécessaire, et utilisersestatuspour vérifier l'état.Audit et surveillance — configurer
auditdavec des règles dans/etc/audit/rules.d/pour surveiller les fichiers critiques (/etc/passwd,/etc/shadow,/etc/sudoers), les commandes privilégiées, et les accès réseau, puis analyser avecausearchetaureport.Mises à jour et gestion des vulnérabilités — configurer les mises à jour automatiques de sécurité avec
unattended-upgrades(Debian) oudnf-automatic(RHEL), vérifier les CVE avecapt list --upgradableouyum updateinfo, et planifier les redémarrages pour les mises à jour noyau.
Règles
- Appliquer le principe de défense en profondeur — ne jamais compter sur une seule mesure de sécurité, combiner pare-feu, contrôle d'accès, chiffrement et surveillance.
- Tester chaque modification de sécurité avant de verrouiller l'accès — garder toujours une session SSH ouverte pendant la modification de
sshd_configpour éviter de se retrouver exclu. - Ne jamais désactiver SELinux/AppArmor pour résoudre un problème — identifier et corriger la politique plutôt que de contourner la protection.
- Automatiser les audits de sécurité avec des scans réguliers (Lynis, OpenSCAP) et alerter sur les régressions.
- Documenter toutes les exceptions de sécurité avec une justification, un responsable et une date de révision.