Aller au contenu

Hardening des systèmes

Appliquer les CIS Benchmarks, sécuriser SSH, le firewall local et automatiser la conformité de configuration.


CIS Benchmarks

Le Center for Internet Security publie des référentiels de durcissement pour la plupart des systèmes d'exploitation, bases de données et middleware. Ces benchmarks constituent la référence industrielle pour le hardening.

Niveaux de profil

Niveau Description Usage recommande
Level 1 Recommandations de base, impact opérationnel minimal Tous les systèmes de production
Level 2 Durcissement avance, peut impacter certains usages Systèmes sensibles, zones DMZ

Périmètre des benchmarks

Les benchmarks CIS couvrent entre autres : Linux (RHEL, Ubuntu, Debian), Windows Server, Docker, Kubernetes, AWS, Azure, GCP, PostgreSQL, nginx, Apache.

Les STIG (Security Technical Implémentation Guides) du DISA sont une alternative americaine, souvent plus stricte, utilisée dans les contextes gouvernementaux et defense.


Hardening OS

Desactivation des services inutiles

Réduire la surface d'attaque passe par la desactivation de tout service non nécessaire :

  • Lister les services actifs et identifier ceux qui ne sont pas requis
  • Désactiver via le gestionnaire de services (systemd, init)
  • Supprimer les paquets non nécessaires pour éviter les mises à jour inutiles

Parametres kernel (sysctl)

Les parametres sysctl permettent de durcir le comportement réseau et mémoire du noyau :

Parametre Effet sécurité
net.ipv4.ip_forward = 0 Désactivé le routage IP si non nécessaire
net.ipv4.conf.all.rp_filter = 1 Active le reverse path filtering
kernel.dmesg_restrict = 1 Limite l'accès aux logs kernel aux non-root
fs.suid_dumpable = 0 Désactivé les core dumps SUID
kernel.randomize_va_space = 2 Active l'ASLR complet

Permissions filesystem

  • Restreindre les permissions sur /etc/shadow, /etc/sudoers, les clés SSH
  • Monter /tmp et /var/tmp avec les options noexec,nosuid,nodev
  • Activer les audit rules pour surveiller les accès aux fichiers sensibles

Configuration SSH

SSH est un vecteur d'attaque majeur. Sa configuration par défaut doit être durcie systematiquement.

Parametre sshd_config Valeur recommandee Raison
PermitRootLogin no Empêche la connexion directe en root
PasswordAuthentication no Force l'usage des clés SSH
PubkeyAuthentication yes Authentification par clé uniquement
MaxAuthTries 3 Limite les tentatives de brute-force
LoginGraceTime 30 Réduit la fenêtre d'attaque
AllowUsers / AllowGroups Liste explicite Restreint les comptes autorises
  • Utiliser un port non standard réduit le bruit dans les logs (pas une mesure de sécurité seule)
  • Configurer fail2ban pour bannir les IPs après N échecs d'authentification
  • Activer le bastion host comme point d'entree unique pour les accès SSH en production

Firewall local

Un firewall local (iptables, nftables, ufw) constitue une defense complementaire au firewall réseau.

Principe du default deny

Politique par defaut : DROP (entrant et forward)
Regles : autoriser uniquement les flux legitimes identifies

Règles minimales type

Direction Source Destination Port Action
INPUT Bastion Serveur 22/tcp ACCEPT
INPUT LB interne Serveur 443/tcp ACCEPT
INPUT Monitoring Serveur 9100/tcp ACCEPT
INPUT any any any DROP
OUTPUT Serveur DNS interne 53/udp ACCEPT

Outils de hardening

Outil Type Usage Licence
Lynis Audit local Scan de conformité d'un système Linux en cours d'exécution Open source
OpenSCAP Audit / remédiation Évaluation et remédiation sur base de profils SCAP/XCCDF Open source
CIS-CAT Lite Audit Vérification des benchmarks CIS, rapport HTML Gratuit (limite)
CIS-CAT Pro Audit / reporting Version complète avec remédiation et historique Payant
Ansible hardening Remédiation Playbooks de hardening automatises (rôles communautaires) Open source
flowchart LR
    A["Baseline CIS"] --> B["Scan initial\nLynis / OpenSCAP"]
    B --> C["Rapport d'ecarts"]
    C --> D["Remediation\nAnsible / manuel"]
    D --> E["Re-scan de validation"]
    E --> F["Integration pipeline\nCI/CD"]
    F -->|Derive detectee| C

Automatiser le hardening avec Ansible

Les rôles Ansible devsec.hardening (OS hardening, SSH hardening) couvrent la majorité des recommandations CIS Level 1 et sont maintenus activement. Integrez-les dans vos playbooks de provisioning pour garantir que chaque nouveau serveur est harde des sa création.