bruteforceblockerの拡張。

ジャーナルを見ているとイラッとすることがある。

ブルートフォース系のアラートなんかを見つけたときがそうだ。

sshの方はある程度対策しているけれど、SMTPとかFTPとか、そっちのアタックも結構あるわけで。必要だから開けているんだけれど、ほったらかしにしているのもなんだかなぁと言う事で、対策を少し追加。

bruteforceblocker on FreeBSD(+PF)」で書いたとおり、sshのブルートフォースアタック避けにbruteforceblockerを入れているのだけれど、このアプリはsyslogに渡ってくる文字列を解析、失敗している物であればIPアドレスを抜き出してPFのフィルタリングルールに突っ込むという事を行っている。

であれば、

  • syslogでログを取っている。
  • ログの中にIPアドレス(or FQDN)が含まれる。

ならbruteforceblockerで対応できるはず。

portsからbruteforceblockerをインストールしていれば、/usr/local/sbinに実行ファイルがあるので中を確認する。

    if (/.*Failed password.*from ($work->{ipv4}|$work->{ipv6}|$work->{fqdn}) port.*/i ||
        /.*Invalid user.*from ($work->{ipv4}|$work->{ipv6}|$work->{fqdn})$/i ||
        /.*Did not receive identification string from ($work->{ipv4}|$work->{ipv6}|$work->{fqdn})$/i ||
        /.*Bad protocol version identification .* from ($work->{ipv4}|$work->{ipv6}|$work->{fqdn})$/i ||
        /.*User.*from ($work->{ipv4}|$work->{ipv6}|$work->{fqdn}) not allowed because.*/i ) {

これがログのチェックルール。

ここにルールを追加してあげればよさそう。

SASL経由でPAM認証しているSMTPへのアタック対策

ルールに

/.*warning\: unknown\[($work->{ipv4}|$work->{ipv6}|$work->{fqdn})\]\: SASL LOGIN authentication failed\:.*/i ||

を追加する。

ただ、syslog上のメール関連のファシリティはmail.infoなので、/etc/syslog.confに

mail.info                                       | exec /usr/local/sbin/bruteforceblocker

を追加してsyslogを再起動。

FTPへのアタック対策

ルールに

/.*FTP LOGIN FAILED FROM ($work->{ipv4}|$work->{ipv6}|$work->{fqdn})\,.*/i ||

を追加する。

syslogのファシリティはauth.infoなので、syslog.confの修正は必要なし。

...

引っかかればメールが飛んでくるはずなので、暫く様子を見ることにする。

ちなみに、sshを鍵認証にしていても色々うざい時には

/.*reverse mapping checking getaddrinfo for .* \[($work->{ipv4}|$work->{ipv6}|$work->{fqdn})\].*/i ||
/.*Address ($work->{ipv4}|$work->{ipv6}|$work->{fqdn}).* POSSIBLE BREAK-IN ATTEMPT!$/i ||

を追加しても良いかも。

コメント

タイトルとURLをコピーしました