port22 sshd
port25 SMTP
インターネットに接続していると、普通に、ブルートフォース攻撃DoS攻撃に晒される。
それを防止するソフトで、UNIX BSD系は、NetBSD blacklistd、FreeBSDは、11.0-RELEASEから、マージされた。
それぐらい攻撃が多くて、OSの標準対応になった訳だ。5分で2500回近く攻撃される場合もある。
blacklistd(8)の設定方法
blacklistd(8)はデフォルトの設定だと/var/db/blacklistd.dbに接続エントリ情報を保持していますので,再起動してもこのデータは保持されたままです。-fだと、ブロックをクリアー、-rだと、再度ルールを適用です。
/etc/rc.confに追加する設定
# sshd
sshd_enable="YES"
sshd_flags="-o UseBlacklist=yes"
# blacklistd
blacklistd_enable="YES"
blacklistd_flags="-r"
# firewall
firewall_enable="YES"
firewall_type="OPEN"
次に、ipfwが使われるように、ファイルを作成します。
touch /etc/ipfw-blacklist.rc
これで、再起動すると、sshd(8)がblacklistd(8)を利用可能な状態で起動してきます。
ps auxww | grep sshd
ipfw(8) OPENで設定されているデフォルトのフィルタリングルール
ipfw list
00100 allow ip from any to any via lo0
00200 deny ip from any to 127.0.0.0/8
00300 deny ip from 127.0.0.0/8 to any
00400 deny ip from any to ::1
00500 deny ip from ::1 to any
00600 allow ipv6-icmp from :: to ff02::/16
00700 allow ipv6-icmp from fe80::/10 to fe80::/10
00800 allow ipv6-icmp from fe80::/10 to ff02::/16
00900 allow ipv6-icmp from any to any icmp6types 1
01000 allow ipv6-icmp from any to any icmp6types 2,135,136
65000 allow ip from any to any
65535 deny ip from any to any
blacklistd(8)の動作も確認
ps auxww | grep blacklistd
blacklistd(8)の設定ファイルである/etc/blacklistd.conf
の設定は、3回失敗すると、24時間ブロックと書かれています。
ブロックされると
ipfw list
02022 deny tcp from table(port22) to any 22
02025 deny tcp from table(port25) to any 25
という具合で、追加されます。
で、ブロックルールが追加されたのを確認するのは
blacklistctl dump -a
blacklistctl dump -ra blacklistctl(8)コマンドは-raを指定するとルールが適用される残り時間を表示させることもできます。
OSが標準で搭載してきている機能でも、適切に設定する事が重要。FreeBSD以外のWindowsでも、同様。
ほとんどの人は、デフォルトの設定のまんま使っている。せっかくの機能が使われておらず
それが、セキュリティの脆弱性になっているのを何度も見てきたが、道具も正しい使い方をして欲しい。