ネットにsshdを公開していると、やっぱり、攻撃されますよね
鍵認証しか許してないので、そう簡単には、ログインできないのに
ログに攻撃の後があったり、sshに接続が頻繁にあったりと、嫌な感じです。
そういう時は、sshguardを使って、退散するんですが、10.1になってから、なぜか、カーネルダンプを吐いて死にます。
ちゃんと、調べれば、何かわかるんでしょうけど、面倒なんで、別の方法をとりました。
bruteblockというやつです。
普通にportsからインストールすれば、OKです。
cd /usr/ports/security/bruteblock
make install
後は、ipfwを有効にして、ssh用の設定をすれば使えました。
/etc/rc.conf
firewall_enable="YES"
firewall_type="/etc/ipfw.conf"
firewall_logging="YES"
firewall_script="/etc/firewall.conf"
bruteblockd_enable="YES"
bruteblockd_table="1"
bruteblockd_flags="-s 5"
/etc/ipfw.conf <-これは、whiteな設定ですので、各自、環境に合わせて下さい。
add 100 pass all from any to any
/etc/firewall.conf
#!/bin/sh
ipfw add 5 deny ip from table\(1\) to me
ipfw add 100 pass all from any to any
/etc/syslog.d/ssh.conf
auth.info;authpriv.info |exec /usr/local/sbin/bruteblock -f /usr/local/etc/bruteblock/ssh.conf
/etc/syslog.d/mail.conf
mail.info |exec /usr/local/sbin/bruteblock -f /usr/local/etc/bruteblock/mail.conf
/usr/local/etc/bruteblock/ssh.conf
regexp4 = sshd.*Received disconnect from (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}): 11: \[\S+\]
max_count = 4
within_time = 60
reset_ip = 600
ipfw2_table_no = 1
/usr/local/etc/bruteblock/mail.conf
regexp = smtpd.*\[.*\]. warning.*\[(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\]
max_count = 4
within_time = 60
reset_ip = 600
ipfw2_table_no = 1
/var/log/auth.logを見ていると、bruteblockdが、頑張ってるのが、わかるはずです。
これで、安心して、眠れます。
テーブル状況表示
ipfw table 1 list