• [^] # Re: SELinux can do that !

    Posté par . En réponse à la dépêche Capsicum, une séparation fine des privilèges pour UNIX. Évalué à 4.

    Le mécanisme de SELinux est un mécanisme au niveau de l'OS qui permet de limiter les capacités du programme avant son lancement.

    Capsicum lui se place au niveau de l'application afin de faciliter l’implémentation du Principle of Least Authority. Il consiste a séparer un gros programme en plusieurs morceaux, tout en réduisant au maximum les capacités des morceaux les plus dangereux. Si jamais ce morceau dangereux venait a être compromis, il ne pourrait pas faire beaucoup de mal.

    Un programme comme Chromium utilise déjà le Principle of Least Authority. Des programmes sensibles tels que OpenSSH l'utilisent aussi, etc. Je crois même qu'OpenBSD est allé jusqu’à l'appliquer a Apache 1.3 .

    La ou capsicum est intéressant c'est sur la facilité pour l'utiliser sur un programme appliquant déjà ce principe (seulement 100 lignes de plus ajoutées a Chromium qui pourtant est un logiciel très complexe) tout en offrant plus de contrôle qu'avec les solutions déjà existantes. Pour les programmes n'appliquant pas ce principe, il n'y a besoin d'aucun changement dans le code et ils fonctionneront comme avant!!

    Donc Capsicum ne change rien pour les programmes existant, tout en permettant d'appliquer plus facilement le Principle of Least Authority, et de gérer de manière plus fine les droits sur les programmes. Il permet aussi de passer les capacités d'un programme a l'autre (l'article Wikipédia anglais Confused Deputy Problem est assez éloquent).

    Donc les systèmes tels SELinux (Mandatory Access Control) permet de limiter les droits du programmes avant sont lancement (a priori), alors que Capsicum permet au programme de mieux gérer les droits lors de l’exécution (a posteriori).

    J’espère avoir été assez clair.