Les cybermenaces ne cessent d’augmenter et de se sophistiquer au fil des ans. Protéger vos systèmes n’a jamais été aussi important. Le hardening Linux, ou durcissement des systèmes, est le processus qui consiste à réduire la surface d’attaque du système en appliquant des configurations de sécurité. L’objectif : minimiser les failles et points d’entrée que les cybercriminels pourraient exploiter.
De nombreux référentiels fournissent des recommandations et actions de base. Mais il existe des différences selon le référentiel selon le contexte :
- Les CIS Benchmarks (Center for Internet Security) proposent des recommandations techniques détaillées largement adoptées dans le secteur privé et publique.
- Les STIG (Security Technical Implementation Guides) sont produits par la DISA (Defense Information Systems Agency) et s’adressent principalement aux environnements gouvernementaux et militaires américains.
- Le NIST SP 800-123 fournit un cadre plus générique pour la sécurisation des serveurs, utilisable quel que soit l’OS.
Tous ont en commun de proposer des recommandations spécifiques à chaque système d’exploitation, ce qui les rend impossibles de les appliquer à l’intégralité d’un parc hétérogène.
Difficile donc de s’y retrouver et de savoir sur quoi s’appuyer. Alors, quelles règles de hardening essentielles vous faut-il privilégier ?
1. Contrôlez la sécurité et limitez les droits applicatifs
C’est une mesure de base à mettre en place puisqu’elle s’applique par des fonctionnalités natives dans les différents OS Linux ou Microsoft Windows, qui permettent de contrôler les droits et permissions des applications.
Concrètement, il s’agit d’activer et de configurer des modules comme AppArmor (pour les systèmes Debian) ou SELinux (pour les systèmes Red Hat). Ces modules de sécurité intégrés au noyau Linux permettent un contrôle granulaire des accès en définissant des droits par application (telles que l’accès réseau ou les permissions de lecture et d’écriture de fichiers) et en leur associant un profil de sécurité qui restreint les accès à l’OS.
2. Réduisez la surface d’attaque par sécurité, désactivez les services non essentiels
Tout logiciel ou composant installé sur un OS augmente la surface potentielle d’attaque. Cette mesure vise donc à limiter, désactiver ou supprimer les accès (dans la mesure du possible) sur vos serveurs via des services non essentiels.
Ce type de services peut par exemple concerner les interfaces graphiques, les serveurs d’impression, mail ou web qui permettraient d’exfiltrer des informations.
3. Pour une configuration sécurisée supprimez les clients applicatifs à risque
Certains applicatifs, comme les clients FTP (File Transfer Protocol), Telnet ou RSH (Remote SHell) permettent l’échange de fichiers et de données à travers le réseau.
Selon les applications, le trafic peut transiter en clair, ce qui les rend très vulnérables aux attaques par reniflage (ou sniffing). Assurez-vous qu’aucun client de ce type ne fonctionne sur la machine s’il n’est pas utile. Vous pouvez bloquer ces applications afin de désactiver tout accès au système par leur biais, et garantir que vos données ne soient pas compromises.
4. Auditez vos configurations serveurs
La configuration matérielle et réseau de vos serveurs est souvent négligée dans les démarches de hardening. Pourtant, elle constitue un vecteur d’attaque à part entière. Faites en sorte de protéger l’accès à l’activité du CPU de vos machines pour empêcher les attaques en side channel. Elles consistent à observer le comportement du système face à certaines actions utilisateur (en monitorant l’activité du CPU notamment) pour en extraire des informations. Enfin, assurez-vous que vos serveurs soient programmés pour s’éteindre en cas de problème identifié. Sur ces éléments, la plateforme Rudder se révèle d’une grande aide avec son approche d’audit et de remédiation en continu.
5. Activez les logs, première étape vers la conformité
6. Renforcez la sécurité et la configuration des accès SSH
- que l’on ne puisse pas s’y connecter en tant qu’administrateur,
- que la connexion ne soit possible qu’à l’aide de clés et non de mots de passe,
- que ces clés soient suffisamment sécurisées.
7. Contrôlez l'escalade de privilèges
8. Contrôlez la configuration des utilisateurs et groupes locaux
Contrôlez les permissions et droits des utilisateurs, ainsi que l’accès aux informations qui y sont liées, comme le fichier stockant les mots de passe des utilisateurs. Veillez à ce que ce fichier soit chiffré et lisible seulement par l’administrateur.
Cette mesure permet d’éviter les doublons d’utilisateurs et d’attribuer un identifiant unique à chaque utilisateur afin de renforcer la traçabilité des actions. De plus, elle vérifie que la machine n’a qu’un seul super utilisateur et que les groupes d’utilisateurs soient correctement paramétrés.
Inscrivez-vous à notre newsletter pour rester informé de nos actualités et de la sécurisation des infrastructures :
9. Appliquez une politique de sécurité des mots de passes utilisateurs locaux
Au-delà de la gestion des utilisateurs eux-mêmes, il est nécessaire de définir des contraintes d’authentification sécurisée des utilisateurs.
Vérifiez que les utilisateurs ne puissent pas avoir de mots de passe vides et exigez que les mots de passe choisis respectent un protocole spécifique (nombre de caractères minimal, utilisation de caractères non alphanumériques, impossibilité de réutiliser d’anciens mots de passe, etc.). Veillez enfin à ce que l’accès soit bloqué en cas de tentatives trop nombreuses avec des mots de passe erronés.
10. Vérifiez les mises à jour applicatives
Dans la mesure où des vulnérabilités sont régulièrement découvertes et rendues publiques, ne pas appliquer les correctifs et mises à jour disponibles rapidement accroît les risques d’attaques. Les nombreuses attaques par malware après la publication de correctifs montrent la nécessité d’une approche proactive.
Cette mesure vise donc à surveiller en permanence que les systèmes sont bien à jour par rapport aux versions disponibles. Bien que des tests de non-régression soient nécessaires avant d’installer des mises à jour, retarder en excès ces actualisations est bien souvent une stratégie dangereuse.
C’est précisément pour répondre à ce besoin que Rudder propose un module de patch management permettant de détecter les mises à jour disponibles et d’automatiser les campagnes de correctifs — sans jamais perdre la main sur les tests de non-régression.
Questions fréquentes sur le hardening Linux
Qu'est-ce que le hardening Linux ?
Le hardening Linux est le processus de réduction de la surface d’attaque d’un système Linux. Il consiste à appliquer des configurations de sécurité, désactiver les services inutiles, renforcer les contrôles d’accès et maintenir les systèmes à jour.
Le hardening Linux suffit-il à protéger un système ?
Non, le hardening est une mesure préventive qui réduit la surface d’attaque, mais il doit s’inscrire dans une stratégie de sécurité en profondeur incluant la surveillance des logs, la gestion des patches, et la détection d’intrusion.
À quelle fréquence faut-il appliquer les règles de hardening ?
Les configurations peuvent dériver au fil du temps (mises à jour, changements de configuration, nouveaux utilisateurs). Il est recommandé de vérifier la conformité en continu.
Quels outils permettent d'automatiser le hardening Linux ?
Plusieurs outils permettent d’automatiser le hardening : Ansible, Chef ou Puppet pour le déploiement de configurations ; OpenSCAP pour l’audit de conformité CIS/STIG. Des solutions comme Rudder combinent audit, remédiation automatique et suivi de conformité en continu.
Contrôlez et automatiser le hardening via un seul outil
Garantir que ces 10 mesures restent correctement configurées en continu, et donc ne dérivent pas, sur l’ensemble de vos systèmes Linux est un travail exigeant et chronophage. C’est d’autant plus vrai dans des environnements soumis à des exigences de conformité (CIS, NIST, NIS2). » Le meilleur moyen d’y parvenir est d’utiliser un outil qui gère et sécurise l’ensemble de votre infrastructure.
Rudder automatise ce processus en déployant ces règles sur vos systèmes et en veillant aussi à ce qu’elles soient appliquées en continu de l’audit à la remédiation.
Vous ne souhaitez pas implémenter ces mesures vous-même, confiez cela à notre solution Policy and benchmark compliance. Celle-ci assure en continu la conformité à vos standards et à vos référentiels de sécurité (CIS Benchmarks, NIST, NIS2…). Rudder ne se contente pas d’auditer, mais remédie également automatiquement lorsque cela est nécessaire. Et ce n’est pas tout : nous proposons également un module de patch management en souscription. Celui-ci permet d’identifier les mises à jour disponibles et d’automatiser les campagnes de patchs pour mettre à jour vos systèmes.