Pour faire court, il y a dans FreeBSD un système qui est
proche de SELinux niveau fonctionnalité, mais nettement plus
utilisable et lisible.
proche, tu veux dire "si on rajoute les trucs manquants" et "si on code une policy, parce c'est tellement simple que personne commence, sauf des boites qui gardent ça pour elle grace à la license BSD" ?
Parmi les trucs manquants, tu peux mettre des labels sur les bases postgresql, sur les paquets réseaux via CIPSO ( notamment utilisé par openshift afin de sécuriser les échanges entre containers ), ou directement sur X.
Tout au plus, tu arrives à remplacer un policy MLS de Selinux, avec les limitations que ça ne marche que pour un type plus restreint d'objet ( ie, les process, les fichiers et les interfaces réseaux ) la ou SELinux va plus loin, comme transmettre le lalbel via le réseau, sur une base postgresql, sur les comms dbus, et classifie ça par type de fichier ( socket, répertoire, etc ).
Les comms dbus, ç'est ce qui ressort du travail d'ubuntu pour le confinement des applications bureautiques. Les bases postgresql, c'est pour faire du multitenant pour un hébergeur, que ça soit publique ou interne. Transmettre le label sur le réseau, c'est utilisé par Openshift, pour être sur que ta machine ne parle que avec ton autre machine, ou ce genre de choses.
Donc le système de mac FreeBSD fait déjà des trucs simples , mais ça remplace quand même pas SELInux pour le MLS, loin de la.
Et ce qui intéresse AMHA la plupart des gens, c'est d'une part, de pas configurer la machine ( ie, ne pas passer son temps à faire des sysctl security.mac.portacl.rules=uid:80:tcp:80 pour dire que apache peut faire un bind sur le port 80 ), mais que ça soit fait par défaut. Et d'autre part, pouvoir avoir une granularité plus fine.
Tout les LSMs ou assimilés du monde se vante d'être plus simple que SELinux. Tomoyo, AppArmor, Smack, etc. Mais la simplification n'a pas l'air d'aider les gens à rajouter des politiques pour les softs ou à l'adoption, AppArmor se faisant ramoner la tronche à ce niveau, vu que je pense que c'est ce qui se rapproche le plus de SELinux sur la partie MCS, ie la policy targetted. Ramoner la tronche parce qu'il y a vachement moins de programmes confinés. Ramoner la tronche parce que les dites policys étaient troués, et ça va mettre du temps à tout fermer.
Donc soit c'est pas plus simple que SELinux, soit la complexité vient pas de SELinux mais du système à protéger.
[^] # Re: Tout va bien, je t'assure
Posté par Misc (site web personnel) . En réponse au journal Les BSD isolés. Évalué à 10.
proche, tu veux dire "si on rajoute les trucs manquants" et "si on code une policy, parce c'est tellement simple que personne commence, sauf des boites qui gardent ça pour elle grace à la license BSD" ?
Parmi les trucs manquants, tu peux mettre des labels sur les bases postgresql, sur les paquets réseaux via CIPSO ( notamment utilisé par openshift afin de sécuriser les échanges entre containers ), ou directement sur X.
Le systéme de MAC décrit sur le handbook Freebsd ( http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/mac.html ) ne permet pas de restreindre par type d'operation.
Tout au plus, tu arrives à remplacer un policy MLS de Selinux, avec les limitations que ça ne marche que pour un type plus restreint d'objet ( ie, les process, les fichiers et les interfaces réseaux ) la ou SELinux va plus loin, comme transmettre le lalbel via le réseau, sur une base postgresql, sur les comms dbus, et classifie ça par type de fichier ( socket, répertoire, etc ).
Les comms dbus, ç'est ce qui ressort du travail d'ubuntu pour le confinement des applications bureautiques. Les bases postgresql, c'est pour faire du multitenant pour un hébergeur, que ça soit publique ou interne. Transmettre le label sur le réseau, c'est utilisé par Openshift, pour être sur que ta machine ne parle que avec ton autre machine, ou ce genre de choses.
Donc le système de mac FreeBSD fait déjà des trucs simples , mais ça remplace quand même pas SELInux pour le MLS, loin de la.
Et ce qui intéresse AMHA la plupart des gens, c'est d'une part, de pas configurer la machine ( ie, ne pas passer son temps à faire des sysctl security.mac.portacl.rules=uid:80:tcp:80 pour dire que apache peut faire un bind sur le port 80 ), mais que ça soit fait par défaut. Et d'autre part, pouvoir avoir une granularité plus fine.
Tout les LSMs ou assimilés du monde se vante d'être plus simple que SELinux. Tomoyo, AppArmor, Smack, etc. Mais la simplification n'a pas l'air d'aider les gens à rajouter des politiques pour les softs ou à l'adoption, AppArmor se faisant ramoner la tronche à ce niveau, vu que je pense que c'est ce qui se rapproche le plus de SELinux sur la partie MCS, ie la policy targetted. Ramoner la tronche parce qu'il y a vachement moins de programmes confinés. Ramoner la tronche parce que les dites policys étaient troués, et ça va mettre du temps à tout fermer.
Donc soit c'est pas plus simple que SELinux, soit la complexité vient pas de SELinux mais du système à protéger.