Aller au contenu principal

SELinux

SELinux améliore la sécurité des systèmes Linux en intégrant une politique d'accès obligatoire (Mandatory Access Control) à l'ensemble du système, ou à certains sous-systèmes critiques.

Historique

Issu d'un projet de recherche universitaire repris par la NSA, ce module de sécurité est incorporé au noyau Linux depuis 2003. Il est intégré à la distribution Red Hat depuis sa version 4, parue en 2005, et donc aussi aux distributions CentOS, et Fedora.

Son utilisation à l'origine était assez difficile, aussi la majorité des administrateurs Linux avaient pour règle de le désactiver une fois l'installation terminée.

Protection des services

12 ans plus tard, la documentation et les outils ont évolué, et conserver SELinux actif sur un serveur est relativement simple. Je le recommande fortement pour tout serveur exposé à Internet. Ce billet est d'ailleurs une réaction au déploiement d'un nouveau serveur web par un de mes clients, et au constat que l'administrateur a choisi de désactiver SELinux.

Dans la politique ciblée (targeted), qui est la politique par défaut d'une installation Red Hat, seuls certains services sont soumis à SELinux, par exemple le serveur Web (Apache ou nginx).

En plus des droits Unix classiques, SELinux peut alors empêcher Apache d'envoyer des mails, ou de se connecter vers d'autres ordinateurs. Ainsi, en cas de compromission de votre serveur, les dégâts seront plus limités.

Pour en savoir plus

SysNux a réalisé une présentation sur SELinux dans le cadre des conférences organisées par le Club de la Sécurité Informatique Régionale de Tahiti (CLUSIR). Le support de la conférence est disponible ici (licence CC BY-SA).

Conclusion

Le conseil du jour est de conserver SELinux activé sur tous vos serveurs exposés à Internet. Utilisez les outils à votre disposition pour créer -si nécessaire- des règles spécifiques. Vous participerez ainsi à rendre Internet plus sûr.