ジャーナルを見ているとイラッとすることがある。
ブルートフォース系のアラートなんかを見つけたときがそうだ。
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 ||
を追加しても良いかも。
コメント