10 mesures de hardening pour protéger vos systèmes informatiques Linux

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.

Vous souhaitez déployer ces mesures sur votre infrastructure ? 

5. Activez les logs, première étape vers la conformité

La gestion des logs est essentielle dans une démarche de hardening, notamment pour permettre de procéder à des analyses post-mortem après un dysfonctionnement. Assurez-vous que les outils auditd et journald soient bien activés et configurés, et que les logs qu’ils génèrent soient bien compressés. A minima, vérifiez que auditd est bien actif (systemctl status auditd) et que les règles d’audit couvrent les accès aux fichiers sensibles comme /etc/passwd ou /etc/sudoers Auditd génère des logs à propos des événements qui ont lieu dans le système (date, heure, type, nombre de tentatives d’accès, imports, exports…). Journald collecte et centralise l’ensemble des logs d’un système.

6. Renforcez la sécurité et la configuration des accès SSH

Le protocole Secure Shell (SSH) est une méthode permettant d’envoyer de façon sécurisée des commandes à un ordinateur sur un réseau non sécurisé. Assurez-vous  que ce service sensible soit correctement configuré. L’objectif est :
  • 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.
L’ensemble de ces paramètres se configurent dans le fichier /etc/ssh/sshd_config. Des directives clés à vérifier : PermitRootLogin no, PasswordAuthentication no, Ciphers aes128-ctr,aes192-ctr,aes256-ctr. Empêchez aussi le transfert des accès d’un environnement à un autre, et provoquez une déconnexion automatique en cas d’erreurs de connexion répétées.

7. Contrôlez l'escalade de privilèges

Les droits des utilisateurs doivent par défaut être attribués en respectant le principe du moindre privilège. Pourtant, il est parfois nécessaire de donner des droits d’administrateur de façon temporaire. L’outil sudo permet à l’administrateur de donner temporairement des privilèges à d’autres utilisateurs pour exécuter des commandes avec des droits suffisants. Cette mesure vise à garantir que le paquet sudo soit correctement installé et configuré, et à s’assurer que les utilisateurs qui l’utilisent disposent des autorisations et des restrictions appropriées. Elle définit également une durée maximale d’utilisation de cette commande et trace toutes les actions effectuées avec ses 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.

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.

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.

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.

Découvrez comment la plateforme Rudder peut vous aider à automatiser facilement des processus complexes de configuration et assurer la sécurité de vos systèmes à grande échelle

Partager ce post

Retour en haut
Rudder robot named Ruddy makes an announcement.

Rudder 9.1 : moins de bruit, plus de contrôle. La conformité, sans friction.

Détails du module Security management

Ce module a pour objectif de garantir une sécurité et une conformité optimales pour la gestion de votre infrastructure, avec des fonctionnalités pour les entreprises telles que :

Pour en savoir plus sur ce module, consultez la page gestion de la sécurité.

Détails du module configuration & patch management

Ce module vise une performance et une fiabilité optimales pour la gestion de votre infrastructure et de vos patchs, avec des fonctionnalités pour les entreprises telles que :

Pour en savoir plus sur ce module, consultez la page gestion des configurations et des patchs.