不正アクセスを検知したらFirewallで遮断するアレの,Freebsd専用版。使い方はここ(freebsd.org)とかに書いてあるだけの情報しかまだないっぽい。
pfで運用するときの,ハマりポイントいくつか。
pfの設定ファイル名は"pf.conf"で無ければならない。名前を変えてrc.confでpf_rules=とか指定しているとダメ。/etc/pf.confを決め打ちで覗きに行くっぽい。
blacklistd_flags="-f"(再起動ごとにブロックリスト初期化)での運用は危険。実際のアクセスブロックはpfのanchor機能使っているもんだから,ブロックされたルールはblacklistdやpf再起動してもanchorに残ったまま。
anchorにブロックルール残ったままblacklistdのデータベース初期化しちゃうと,ブロックルールが永遠に解除されない罠。そんなときは以下のようにして手動で削除が必要。
*ブロックされたアドレスの表示(ssh) # pfctl -a blacklistd/22 -t port22 -T show *ブロックされたアドレスの削除 # pfctl -a blacklistd/22 -t port22 -T delete $IP-address
blacklistctl dump -aとかで検知状況を見る事が出来るんだけど,実際の状態とは数秒のタイムラグがある。dumpの名の通り遅れて同期されるデータベースファイル見に行ってるだけで,実際に適用されているメモリ上のデータベースの状態が見られるわけではないっぽい。
そんなわけで11.0-releaseから搭載され,11.1-releaseでようやくsshdも対応したblacklistdですが,どうもまだ試験的っぽい感じ。smtpのsubmissionポートとかも対応させたいんだけれども,sendmailについての情報が見つけられない…。
