ipfilter

ずいぶん前に設定した内容だけどどうやらメモっていなかったようなので、思い出しながらメモメモ。
/etc/ipf/pfil.apから使用するインターフェースを指定

# IP Filter pfil autopush setup
#
# See autopush(1M) manpage for more information.
#
# Format of the entries in this file is:
#
#major minor lastminor modules
#le -1 0 pfil
#qe -1 0 pfil
#hme -1 0 pfil
#qfe -1 0 pfil
eri -1 0 pfil
#ce -1 0 pfil
#bge -1 0 pfil
#be -1 0 pfil
#vge -1 0 pfil
#ge -1 0 pfil
#nf -1 0 pfil
#fa -1 0 pfil
#ci -1 0 pfil
#el -1 0 pfil
#ipdptp -1 0 pfil
#lane -1 0 pfil
#dmfe -1 0 pfil
最初は全部コメントになっているのeri(うちの場合)を有効にする。

ipf.confを編集する

#
# outgoingを許可
#
pass out quick on eri0 proto tcp/udp all keep state
pass out quick on eri0 proto icmp all keep state
#
# 使用していないIP Addressが来たときにはじく
# (うちは192なので除外してます)
#
block in log quick on eri0 from 127.0.0.0/8 to any
block in log quick on eri0 from 10.0.0.0/8 to any
block in log quick on eri0 from 169.254.0.0/16 to any
block in log quick on eri0 from 172.16.0.0/12 to any
#
# ブロックするセグメントを記述
#
block in log quick on eri0 from XX.YY.0.0/16 to any
以下つづく……
うちではCN,KR,TW辺りのIP Addressをblockしています。
#
# 許可するincoming
#
pass in quick on eri0 proto tcp from any to any port=XX keep state
pass in quick on eri0 proto tcp from any to any port=YY keep state
pass in quick on eri0 proto tcp from any to any port=ZZ keep state
#
pass in quick on eri0 proto tcp from any to any port 32767><33769 keep state # # プライベートからの許可 pass in quick on eri0 from 192.168.X.Y/24 to any # # それ以外は捨て # block in log on eri0 all

syslogの設定

local0.debug /var/log/ipf.log
新規追加なのでtouchしておく。
# touch /var/log/ipf.log

この後ipfのモジュールをインターフェースに組み込まないと行けないので一度リブート
サービスの有効化

# svcs enable svc:/network/ipfilter:default

動いてる?

# ipfstat -io
ipf.confの内容が表示される。
ipfmonコマンドでモニタリング出来るので個別にクライアントIPアドレスをblockしてlogするなどすると確認出来ます。