Raisons de désactiver / activer SELinux

Dans la ligne de cette question sur StackOverflow et la foule complètement différente que nous avons ici, je me demande: quelles sont vos raisons de désactiver SELinux (en supposant que la plupart des gens le font toujours)? Voulez-vous le garder activé? Quelles anomalies avez-vous vécu en quittant SELinux? Outre Oracle, quels autres fournisseurs fournissent des systèmes de support de problèmes avec SELinux activés?

Question bonus: Quelqu'un a-t-il réussi à faire exécuter Oracle sur RHEL5 avec SELinux pour faire respecter le mode ciblé? Je veux dire, stricte serait génial, mais je ne suis même pas encore possible à distance, alors restez-vous avec un premier objectif 😉

7 Solutions collect form web for “Raisons de désactiver / activer SELinux”

RedHat active SELinux par défaut parce qu'il est plus sécurisé. Presque tous les fournisseurs qui utilisent des produits dérivés de Redhat détournent SELinux parce qu'ils ne veulent pas devoir mettre le temps (et donc l'argent) pour comprendre pourquoi le problème ne fonctionne pas. Les gens de Redhat / Fedora ont consacré beaucoup de temps et d'efforts à faire de SELinux une option viable dans l'entreprise, mais pas beaucoup d'autres organisations se préoccupent vraiment de votre sécurité. (Ils se soucient de leur sécurité et de la réputation de sécurité de leur produit, ce qui est totalement différent.)

Si vous pouvez le faire fonctionner, allez-y. Si vous ne le pouvez pas, n'attendez pas beaucoup d'assistance auprès des vendeurs. Vous pouvez probablement obtenir de l'aide des gars Redhat / Fedora, des listes de diffusion Selinux et du canal #selinux sur freenode. Mais de sociétés comme Oracle – bien, SELinux ne compte pas vraiment dans leur plan d'affaires.

Généralement, vous êtes mieux d'exécuter SELinux dans Permissive plutôt que de le désactiver entièrement. Vous pouvez ensuite vérifier (via audit2why ) après un certain temps pour voir quels types de violations auraient été refusés lors de votre utilisation régulière, et créer des politiques personnalisées via audit2allow si ces «violations» sont fausses positives pour votre configuration.

J'ai trouvé le comportement de SELinux sur les systèmes non dérivés de Fedora pour être sensiblement plus toucher que ce que vous obtenez par défaut avec un système Fedora / RHEL typique.

Si vous ne l'avez déjà déjà vu, vous pouvez trouver le Guide de l'utilisateur de Fedora SELinux éducatif.

Raisons pour:

  • Plus haut niveau de sécurité grâce au contrôle d'accès obligatoire
  • Vous avez besoin d'une raison au-delà d'un niveau de sécurité plus élevé? 🙂

Raisons contre:

  • Difficile à comprendre
  • Difficile à gérer
  • Difficile de dépanner

Cela dit, si vous considérez SELinux, je recommande le livre SELinux par exemple .

J'ai travaillé pour une entreprise qui avait activé SELinux, en mode d'application, sur tous les systèmes. La clé pour nous était la compréhension et l'utilisation du programme audit2allow qui peut être utilisé pour créer de nouvelles règles de contexte.

Tout d'abord, nous générerions un modèle avec audit2allow, puis utiliserons un script pour le construire, comme ceci:

 export NAME="my_serviced" sudo audit2allow -m "${NAME}" -i /var/log/audit/audit.log > ${NAME}.te sudo setup_semodule ${NAME} 

Le script setup_semodule:

 #!/bin/sh # Where to store selinux related files SOURCE=/etc/selinux/local BUILD=/etc/selinux/local NAME=$1 /usr/bin/checkmodule -M -m -o ${BUILD}/${NAME}.mod ${SOURCE}/${NAME}.te /usr/bin/semodule_package -o ${BUILD}/${NAME}.pp -m ${BUILD}/${NAME}.mod /usr/sbin/semodule -i ${BUILD}/${NAME}.pp /bin/rm ${BUILD}/${NAME}.mod ${BUILD}/${NAME}.pp 

Cela crée le module à partir du modèle (fichier .te), génère un package, puis charge le module.

Nous avons utilisé Puppet pour notre système de gestion de configuration, et nous avons écrit une configuration pour Puppet pour gérer tout cela.

Module de marionnettes SELinux:

La raison de l'éteindre est qu'il peut être pénible de déboguer.

Cependant, nous ne l'éteins plus maintenant. Nous avons presque toujours le faire fonctionner. Je l'éteins parfois pour vérifier rapidement si SElinux est un problème ou non.

Il est plus facile de déboguer maintenant, surtout si vous vous familiarisez avec audit2allow. Vous n'avez pas vraiment besoin de le comprendre avec audit2allow, mais vous pouvez parfois finir par ouvrir des options plus large que ce que vous pensez avec audit2allow. Ayant dit que certains SELinux est meilleur qu'aucun.

Je ne suis en aucun cas un expert SELinux et je ne l'ai utilisé que depuis quelques années. Je ne comprends toujours pas les bases, mais je sais assez pour que les applications soient exécutées, et celles qui sont incluses avec la distro et les choses aléatoires compilées du «net.

La principale chose que j'ai dû utiliser est le ls -lZ (show selinux context), audit2allow , chcon , semodule , getenforce , setenforce et setenforce . Avec ces outils, j'ai réussi à obtenir chaque application que je devais exécuter sous SELinux.

Je trouve l'un des gros problèmes avec le débogage des problèmes SELinux. Je me moque simplement de vérifier les problèmes SELinux lorsque j'ai d'autres problèmes inexplicables et judicieux. Il me prend généralement un peu de "h! Check SELinux !!".

Selon la page de l'homme de liaison, SELinux est beaucoup plus sûr que de se lier dans une prison de chroot. Beaucoup d'autres personnes qui ont beaucoup plus d'indices que je le recommande aussi, donc je l'exécute aveuglément maintenant. Et soupçonnez malgré le problème occasionnel, il vaut probablement la peine de le faire.

J'ai désactivé SELinux pour AppArmor , je l'ai trouvé plus amical et plus facile à entretenir que SELinux.

Il n'y a aucune raison de l'éteindre lorsque vous pouvez l'exécuter en mode Permissive. Cela n'interférera pas avec l'application en cours d'exécution et il fournira toujours une journalisation de sécurité utile. La seule exception concerne les contextes utilisateur: si vous changez entre les différents utilisateurs qui vivent dans une autre instance linux qui s'exécute dans un chroot, vous pourriez avoir des problèmes.

SE Linux n'est pas désagréable comme il l'était, au moins ce n'est pas dans les distributions commercialement compatibles comme RHEL5. Pour la plupart, vous pouvez le laisser, et ce sera bien avec tout ce qui est fourni par RedHat. Avec toute autre chose, il peut être variable. Le problème est que le travail professionnel pour obtenir des applications fonctionnant avec SE Linux activé est un bon flux de revenus pour des entreprises comme RedHat et Oracle, de sorte qu'ils n'ont aucune incitation à faire fonctionner tout à fait bien Ootb.

  • Octroi d'un access sudo à un user privé SELinux dans l'application libre
  • SELinux n'exerce pas les ressortingctions d'écriture d'apache malgré son activation
  • Semodule -i doit-il être exécuté après chaque mise à jour de la stratégie SELinux?
  • Impossible de rm / unlink les files au début, mais peut après vim et l'écriture du file
  • selinux, file ne correspondant pas file_contexts.local
  • Comment puis-je sécuriser mon noeud hôte OpenVZ?
  • openssh-lpk - Impossible d'avoir un context de security SELinux par défaut pour ldapuser
  • Exécution de logstash sous SELinux
  • Comment puis-je obtenir SELinux pour permettre à Apache et Samba sur le même dossier?
  • Comment sécuriser le server d'applications JBoss à l'aide de SELinux
  • Quel est l'effet de l'user et des labels de rôle sur un file dans SELinux?
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de réseau.