|
Vine Linuxにはipchainsとiptablesの両方がデフォルトで入っている。 iptablesを使いたいので、ipchainsを削除するとこから。 ちなみに、Vine Linuxではipchainsが優先的に動作する設定となっているようだ。 まず、ipchainsがモジュールとしてロードされているかどうかを調べる。
ipchainsの言葉が見られるようであれば、ロードされているので削除する。
これでipchainsが無効になるので、セキュリティポリシーに従って iptablesを設定し、パケットフィルタリングを行う。 まず、パケットのINPUT、OUTPUT、FORWARDについてポリシーを決める。 ここでは、サーバをルータとして用いていないので、 INPUTとOUTPUTを取り敢えず許可し、FORWARDを拒否するように設定する。
ここで、パケットのINPUTポリシーを許可したのは一時的で、 このままだと、非常に危険である。 サービスによってINPUTポリシーを変えるため設定を行うが、 設定がおかしくならないように最初に全てのポリシーを削除する。
まず初めに、icpm、tcp、udpを許可する。
次に、自分自身からのINPUTを許可します。
ここまで設定を行えば、実行するサービスのポート毎に許可、拒否を設定する。 Webサーバ(80番ポート)を許可する設定は以下のように設定すると良い。
iptablesの詳しい設定方法はGoogleで調べると分かるので省略。 実際に設定する場合にはコマンドが長いので、シェルスクリプトを書くと楽かも。 許可するポートによるパケットの設定が終われば、 以下の実行して、設定していないポートによるINPUTを拒否する。
これで、パケットフィルタリングが行われるのだが、 保存しておかないと、再起動する際に初期化されてしまう。 そこで、以下のように実行し、今までの設定を保存する。 通常、/etc/sysconfig/iptables に保存すると良いでしょう。
保存し、iptablesを再起動した後、 正常に設定した動作がなされているか確認します。
これでiptablesによるファイアーウォールの設定は終わり。 どのポートが開いているか確認するには nmap等を用いるといいでしょう。 |