ssh brute force attack 対策に fail2ban を試してみました。
ssh でログインを試みる攻撃が沢山来ているので、fail2ban を使って同じ IP から指定した回数以上認証に失敗した場合には、その IP からのアクセスを一定期間拒否しするようにしました。
- インストール
- 設定
- 自動起動設定
- 起動
# yum install --enablerepo=rpmforge fail2ban |
jail.conf を変更しました。
# cd /etc/fail2ban # cp -p jail.conf jail.conf.ORG # vi jail.conf |
[DEFAULT] と [ssh-iptables] の部分を変更しました。
[DEFAULT] ignoreip = 127.0.0.1 10.0.0.0/24 maxretry = 5 |
[ssh-iptables] enabled = true filter = sshd action = iptables[name=SSH, port=ssh, protocol=tcp] sendmail-whois[name=SSH, dest=root, sender=foo@example.com] logpath = /var/log/secure maxretry = 5 |
# chkconfig fail2ban on # chkconfig --list fail2ban fail2ban 0:off 1:off 2:on 3:on 4:on 5:on 6:off |
# service fail2ban start Starting fail2ban: [ OK ] |
起動するとログファイルができます。
# ll /var/log/fail2ban.log -rw------- 1 root root 2306 May 10 10:42 /var/log/fail2ban.log |
実際にアタックを受け、fail2ban が動作すると以下のようなメールが jail.conf で指定したアドレスに届きました。(アドレスなどは書き換えてあります)
Subject: [Fail2Ban] SSH: banned 111.222.333.444 From: Fail2Ban <foo@example.com> To: root@example.com Date: Tue, 11 May 2010 14:23:00 +0900 (JST) Hi, The IP 111.222.333.444 has just been banned by Fail2Ban after 5 attempts against SSH. Here are more information about 111.222.333.444: [Querying whois.arin.net] [Redirected to whois.lacnic.net] [Querying whois.lacnic.net] [whois.lacnic.net] % Joint Whois - whois.lacnic.net % This server accepts single ASN, IPv4 or IPv6 queries % LACNIC resource: whois.lacnic.net % Copyright LACNIC lacnic.net % The data below is provided for information purposes % and to assist persons in obtaining information about or % related to AS and IP numbers registrations % By submitting a whois query, you agree to use this data % only for lawful purposes. % 2010-05-11 02:22:59 (BRT -03:00) inetnum: 111.222/14 status: allocated owner: XXXXXXX ownerid: XX-XX-XX-XX responsible: XXXXXXXX address: XXXXX,1,2,3 address: 12345 country: XX phone: +11 11 1111111 owner-c: XXX tech-c: XXX abuse-c: XXX inetrev: 111.222/16 nserver: NS.example.com nsstat: 2010XXXX AA nslastaa: 2010XXXX nserver: NS2.example.com nsstat: 2010XXXX AA nslastaa: 2010XXXX created: 2010XXXX changed: 2010XXXX nic-hdl: XXX person: XXXXX e-mail: XXX@example.com address: XXXX 1 2 3 address: 1 XX address: XXXX 1 2 3 address: 1 XX country: XX phone: +XX XX XXXXXXX created: 20010XXXX changed: 2010XXXX % whois.lacnic.net accepts only direct match queries. % Types of queries are: POCs, ownerid, CIDR blocks, IP % and AS numbers. Regards, Fail2Ban |
また、/var/log/secure を見たところ実際に該当する IP からの ssh 認証失敗が数回(5回?)でストップしていました 🙂
これなかなか良いですね。
やられっぱなしではないというところが精神的に良いです