IP Filterでファイアウォール
Free BSDに標準で装備されている、パケットフィルタリングを使ってファイアウォールを構築します。
iplモジュールのロード
# kldload ipl
# ee /boot/loader.conf
# 追記、起動時に有効
ipl_load=”YES”
# kldstat
Id Refs Address Size Name
1 65 0xffffffff80200000 1d345b0 Kernel
|
20 1 0xffffffff8337e000 70d18 ipl.ko
↑ ipl.koがあることを確認
IP Filterの有効化
# ee /etc/rc.conf
ipfilter_enable=”YES”
ipfilter_rules=”/etc/ipf.rules”
ipfilter_flags=””
ipmon_enable=”YES”
ipmon_flags=”-D /var/log/ipflog”
上記を追記
・IP Filterを有効
・ルールの設定ファイルを指定
・実行時のオプション指定(特に指定しない)
・ip monitorを有効
・ipmonをデーモンとして起動、ログを書き出す。
最小フィルタールールサンプルを生成
# perl /usr/share/examples/ipfilter/mkfilters | grep -v inet6 > /etc/ipf.rules.sample
# cat /etc/ipf.rules.sample
#
# The following routes should be configured, if not already:
#
# route add 192.168.10.10 localhost 0
#
block in log quick from any to any with ipopts
block in log quick proto tcp from any to any with short
pass out on re0 all head 150
block out from 127.0.0.0/8 to any group 150
block out from any to 127.0.0.0/8 group 150
block out from any to 192.168.10.10/32 group 150
pass in on re0 all head 100
block in from 127.0.0.0/8 to any group 100
block in from 192.168.10.10/32 to any group 100
IP Filter ルール設定
# ee /etc/ipf.rules
ルールの設定については下記を参照してください。
Free BSDマニュアルページ ipfilter
金子邦彦研究室 IP Filterでセキュリティ対策(ルールの設定例解説あり)
# ipf -Fa -Z -f /etc/ipf.rules
# ipfstat -io
・設定反映
・ルール確認