Fail2Ban jail 管理
上級ユーザの場合、Fail2Ban jail による IP アドレスのブロックを構成することができます。Fail2Ban jail とは、1 つのフィルタと 1 つ以上のアクションを組み合わせたものです。フィルタは、ログイン試行の失敗やその他の疑わしい行動に対応するパターンを正規表現で定義します。アクションは、フィルタで不正な IP アドレスが検知されたときに実行すべきコマンドを定義します。
jail はステータスがアクティブまたは非アクティブになります。Fail2Ban サービスの実行時には、アクティブな jail のみが、ログファイルの監視と疑わしい IP アドレスのアクセス制限に使用されます。
Plesk には、あらゆるホスティングサービス(ウェブサーバ、メールサーバ、FTP サーバなど)用に jail があらかじめ構成されており、大部分の jail は同じように機能します。jail がログインの失敗を検知すると、当該サービスへのアクセスが 10 分間ブロックされます。[ツールと設定]>[IP アドレスによるアクセス制限(Fail2ban)]の[jail]タブに、jail が一覧表示されます。
以下の jail があらかじめ構成されています。
- plesk-apache:Apache での認証の失敗を監視し、攻撃者のアクセスを 10 分間制限します。
- plesk-apache-badbot:Apache のアクセスログファイルでメールグラバーや脆弱性スキャナーを探します。アクセス制限期間は 2 日間です。
- plesk-dovecot:Dovecot IMAP、POP3、および Sieve での認証の失敗を監視し、攻撃者のアクセスを 10 分間制限します。
- plesk-horde および plesk-roundcube:ウェブメールへのログインの失敗を監視し、ウェブサービスへのアクセスを 10 分間ブロックします。
- plesk-modsecurity: ModSecurity ウェブアプリケーションファイアウォールが有害だと判断した IP アドレスを禁止します。この jail は、ModSecurity が既に実行中である場合にのみアクティブ化でき、ModSecurity が「検知のみ」モードであっても攻撃者をブロックします。アクセス制限期間は 10 分間です。
- plesk-panel:Plesk ログインの失敗を監視し、攻撃者を 10 分間アクセス制限します。
- plesk-postfix:Postfix SMTP および SASL での認証の失敗を監視し、攻撃者を 10 分間アクセス制限します。
- plesk-proftpd:ProFTPD ログインの失敗を監視し、攻撃者を 10 分間アクセス制限します。
- plesk-wordpress:WordPress での認証の失敗を監視し、攻撃者を 10 分間アクセス制限します。
- recidive:Fail2Ban のログで、その他の jail によるアクセス禁止を監視します。過去 10 分間に他の jail から 5 回禁止されたホストがブロックされます。アクセス制限期間は 1 週間で、このサーバのすべてのサービスに適用されます。
- ssh:SSH ログインの失敗を監視し、攻撃者を 10 分間アクセス制限します。
未インストールの Plesk コンポーネント用に定義されている jail は一覧に表示されません。たとえば、RoundCube ウェブメールがインストールされていなければ、**plesk-roundcube**jail は使用可能な jail の一覧に表示されません。
特定の脅威からサービスを保護したり、Plesk に付属しないサードパーティのサービスを保護するには、jail を独自にセットアップして、オン/オフを切り替えたり、jail 設定を更新したり、jail で使用されるフィルタを追加することができます。
jail をアクティブ化/非アクティブ化する
jail をアクティブ化するには:
- [ツールと設定]>[IP アドレスによるアクセス制限(Fail2Ban)]>[jail]に進みます。
- jail を選択し、[オンにする]ボタンをクリックします。このボタンは、Fail2Ban サービスが実行されている([設定]タブの[侵入検知を有効化]チェックボックスがオンになっている)場合にのみ使用できます。
注釈: [オンにする]の一括操作によって複数の jail を一度に有効しようとして、そのうち 1 つの jail の起動が失敗すると、すべての jail が起動しなくなります。このような場合、jail を 1 つずつ順に有効にしてください。
jail を非アクティブ化するには:
-
[ツールと設定]>[IP アドレスによるアクセス制限(Fail2Ban)]>[jail]に進みます。
-
jail を選択し、[オフにする]ボタンをクリックします。
jail の設定を構成する
新しい jail をセットアップするには:
-
[ツールと設定] > [IP アドレス禁止(Fail2Ban)]>[jail]>[jail を追加]に進みます。
-
フィルタを指定します。
Plesk に既にセットアップされている以下のフィルタを使用することができます。
- apache-auth:Apache 認証の失敗
- apache-badbots:スパムボットおよび不正なウェブクローラ
- plesk-courierlogin:Courier IMAP および POP3 認証の失敗
- plesk-dovecot:Dovecot IMAP、POP3、Sieve 認証の失敗
- plesk-horde:Horde ウェブメール認証の失敗
- plesk-modsecurity: ModSecurity ウェブアプリケーションファイウォールによって検出された、ウェブアプリケーションに対する攻撃
- plesk-panel:Plesk 認証の失敗
- plesk-qmail:QMail SMTP 認証の失敗
- plesk-roundcube:Roundcube ウェブメール認証の失敗
- plesk-wordpress:WordPress での認証の失敗
- postfix-sasl:Postfix SMTP および SASL 認証の失敗
- proftpd:ProFTPD ログインの失敗
- recidive:Fail2Ban によって繰り返し禁止されたホスト
- sshd:SSH ログインの失敗
また、独自のフィルタを指定することもできます。詳しくは、以下の「フィルタを管理する」セクションを参照してください。
-
jail アクションを指定します。
Plesk には以下のアクションがあらかじめセットアップされ、使用できるようになっています。
- iptables:単一のポートで攻撃者をアクセス制限します。
- iptables-allports:すべてのポートで攻撃者をアクセス制限します。
- iptables-multiport:複数のポートで攻撃者をアクセス制限します。
- sendmail:指定したメールアドレスにメール通知を送信します。
[アクション]メニューからアクションを選択し、[追加]をクリックして jail に追加します。jail には任意の数のアクションを追加できます。必要に応じてアクションをカスタマイズすることができます。たとえば、通知送信用のメールアドレスを指定したり、どのポートを閉じるべきか指定したりできます。
-
[ログパス]フィールドに、Fail2ban が攻撃の兆候をチェックするログファイルを 1 つ以上指定します。
-
IP アドレスによるアクセス制限期間を秒単位で設定します。
-
失敗したログイン試行数を設定します。
-
[OK]をクリックします。
既存の jail の設定を変更するには:
- [ツールと設定]>[IP アドレスによるアクセス制限(Fail2Ban)]>[jail]に進み、jail の名前をクリックしてから、[設定を変更]をクリックします。
- jail の設定を編集して、[OK]をクリックします。
jail を削除するには:
- [ツールと設定]>[IP アドレスによるアクセス制限(Fail2Ban)]>[jail]に進みます。
- jail を選択し、[削除]をクリックします。
注釈: Plesk に付属している jail は、非アクティブ化しかできず、削除はできません。一方、自分で追加した jail は削除できます。
フィルタ管理
jail で使用できるフィルタを追加するには:
- [ツールと設定]>[IP アドレスによるアクセス制限(Fail2Ban)]>[jail]>[フィルタ管理]>[フィルタを追加]に進みます。
- フィルタ名、およびログファイルの行の検出に使用する正規表現を指定します。Fail2Ban フィルタについては、http://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Filters の Fail2Ban ドキュメントを参照してください。Fail2Ban は Python アプリケーションです。Python の正規表現については、https://docs.python.org/2/library/re.html の Python ドキュメントを参照してください。