Quantcast
Channel: Le blogue d'Infoglobe » Sécurité
Viewing all articles
Browse latest Browse all 5

Avancement important pour SELinux

$
0
0

SELinux vient de recevoir dans sa version de développement une fonctionnalité très attendue : les domaines permissifs.

Présentement, si vous voulez mettre un serveur d’hébergement en place avec un httpd, vsftpd et named, vous allez trouver une complication assez importante afin d’activer SELinux pour tous les services. En effect, httpd, avec tous les cgi et scripts que font les utilisateurs, peut devenir rapidement compliqué à maintenir avec SELinux en mode Enforcing.

Le premier réflexe sera alors de désactiver SELinux pour le services httpd à l’aide du boolean httpd_disable_trans (setsebool -P httpd_disable_trans 1). Cependant, en faisant cette manipulation, le process httpd roulera maintenant dans le domaine initrc_t et aura un contexte « unconfined ». Le problème avec cette situation est que vsftpd ne pourra pas parler avec le process httpd car la « policy » SELinux interdit les transfert de contexte entre un qui est « confined » et un qui est « unconfined ».

Donc, la plupart des administrateurs désactiveront SELinux directement (setenforce 0) et rouleront maintenant vsftpd et named non protégé.

Avec la version de développement, on peut maintenant définir des domaines permissifs. Donc, dans notre exemple, on ferait :

semanage permissive -a httpd_sys

Et on se retrouve maintenant avec un httpd qui roule en mode permissif alors que SELinux est en Enforcing pour les autres services. De cette façon, les services sont protégés et notre httpd est utilisable facilement par les utilisateurs. Les communications entre les différents services sont maintenant possibles car ils roulent tous sous un contexte « confined ».

Pour savoir si on a des domaines qui roulent en permissif sur notre système :

semodule -l | grep permissive

Donc, avant de désactiver SELinux systématiquement, pensez aux domaines permissifs!


Viewing all articles
Browse latest Browse all 5