Ce document a pour objet d’énoncer les principaux axes de durcissement à explorer au sein d’un système GNU/Linux. Ils viennent en complément de principes de base applicables à tout système d’exploitation comme par exemple l’application régulière des correctifs.
A minima, voici cinq recommandations :
- Réduire la surface d’attaque en :
mettant à jour régulièrement le système,
supprimant les logiciels inutiles,
limitant au juste besoin les services en écoute pour chaque interface réseau,
désactivant le chargement dynamique des modules,
appliquant le principe de moindre privilège aux logiciels,
utilisant un mécanisme de contrôle d’accès reposant sur les rôles (Tomoyo, AppArmor, ACL grsecurity),
adaptant le noyau (suppression des éléments inutiles, application des patchs de durcissements) au contexte d’emploi envisagé ;
- Appliquer le principe de défense en profondeur en :
utilisant un pare-feu local,
implémentant un schéma de partitionnement et les options de montage adaptés au contexte d’emploi,
positionnant les droits en lecture, écriture et exécution sur les fichiers après une analyse fine des besoins des utilisateurs mais aussi des services locaux. Une attention particulière sera portée sur les scripts lancés automatiquement,
chiffrant les données ;
- Réaliser un cloisonnement des éléments applicatifs selon leur sensibilité ;
- Rédiger et appliquer les procédures d’administration sécurisées (enregistrement des données de connexion des exploitants, supervision, mises à jour, sauvegardes, etc.) ;
- Définir et mettre en place une politique de journalisation d’événements cohérente :
distinguant différents niveaux de criticité selon leur impact sur la sécurité du système,
permettant la remontée d’alertes en fonction de ces niveaux.

- Recommandations de sécurité relatives à un système GNU/Linux