web-dev-qa-db-fra.com

Raisons de désactiver / activer SELINUX

Dans la ligne de ceci question sur Stackoverflow et la foule complètement différente, nous avons ici, je me demande: quelles sont vos raisons pour désactiver SELINUX (en supposant que la plupart des gens le font encore)? Voulez-vous le garder activé? Quelles anomalies avez-vous vécues en quittant SELINUX? En dehors de Oracle, quels autres fournisseurs donnent des problèmes de soutien à Selinux activé?

Question bonus: Tout le monde a réussi à obtenir Oracle fonctionner sur RHEL5 avec SELINUX lors de l'application du mode ciblé? Je veux dire, strict serait génial, mais je ne suis pas encore possible, alors restons avec ciblé en premier ;-)

37
wzzrd

Redhat active Selinux par défaut parce que c'est plus sûr. Presque chaque fournisseur qui utilise des produits dérivés de Redhat, transforme SELINUX OFF parce qu'ils ne veulent pas avoir à mettre à l'époque (et donc d'argent) pour comprendre pourquoi la chose ne fonctionne pas. Le peuple Redhat/Fedora a mis en place une quantité massive de temps et d'efforts qui rendent Selinux davantage d'une option viable dans l'entreprise, mais pas beaucoup d'autres organisations se soucient vraiment de votre sécurité. (Ils se soucient de leur sécurité et la réputation de sécurité de leur produit, qui est une chose totalement différente.)

Si vous pouvez le faire fonctionner, alors allez-y. Si vous ne pouvez pas, alors ne vous attendez pas à beaucoup d'assistance des vendeurs là-bas. Vous pouvez probablement obtenir de l'aide des gars de RedHat/Fedora, des listes de diffusion SELINUX et de la chaîne #Selinux sur Freenode. Mais d'entreprises comme Oracle - Eh bien, SELINUX ne correspond pas vraiment à leur plan d'entreprise.

25
tylerl

Généralement, vous ferez mieux de courir SELINUX EN PERMISSIVE plutôt que de le désactiver entièrement. Vous pouvez ensuite vérifier (via audit2why) Après un certain temps de voir quels types de violations auraient été refusés lors de votre utilisation régulière et construisez des stratégies personnalisées via audit2allow Si ces "violations" sont fausses positives pour votre configuration.

J'ai trouvé le comportement Selinux sur les systèmes dérivés de non-Fedora pour être beaucoup plus touchante que ce que vous obtenez avec un système typique de Fedora/Rhel par défaut.

Si vous ne l'avez pas déjà vu, vous pouvez trouver le Guide de l'utilisateur Fedora Selinux pédagogique.

21
Ophidian

Raisons pour:

  • Niveau de sécurité plus élevé grâce à un contrôle d'accès obligatoire
  • Vous avez besoin d'une raison hors degré de sécurité supérieure? :-)

Raisons contre:

  • Difficile à comprendre
  • Difficile à gérer
  • Difficile à résoudre

Cela dit si vous envisagez SELINUX, je recommande le livre SELINUX par exemple .

J'ai travaillé pour A Société qui avait activé Selinux, en mode d'exécution, sur chaque système. La clé pour nous comprenait et utilise le 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 utilisaient un script pour la 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

Ceci construit le module du modèle (fichier .te), génère un package, puis charge le module.

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

SELINUX PUPPET Module:

16
jtimberman

J'ai désactivé SELINUX pour APPARMOR , j'ai trouvé cela beaucoup plus convivial et facile à entretenir que Selinux.

2
LiraNuna

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

1
Federico

SE Linux n'est pas aussi désespérément hostile que cela soit, au moins, ce n'est pas dans des distributions soutenues commercialement comme Rhel5. Pour la plupart, vous pouvez le laisser, et tout ira bien avec quoi que ce soit fourni par Redhat. Avec quoi que ce soit d'autre, il peut être variable. Le problème est que les travaux de service professionnel pour obtenir des candidatures à travailler avec SE Linux activé sont un flux de revenus agréable pour les entreprises telles que Redhat et Oracle. Ils n'ont donc aucune incitation à faire tout ce qui fonctionne bien ootb.

0
goo