fail2ban インストール

ssh brute force attack 対策に fail2ban を試してみました。

ssh でログインを試みる攻撃が沢山来ているので、fail2ban を使って同じ IP から指定した回数以上認証に失敗した場合には、その IP からのアクセスを一定期間拒否しするようにしました。

  1. インストール
  2. # yum install --enablerepo=rpmforge fail2ban
  3. 設定
  4. 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
  5. 自動起動設定
  6. # chkconfig fail2ban on
    # chkconfig --list fail2ban
    fail2ban        0:off   1:off   2:on    3:on    4:on    5:on    6:off
  7. 起動
  8. # 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回?)でストップしていました 🙂

これなかなか良いですね。
やられっぱなしではないというところが精神的に良いです :mrgreen: