selinux

Linux系のOSを使うことがある人は聞いたことはあると思う。
これが有効になっていると、うまく動作しないサービスがあったりするので、とりあえず無効にしましょうみたいなことがある。
これの設定状態には3つあって、enforcing, permussive, disabled。
設定がdisabledだとselinuxは無効。
selinuxのせいでうまく動かないということはないのは想像できるが、実はpermissiveでもselinuxが動作の邪魔をすることはない。
selinuxを有効にすることで、権限のない動作を厳密に禁止することができる。
rootであろうが、selinuxがダメという場合には変更ができない。
これは強力なガード機能なので、selinuxを無効にしたままの運用はやってはいけない。
profileを設定して事細かに制御するべきなのだが、結局はどの実行可能ファイルは誰かだけしか実行できなくて、そのユーザーが変更できるリソースを限定的にすることでセキュリティを高めるのだけど、いまだにそこまでの設計はしたことがない。
でも正しく理解して、設計できる人はいるのだからそれはスゴイなぁと思う。