Recommandations de configuration d’un système GNU/Linux
|
Centre Opérationnel de Sécurité et de Cyberdéfense
Recommandations de configuration d’un système GNU/Linux |
Sommaire
Gestion du document
|
Date de la première version : |
27/08/2018 |
|
Date de la dernière version : |
27/08/2018 |
|
Version : |
1.0 |
|
Source : |
SLCC : Service de Lutte Contre la Cybercriminalité |
Préambule
“Hardening” est un terme anglais signifiant “durcissement“. Appliqué à la sécurité d’un système d’information, il s’agit donc d’améliorer la sécurité d’un système, d’un réseau ou d’une application via le durcissement de sa configuration ou de sa structure. Plus précisément, le durcissement d’un système informatique consiste à le rendre plus résistant et mieux protégé face à des attaques ou des mauvaises utilisations. Cela peut s’effectuer à plusieurs niveaux sur un système, et cela est même nécessaire. Ainsi, le durcissement d’un système complet va passer par : – Le durcissement de la couche réseau – Le durcissement du système d’exploitation – Le durcissement des applications installées – Le durcissement des accès physiques – etc. Le durcissement est donc plus globalement le fait de réduire la surface d’attaque d’un système et de rendre plus résistants les points d’entrée nécessaires à sa bonne utilisation. La notion de surface d’attaque illustre bien l’intérêt du hardening. L’hardening ayant pour objectif principal de minimiser les risques en termes de sécurité suite à l’installation d’un système ou d’une application. Il existe des outils d’audit comme Lynis, openscap (serveurs Redhat) qui peuvent, par exemple, lister les fonctionnalités inutiles ou manquantes dans les fichiers de configuration et effectuer diverses autres préconisations de sécurité.
La première étape du durcissement d'un serveur GNU / Linux est de déterminer la fonction du serveur, ce qui permet d’identifier les services qui doivent être installés. Par exemple, si le serveur est utilisé comme serveur Web, vous devez installer uniquement les services adaptés (Apache, PHP, …). Les seules applications et services qui devraient être autorisés à s'exécuter sont ceux requis pour la tâche qu'il doit effectuer. Rien de plus ne devrait être installé.
L'installation de logiciels supplémentaires ou l'exécution de services supplémentaires crée des vulnérabilités. Par exemple, si vous exécutez Lightweight Directory Access Protocol (LDAP) sur un serveur pour des services d'annuaire, le système d'exploitation et LDAP doivent être à jour avec les correctifs de sécurité. Si un environnement LAMP (ou tout autre logiciel) a été installé sur ce serveur, il faut également le mettre à jour, même s’il n'est pas utilisé. Sa simple existence sur le serveur donne à un attaquant un autre vecteur d’attaque sur le système. L'installation d'un logiciel supplémentaire sur un serveur signifie que quelqu'un pourra tenter d’en détourner l’utilisation. L'utilisation du serveur pour des tâches autres que sa tâche principale détourne les ressources de son travail principal et l'expose à d’autres menaces potentielles.
Par conséquent, la sécurité du socle n’est pas acquise à l’installation, mais doit être construite dans le contexte d’utilisation de ce socle.
Pour assurer une protection efficace dans la durée, la sécurisation du socle doit être revue et mise à jour régulièrement (patches, évolution des menaces et des pratiques de durcissement, …).
A minima, l’ANSSI estime que les 5 recommandations suivantes doivent être appliquées.
Il s’agit de principes qui ont été appliqués aux préconisations que vous trouverez dans la suite de ce document.
Sécurité du Système Physique
Pour les serveurs physiques
Configurez le BIOS pour désactiver le démarrage à partir de CD/DVD et de périphériques externes. Activer le mot de passe du BIOS et protéger GRUB avec le mot de passe pour restreindre l'accès physique de votre système. Malgré cela, ces mesures servent de mécanismes de retardement car une personne non autorisée ayant un accès physique peut prendre la main sur votre système (moyennant qu’elle dispose de suffisamment de temps).
Pour les serveurs Virtuels
Les serveurs Virtuels sont également, dans une moindre mesure, vulnérables. Il est également important de protéger votre BIOS et GRUB
Il faut désactiver le mode single user qui permet de booter avec le user root sans mot de passe
Recommendations
- Supprimer le « mode recovery » dans GRUB
Editez le fichier /etc/default/grub et dé commenter la ligne ci-dessous :
GRUB_DISABLE_RECOVERY="true"
Mettre à jour GRUB
# update-grub
- Ajouter un mot de passe dans GRUB
# grub-mkpasswd-pbkdf2 Enter password:
Editez le fichier /etc/grub.d/00_header et ajoutez à la fin du fichier le contenu suivant :
cat << EOF set superusers="<user>" password_pbkdf2 <user> grub.pbkdf2.sha512.10000.DABE******* EOF
Mettre à jour GRUB
# update-grub
La commande pour les serveurs redhat est « grub2-mkpasswd-pbkdf2 » Les configurations des BIOS sont documentées dans les notices des constructeurs (physiques et virtuels).
