パーミッションの問題
最近感じたアクセスベクタパーミッションの問題をメモしておこう。
- 粒度の大きなパーミッション
- CAP_SYS_AUDIT(capability:sys_audit)
- netlink_auditソケットの利用、/proc/pid/loginuidの書き込みを
- /proc/pid/loguinuidの制御はSELinuxのアクセス制御では不可能。
- netlink_auditソケットだけを使いたい場合、/proc/pid/loginuidの書き込みまで許可しちゃうことになる。
- パーミッションの重み付け
- パーミッションのプライオリティを整理する必要を感じている。
- 今は、「全てのパーミッションが同じ程度重要」と考えているような気が。
- 例えば、exec*パーミッション
- ある程度セキュリティを高めるが、これのポリシー整備に多くの労力が割かれている。
- 効果は、execshieldの補助的なもの
- MLを見てると色々なアプリが動かない問題が生じる。可用性への影響が大きいのでは?
- 同じ方針を貫くとしたら、他のdistroに移植するとき、地獄を見ると思う
- ツールを作る人も、全部のパーミッションを同等にサポートするとしたら、ツールが分かりにくい物になってしまう。
- パーミッションのプライオリティを何段階かに分ける必要がありそう。
つまりやりたいことは、(いつも言っている気もするけど)
1) 初心者(セキュリティが少し高まればいいと思っている人)には少しのパーミッションしか有効になっていない
2) ユーザのセキュリティゴールに応じて、見えるパーミッションが増えていく。
イメージとしては、昔見たテレビのリモコン。
リモコンの表面には、普段使うボタン数少ないボタンしかない。
リモコンにはフタがついていて、フタを開けると、詳細設定のためのボタンがでてくる。
そのために、パーミッションのプライオリティ付けがしたい
さて、これをSELinux Symposiumで本場の人に伝わるように主張できるか…