不正アクセスを検知したら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についての情報が見つけられない…。
時間がなくてまだ試していませんが、
https://reviews.freebsd.org/D6595
をportsにmergeすれば動くんだろうと思います。
私もsshはパスワード認証は止めているのでblacklistdを使わなくても大丈夫なんですが、メールは何とかしたいので時間が取れたら実験してみます。
情報有り難うございます。とは言え,まだcurrentにもmergeされてないみたいなんですね。
baseで使ってるsendmailをportsに切り換えてさらにパッチあてて…っていう気力が付いてこない…。
やっとD6595が動きました。(11.1-RELEASE-p1です。)が抜けていたことでした。
動かなかった原因は、patch-sendmail.hに#include
smtp authでid/passwordを得ようとするアタックが多くて時々手動でパケットフィルターを追加していたのですが、自動でipfwのport25 tableにどんどん追加してくれるのは非常に気持ち良いです。(port25という名前ですが、実際はsubmission(587)やsmtps(465)もここに入れてくれます。しかし海外からのアタックばかりで実際に入るのはsmtp(25)ばっかりです。op25bなんて不便なガラパゴス対応、日本でしかしてないもんね。
ちょっと訂正。submission等はちゃんとport587等の別テーブルになります。port25テーブルはsmtpだけ入ります。
blacklistd いいですね。pkg で mail/sendmail をインストールした後、sendmail.cf に O UseBlacklist=True を追加するだけで利用できました。
smtp と submission は日に数件でした。
ピンバック: FreeBSDでpkg/ports版のSendmailを使う – 人生という名の酷道で遭難中