Security-Enhanced Linux
SELinuxは1992年、NSAが主体となってFlukeというOS上におけるMAC機能の研究のために開発された。MAC機能はセキュリティの高いOSの提供を可能にするが、主にMulti Level Securityと呼ばれる機能で提供されている。この機能では、アクセスする対象(サブジェクト)すべてに階層化された権限が与えられる一方、アクセスされる対象(オブジェクト)にもすべて階層化された情報の重要度に応じたラベルを付加する。このことによってアクセス制御を行うものだが、柔軟に実装するには複雑化してしまうという欠点があった。
SELinuxではこの問題点を解決するために、Flaskというベースアーキテクチャを開発し、Flask上でのセキュリティポリシー言語を記述することにより、あらゆるセキュリティモデルに対して柔軟に対応できるように設計された。また、セキュリティポリシー言語とセキュリティチェックの仕組みはそれぞれ独立しており、ポリシーがアーキテクチャに制約されないという特長がある。
2000年12月22日に一般公開され、2003年8月13日にはLinuxカーネル2.6において、新機能であるLinux Security Modules (LSM) の拡張モジュールとしてメインライン化された。