11.5. CONNSECMARKターゲット

CONNSECMARK ターゲットは、 SELinux セキュリティ・コンテキスト (SELinux security context マークを、パケットに付けたり、パケットから取得したりする。 SELinux についての詳しいことは Security-Enhanced Linux のホームページを読んでいただきたい。このターゲットは mangle テーブルでのみ有効であり、 SECMARK ターゲットと併用しなければならない。 SECMARK ターゲットでまずマークを付けておき、それから CONNSECMARK でコネクションにマークを付けるのだ。

SELinux は当ドキュメントでの扱いを超えるが、簡単に言うと、Linux への 強制アクセス制御 (Mandatory Access Control) の実装であり、Linux/Unix の備える元来のセキュリティ制御よりもよく出来ている。オブジェクトにはそれぞれセキュリティ属性 (セキュリティ・コンテキスト と呼ぶ) が関連付けられ、特定のタスクの実行の許可や拒否を判断するためにこれらの属性が照会される。このターゲットを使用すると、コネクションに対して セキュリティ・コンテキスト をセットすることができる。

Table 11-4. CONNSECMARKターゲットオプション

オプション--save
iptables -t mangle -A PREROUTING -p tcp --dport 80 -j CONNSECMARK --save
説明まだそのコネクションがマークされていなかった場合に、パケットの セキュリティ・コンテキスト マークを取得してコネクションにそのマークを与える。
オプション--restore
iptables -t mangle -A PREROUTING -p tcp --dport 80 -j CONNSECMARK --restore
説明--restore オプションは、そのパケットに セキュリティ・コンテキスト マークが付いていなかった場合に、コネクションに関連づけられている セキュリティ・コンテキスト マークをそのパケットに付ける。