3 ms·
I can't help but be skeptical about SELinux, having been written by the NSA. What would make you choose SELinux over AppArmor?
by saosebastiao 12y ago
I can't help but be skeptical about SELinux, having been written by the NSA. What would make you choose SELinux over AppArmor?
- nickstinemates 12y agoIsn't it for the NSA, but by Red Hat? May have my history mixed up.
- citruspi 12y agoI believe that the National Security Agency was the original developer, but that Red Hat is significant contributor.
- mpyne 12y agoNSA developed it and open-sourced it (much like their development of the crypto hash used for git), but Red Hat and the Linux kernel devs have pushed it the most since.
- SwellJoe 12y agoWhile I'm as suspicious of the NSA and their intentions as anyone (I am very actively involved in my local Restore the 4th and Cryptoparty chapters), the fact is that the code is Open Source, and has been vetted by some of the best, and most trustworthy, developers in the world (it has been in the mainline Linux kernel for over a decade). I trust SELinux. I don't necessarily trust my understanding of SELinux...it is a complicated beast. But, I believe that when configured correctly, it is a very powerful tool. As I understand it, SELinux covers more ground than AppArmor. I have low familiarity with AppArmor, however, so don't know enough to argue why one might choose one over the other. But, I don't have any suspicion of SELinux containing exploitable code inserted by the NSA.
- zobzu 12y agothe principles are really not that complicated really. I like this diagram of a similar implementation: http://www.rsbac.org/_media/documentation/rsbac_handbook/architecture_implementation/functional_diagram_gfac_rsbac2.png?w=&h=&cache=cache http://www.rsbac.org/_media/documentation/rsbac_handbook/arc...
- zobzu 12y agoFor all its sins, SELinux code is actually pretty clear/simple. Its also nicer than AppArmor if you ask me, and it records inodes, not path, for labelling.
- hapless 12y agoSELinux is supported by the principal Linux vendor, Red Hat. As a result, on RHEL/CentOS systems, there's tons of high-quality policy pre-written for any daemon you could want to install. Instead of writing thousands of lines of policy from scratch, even a very complex system configuration might require a one-liner tweak to the Red Hat-provided policy.
- bostik 12y agoNSA creation or not, SELinux is at its core really little more than a strict state/transition machine. It has also been vetted pretty well over the years. The syntax for the transition rules on the other hand looks like someone disgorged C-struct assignments on paper and left them there. So while SELinux (the system) is quite easily understood, the rules used to build SELinux systems are frightening, large, and from first appearance, very, very complex. (disclosure: I had the privilege of going through SELinux a few years ago when Nokia considered using it as part of their Maemo platform security. The engineering effort was eventually deemed too large and the benefit too little, so it was skipped as infeasible. Less than two years later, Google announced that they would be taking on the task with their SE-Android project.)