金子邦彦研究室インストールUbuntu サーバ,リモート接続fail2ban を用いて SSH への侵入検知(Ubuntu 上)

fail2ban を用いて SSH への侵入検知

Fail2ban のインストール(Ubuntu 上)

Fail2ban は、 apache 等のログファイルを読み取って、侵入検知を行うソフトウェア

sudo apt -y update
sudo apt -y install fail2ban
sudo fail2ban-client reload
sudo fail2ban-client status ssh

Fail2ban の設定

設定は /etc/fail2ban/jail.local で行われている. 既定(デフォルト)の設定では、一定時間内でのログインの失敗が「3」を超えると、600秒ロックされるようになっている (下図)

[image]

設定を変えたいときは、/etc/fail2ban/jail.conf ではなく, /etc/fail2ban/jail.local を書き換えて行う. 書き換えが終わったら, 次のコマンドを実行する.

sudo fail2ban-client reload
sudo service sshd restart

ブラックリストサイトからの接続拒否(Fail2Ban を利用)(Ubuntu の場合)

前準備として,SSH サーバの導入が終わっていること.

https://github.com/mitchellkrogza/Fail2Ban-Blacklist-JAIL-for-Repeat-Offenders-with-Perma-Extended-Banning の公開情報による

  1. 次のコマンドを実行
    sudo apt -y update
    sudo apt -y install fail2ban
    sudo fail2ban-client reload
    sudo fail2ban-client status sshd
    sudo wget https://raw.githubusercontent.com/mitchellkrogza/Fail2Ban-Blacklist-JAIL-for-Repeat-Offenders-with-Perma-Extended-Banning/master/filter.d/blacklist.conf -O /etc/fail2ban/filter.d/blacklist.conf
    sudo wget https://raw.githubusercontent.com/mitchellkrogza/Fail2Ban-Blacklist-JAIL-for-Repeat-Offenders-with-Perma-Extended-Banning/master/action.d/blacklist.conf -O /etc/fail2ban/action.d/blacklist.conf
    sudo service fail2ban restart
    
  2. /etc/fail2ban/jail.local に次の設定を追加

    このファイルがないときは,ファイルを新規作成.

    [DEFAULT]
    port = 0:65535
    filter = %(__name__)s
    
    [blacklist]
    enabled = true
    logpath  = /var/log/fail2ban.*
    filter = blacklist
    banaction = blacklist
    action = %(action_)s
    bantime  = 31536000   ; 1 year
    findtime = 31536000   ; 1 year
    maxretry = 10
    
  3. 次のコマンドを実行
    sudo touch /etc/fail2ban/ip.blacklist
    sudo chmod 775 /etc/fail2ban/ip.blacklist
    sudo service fail2ban restart
    sudo fail2ban-client reload
    sudo service sshd restart
    
  4. しばらく運用した後,次のコマンドでログなどを確認.
    cat /var/log/fail2ban.log
    cat /etc/fail2ban/ip.blacklist