目次

Fail2banとはSSHへのログイン等に対する総当たり攻撃が発生した際に、自動的に攻撃元IPアドレスの通信を遮断(BAN)するようにファイアウォールを設定してくれるプログラムです。 総当たり攻撃の防止や総当たり攻撃試行時の不要なログ出力の削減に効果があります。


ConoHaで提供しているテンプレートイメージに標準ではインストールされていませんが、スタートアップスクリプト「Fail2banインストール」を使用するとFail2banのインストール・初期設定・デーモンの起動まで自動で行われます。


※インストールするOSについて以下のOSでの動作を確認しています。


CentOS 7.x以降
Ubuntu 16.04以降
Debian 9.x以降
Fedora 29以降
openSUSE-15.x以降

スクリプトを使ったサーバー作成方法

[1] コントロールパネルへログインし、左メニューの「サーバー追加」をクリックします。

STEP1

[2] 「スタートアップスクリプト」の「テンプレート」クリックします。

STEP2

[3] 「テンプレートを選択」のプルダウンから「Fail2banインストール」を選択します。

STEP3

[4] サーバー作成後、自動でFail2banが起動しています。

STEP4

※Fail2banインストール後、1度再起動されるので少々時間がかかる場合があります。

・本スタートアップスクリプトで設定されるFail2banの設定

同一IPアドレスからSSHに対して10分以内に5回認証に失敗すると1440分間(=24時間)BANとなりアクセスできなくなります。 24時間経過すると自動的にBANが解除され再びアクセス可能になります。

Fail2banの使い方

・BANされているIPアドレス一覧の確認方法

現在BANされているIPアドレスの一覧を確認するには以下のコマンドを実行してください。

fail2ban-client status sshd

「Banned IP list」の項目が現在BANされているIPアドレスです。

STEP5

・特定のIPアドレスのBANを解除する

特定のIPアドレスのBANを解除したい場合、以下のコマンドを実行してください。

※IPアドレスの部分には「BANされているIPアドレス一覧の確認方法」からBANを解除したいIPアドレスを確認して置き換えて実行してください。

※自分自身がBANされてSSHでログインできない場合、接続元IPアドレスが異なる他のネットワークからSSH接続を行うか、ConoHaのコントロールパネルにログインしてVPSのコンソール画面から実行してください。

fail2ban-client set sshd unbanip IPアドレス

・Fail2banを止める・起動する

Fail2banの動作そのものを止めたい場合には以下のコマンドを実行してください。

※Fail2banを停止すると全てのBANが解除されますのでご注意ください。

systemctl stop fail2ban # 稼働中のFail2banの停止
systemctl disable fail2ban # VM起動時のFail2ban自動起動を無効化

再度Fail2banを起動する場合には以下のコマンドを実行してください。

systemctl start fail2ban # Fail2banの起動
systemctl enable fail2ban # VM起動時のFail2ban自動起動を有効化
問題は解決できましたか?

お役立ち情報

ConoHaではサポートコンテンツの他にも以下のようなお役立ち情報をご用意しております。ぜひご活用ください。