パーミッション再考関連
さらにパーミッションを除去できないか、見直している。
ポリシ自動生成(ログー>seeditポリシ変換)を考えると、
パーミッションの数はなるべく少ないほうがいい。
ファイル関連
以前から思っているが、
dir: write
dir: add_name
dir: remove_name
こいつらは、冗長な気がしている。
dir:add_name, remove_nameは削れる。
ソース見てみると、
link,unlink,rename,mkdir,rmdir,renameシステムコールの中で、
他のパーミッションチェックと重複して使われてる。
(may_create,may_link,may_rename)
これは冗長!
- renameの統合場所
e->cに引越し
UNIXドメインソケットファイルについて
オブジェクトクラス:「sock_file」は、UNIXドメインソケットで使うファイル。
こいつのアクセス制御は、冗長?
SELinuxは、ドメイン間のUNIXドメインソケット通信を制御できるので。。
が、UNIXドメインソケットにおいて、
UNIXドメインソケットのファイル名は「ポート番号」に相当する。
ってことは、これのアクセス制御をはずすのはまずいか。。
かわりに、自動生成に邪魔なパーミッションを以下のように除去。
allow domain domain:unix_dgram_socket { create getattr getopt ioctl lock relabelfrom relabelto setattr setopt shutdown };
allow domain domain:unix_stream_socket { create getattr getopt ioctl lock relabelfrom relabelto setattr setopt shutdown };
これらのパーミッションがあろうとも、ソケットを作ることはできても、
実際にデータを送受信することはできないので、無害。
relabel関係のパーミッションは使われてないパーミッション。