SELinux vs. AppArmor vs. grsecurity [fermé]

14

Je dois configurer un serveur qui devrait être aussi sécurisé que possible. Quelle amélioration de sécurité utiliseriez-vous et pourquoi, SELinux, AppArmor ou grsecurity? Pouvez-vous me donner quelques conseils, astuces, avantages / inconvénients pour ces trois?

AUTANT QUE JE SACHE:

  • SELinux: le plus puissant mais le plus complexe
  • AppArmor: configuration / gestion plus simple que SELinux
  • grsecurity: configuration simple grâce à la formation automatique, plus de fonctionnalités que le simple contrôle d'accès

la source
Un "serveur" pour fournir quel type de service? À quel public, dans quel environnement? Qu'est-ce qui constitue pour vous «sécurisé» dans ce contexte? Beaucoup plus d'informations seraient nécessaires pour fournir une réponse utile. Par exemple, un serveur IP Time-of-Day pur peut être très sécurisé - tous les micrologiciels ROM, imputation radio, alimentation par batterie autonome avec chargement automatique. Mais ce n'est probablement pas une réponse utile pour vous. Alors, quel genre de service? À l'échelle d'Internet, à l'échelle de l'entreprise, une équipe de travail de confiance, un réseau point à point dédié, etc.? La haute disponibilité est-elle un besoin? Fiabilité? Intégrité des données? Contrôle d'accès? Give
mpez0

Réponses:

7

J'ai fait beaucoup de recherches dans ce domaine. J'ai même exploité les ensembles de règles d'AppArmor pour MySQL . AppArmor est la forme la plus faible de séparation des processus. La propriété que j'exploite est que tous les processus ont des privilèges d'écriture sur certains des mêmes répertoires tels que /tmp/. Ce qui est bien avec AppArmor, c'est qu'il brise certains exploits sans se mettre à la place des utilisateurs / administrateurs. Cependant, AppArmor a des défauts fondamentaux qui ne seront pas corrigés de si tôt.

SELinux est très sécurisé, c'est aussi très ennuyeux. Contrairement à AppAmoror, la plupart des applications légitimes ne fonctionneront pas tant que SELinux n'aura pas été reconfiguré. Le plus souvent, cela entraîne une mauvaise configuration de l'administrateur SELinux ou la désactivation de l'ensemble.

grsecurity est un très grand ensemble d'outils. Celui que j'aime le plus est le chroot amélioré de grsecuirty. C'est encore plus sécurisé que SELinux, même si cela prend un peu de compétence et de temps pour configurer une prison chroot alors que SELinux et AppAprmor "fonctionnent".

Il existe un 4ème système, une machine virtuelle. Des vulnérabilités ont été trouvées dans des environnements de machine virtuelle qui peuvent permettre à un attaquant de "éclater". Cependant, une machine virtuelle a une séparation encore plus grande qu'un chroot, car dans une machine virtuelle, vous partagez moins de ressources entre les processus. Les ressources disponibles pour une machine virtuelle sont virtuelles et peuvent avoir peu ou pas de chevauchement entre d'autres machines virtuelles. Cela concerne également le <buzzword>" cloud computing " </buzzword>. Dans un environnement cloud, vous pouvez avoir une séparation très nette entre votre base de données et votre application Web, ce qui est important pour la sécurité. Il est également possible qu'un exploit soit propriétaire de l'intégralité du cloud et de toutes les machines virtuelles s'exécutant dessus.

Tour
la source
au lieu de la <buzzword>balise, vous pouvez simplement écrire "mes fesses", tout le monde saura ce que vous voulez dire;)
Daniel Dinnyes
Par VM, voulez-vous dire Xen, KVM ou LXC / Docker? Veuillez également faire référence à vos évaluations.
Daniel Dinnyes
1
@Daniel Dinnyes, il n'y a aucune référence ici, il s'agit uniquement d'une opinion personnelle en tant que pirate informatique qui attaque des applications modernes protégées par ces techniques d'atténuation - le grand point à retenir est que rien n'est parfait.
Tour
1
@Daniel Dinnyes Si vous êtes intéressé par les cas d'utilisation abusive, commencez par les cas d'utilisation prévus. Installez des distributions qui utilisent ces technologies et déployez des applications dessus. Découvrez comment déployer et configurer ces systèmes de sécurité, puis recherchez les faiblesses.
Tour
1
@Daniel Dinnyes examine les CVE émises et en particulier les exploits publics pour chaque plate-forme. Un très bon contournement SELinux a été trouvé récemment: exploit-db.com/exploits/40419
Rook
1

Personnellement, j'utiliserais SELinux parce que je finirais par cibler une certaine saveur de RHEL qui a cette configuration prête à l'emploi pour la plupart. Il existe également un ensemble réactif de mainteneurs chez Red Hat et beaucoup de très bonne documentation sur la configuration de SELinux. Liens utiles ci-dessous.

Ophidian
la source
ouais mais miam et selinux sont tellement énervants.
Tour
1
Je trouve que la CLI de yum est beaucoup plus intuitive qu'apt. SELinux est ennuyeux lorsque vous essayez de suivre votre propre chemin avec des applications non stockées, mais je n'ai jamais eu de problème avec le stock, au-delà de la nécessité d'activer certains sebool pour activer les fonctionnalités non par défaut (par exemple, laisser les scripts php httpd se connecter à la base de données)
Ophidian