ネットワークパーミッション統合の変更

大学の卒業レポートの仕上げをしている中で気づいた。。。

allownet のuse

allownet -protocol tcp|udp|raw -domain ドメイン use;
これは、ソケットの利用権限を与えるための書式。
しかし、
allownet -protocol tcp|udp -domain self use;
に相当する権限(自分が作ったTCP/UDPソケットを使う)
を攻撃者が得たとしても,攻撃者は本当に何もできない。
ポートの利用許可がないので。なので、これは全許可できる(unsupported.teに編入)。

ただ、
allownet -protocol tcp|udp <他ドメイン> use;
は全許可するとまずい。これは、ソケットを他のドメインから継承可能なことを意味している。継承したソケットを使って通信できる可能性があるので(具体的にどうするか知らないが),継承は制限しなくてはいけない。

allownet -netif,-node

これは,「デフォルト許可」なものだったが、「デフォルト拒否」に。
ただ、デフォルトのポリシでは,
comman-relaxedで,全許可されるように。
デフォルトでは使わないようにしておいた。

Rawソケットの簡略化

Rawソケットの利用に「use, server,client」
の3種類のパーミッションを設けたが、実際ここまで細かく分ける必要性がない。
なので、
allownet -protocol raw use;
のみに。

その他

allownet -netifで*を許すように

結局どうなった

普通のドメインでは、
allownet -protocol tcp -port 80 server;
のように、allownetの-portだけを使う。
以前はこれに加えてallownet -protocol tcp use;
のように「use」も指定してた。

バグ取り

  • domain_transがディレクトリのラベルに対してdomain_auto_transを出力しなかったのを修正

その他メモ

restorecondがFC5にある。うまく活用できないか?
seeditが使うfile_contextsに出てくる全ディレクトリ、ファイルを監視とかできないかなぁ。