Pourquoi avons-nous besoin de SELinux?

14

Je n'ai pas pu me faire une idée précise de l'endroit où le SELinux a été utilisé et de ce qu'il économise de l'attaquant. J'ai parcouru le site Web de SELinux et j'ai lu les informations de base mais je ne comprends toujours pas SELinux. Pour le système Linux qui fournit le shell SSH, le frontal Apache, l'application Web basée sur les rôles, la base de données MySQL, la memcached, presque tous les systèmes sont protégés par mot de passe, alors pourquoi avons-nous besoin de SELinux?

Krish
la source

Réponses:

14

Vous pouvez voir SELinux comme un pare-feu d'appel système : une stratégie pour chaque application spécifie ce que l'application doit faire: le serveur de noms peut écouter sur le port 53, travailler avec certains fichiers de zone dans un répertoire particulier, envoyer syslog, .. ., mais cela n'a aucun sens d'essayer de travailler avec des fichiers dans / home, par exemple. L'application par SELinux d'une telle politique signifie qu'il sera beaucoup plus difficile pour une faiblesse du serveur de noms de se propager à d'autres parties du système.

Je trouve que SELinux offre une réelle valeur de sécurité. Mais s'il est certainement devenu plus facile de travailler au fil des ans, il s'agit - malheureusement - d'un système assez complexe. La bonne chose est que vous pouvez facilement le désactiver pour certains services, sans avoir à le désactiver pour l'ensemble du système. Trop d'administrateurs système (juniors?) Désactivent SELinux à tous les niveaux, dès qu'ils rencontrent le moindre problème avec un service - au lieu de le désactiver de manière sélective pour le service qui cause des problèmes.

Troels Arvin
la source
Curieux: "désactivez-le facilement pour certains services" comment?
Belmin Fernandez
man -k selinuxest un bon point de départ. En règle générale, il existe des sebools * _disable_trans qui peuvent être définis pour désactiver SELinux sur des services particuliers.
jgoldschrafe
2
@jgoldschrafe Et c'est aussi simple que cela.
Jürgen A. Erhard
1
"cela n'a aucun sens d'essayer de travailler avec des fichiers dans / home" - et vous ne pouvez pas restreindre l'accès du serveur DNS à ces fichiers avec des autorisations?
symcbean
8

Tous les problèmes de sécurité ne peuvent pas être prédits à l'avance. Si un attaquant parvient à exploiter une faiblesse, par exemple dans un module httpd tiers, il a alors accès aux mêmes fichiers que l'utilisateur httpd exécute. SELinux restreint davantage cela en les limitant aux actions et aux contextes de fichiers auxquels leur domaine SELinux a accès.

Ignacio Vazquez-Abrams
la source
2

Je pense que le terme contrôle d'accès obligatoire le résume très bien. SELinux vous offre un système plus sécurisé grâce à un noyau plus sécurisé, en grande partie grâce à une implémentation MAC.

user32302
la source
2

SELinux fait un bon travail pour exposer la complexité de tout un système Linux.
Un aspect intéressant de la sécurité est la question "que fait-elle?"
Eh bien, si cela fonctionne, vous ne le saurez peut-être jamais. Si vous utilisez un serveur Web et qu'il vient de rester actif, vous ne savez peut-être même pas que deux exploits ont même été tentés contre votre système.
Quant aux entreprises privées, je ne sais pas. S'ils ont besoin de l'intégrité que SELinux apporte à la table, alors ils le devraient.
En ce qui concerne le gouvernement, il existe des sources publiques (liste des projets gouvernementaux et autres) qui semblent indiquer que le MAC est utilisé, et peut-être assez largement. Les systèmes gouvernementaux, selon le déploiement et les informations détenues par un système, doivent répondre à certains critères avant d'être utilisés.
Au final, la sécurité, c'est vraiment la gestion des risques et le choix du bon niveau d'effort.
La sécurité est également un effort continu, pas quelque chose que vous allumez simplement.

Ansari
la source