モーグルとカバとパウダーの日記

モーグルやカバ(EXカービング)山スキー(BC)などがメインの日記でした。今は仕事のコンピュータ系のネタが主になっています。以前はスパム対策関連が多かったのですが最近はディープラーニング関連が多めです。

OSフィンガープリントを利用したスパム対策(p0f+greylist)

pf でボット狙い撃ち - どさにっき
に有った、OSのフィンガープリントを利用してボットを判別する、と同じ手法が》 p0f, spam detection and OOF e-mails - セキュリティホール memoで紹介されていた。
気になっていろいろ見てたら、policyd-MLとかpostgrey-MLとかでもちょっと話題になってたのでまとめ。


まず、接続してきたクライアントを見分けるためのp0fというツールについては下記記事参照。
「Know Your Enemy(己の敵を知れ)」---攻撃者のOSを特定する方法:ITpro


で、amavisd-newとp0f-analyzer.pl経由でこのp0fの情報を使って、SpamAssassinのポイント付けに利用する、という方法がこちらに紹介されている。
SANS Internet Storm Center; Cooperative Network Security Community - Internet Security - isc


あと、Scam-greyというgreylistingのmilterでもp0fの情報を利用できる。
Eland Systems Scam-grey milter
ちなみにこれは、逆引き名と正規表現がマッチしたときだけgreylisting掛ける事が出来るのでRgrey(S25R+greylisting)が可能。
その他にも、DNSBLに引っかかったときだけとか、HELOが怪しいときだけとか、いろいろな条件でselective greylistingが出来る。
同様に、p0fによるOSのフィンガープリントによりgreylisting出来るわけだ(と思う)。


あと実は、postgreyでもp0fを利用することが出来るパッチが出ている。
http://lists.ee.ethz.ch/p/02-postgrey-p0f.patch
これは、ホワイトリストとしてp0fの情報を利用できるようになっている。
デフォルトのpostgreyでは、オートホワイトリストに入っているIP以外は全てgreylistしてしまうので、LinuxだとかFreeBSDだとか、怪しく無さそうなOSを指定することで誤検出を減らす、というもの。


このへんって、postfixのpolicy serverとして利用できるようになってるのがあると、いろいろと使いやすいんじゃないかなと思う。
「p0f policy server」
これでまた一つ、こういうの作るぞリストが増えたわけだが… orz