このmini HOWTO では、packet にマークを付けるLIDS_SOCKET_NF_MARK の使い かたと、NETFILTER によるパケットの制御について説明します。 0. どうやって導入するのですか? 基本的な発想は、LIDS が全てのプロセスが生成したパケットに対してマーク をつけて、NETFILTER を使ってこれら全てのパケットをコントロールしようと いうことです。LIDS がskbuff を直接コントロールする方法が無いため、 簡単なipt_MARTK.c パッチが、この、パケットにマークを付けるために提供 されています。これは現在のソケットが既にマークされているかどうかをチェック し、マークされていれば、現在のパケットにマークするために、そのマークさ れている値を取ってきます。 1. インストール カーネル2.5.62 以降のシステムに、パッチlids-2.0.3pre2-2.5.62.patch を 適用する必要があります。このパッチは、security/lids ディレクトリ以下の LIDS パッケージと一緒に、net/ipv4/netfilter/ 以下のipt_MARK.c に対する 小さなパッチを含んでいます。 このパッチを適用後、カーネルを再コンパイルする必要があります。 Network Options でNETFILTER を選び、それぞれのモジュールを選んで下さい。 必要なモジュールとしては、ipt_tables 、iptable_mangle 、ipt_MARK と ipt_mark です。そして、LIDS の中で、"LIDS NETFILTER Network Mark" を 選ぶことを忘れないで下さい。 カーネルをコンパイルし、再起動して、Netfilter モジュールとして、以下の モジュールをロードします。 # modprobe ip_tables # modprobe iptable_mangle # modprobe ipt_MARK # modprobe ipt_mark >> mangle table をクリーンアップします #iptables -F -t mangle >> MARK ターゲットを、パケットをマークするように設定する(最初にこれを やってください!!!) # iptables -A OUTPUT -t mangle -j MARK --set-mark 0 >> LIDS ルールとして、DISABLEを用いますが、ENABLE でも構いません:-) >> このルールは、sshd から出て行くパケットに対して、値5 をマークします。 # lidsconf -A -s /usr/sbin/sshd -o LIDS_SOCKET_NF_MARK 5 -j DISABLE >> これで、パケットを5 がマークしてあるものとして区別できます。 #iptables -A OUTPUT -t mangle -d www.slashdot.org -m mark --mark 5 -j ACCEPT #iptables -A OUTPUT -t mangle -m mark --mark 5 -j DROP この後、LIDS を開始します。 # modprobe lids # lidsadm -I 上記のルールでは、sshd とその子達はwww.slashdot.org のみにアクセスが出 来ます。これの意味するところは、全てのssh ユーザーはwww.slashdot.org のみに接続できると言うことです。