Fail2banは、そのIPが禁止されていると言い続け、すでに禁止されていると言います。

Fail2banは、そのIPが禁止されていると言い続け、すでに禁止されていると言います。

これは、AWS EC2 planformのUbuntu Linux 20.04で設定したFAIL2BANバージョンv0.11.1です。 Jail.localファイルにはJail.confの標準デフォルトがありますが、私はJail.localで次の2つのJailのみを有効にします。

    # Stop the 404 attacks
    [apache-404]
    enabled = true
    port = http,https
    filter = apache-404
    logpath = /var/log/apache*/access.log
    maxretry = 5
    findtime = 60
    bantime = 300
    action = iptables-multiport[name=HTTPS, port=https, protocol=tcp]


    [recidive]
    enabled =true
    logpath  = /var/log/fail2ban.log
    banaction = %(banaction_allports)s
    bantime  = 5m
    findtime = 1d

再帰定義ファイルは、fall2banソフトウェアパッケージに含まれるファイルです。 apache-404.conf定義ファイルは次のとおりです。

    # Fail2Ban configuration file 
    [Definition]
    failregex = ^<HOST>.*"(GET|POST).*" (404|444|403|400) .*$ 
    ignoreregex =

同じユーザーがテストのためにサイトで無効なファイルを繰り返しクリックすると、失敗2ban.logファイルに次のものが表示されます。これは、構成がそうしない限り、そのユーザーをブロックしない理由を知りません。期待が大きすぎます。

    2023-03-07 12:09:56,316 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:09:56
    2023-03-07 12:10:05,513 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:10:05
    2023-03-07 12:10:08,218 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:10:07
    2023-03-07 12:10:13,025 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:10:12
    2023-03-07 12:10:14,629 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:10:14
    2023-03-07 12:10:15,213 fail2ban.actions        [173661]: NOTICE  [apache-404] Ban 71.29.12.245
    2023-03-07 12:10:15,331 fail2ban.filter         [173661]: INFO    [recidive] Found 71.29.12.245 - 2023-03-07 12:10:15
    2023-03-07 12:10:16,233 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:10:16
    2023-03-07 12:10:22,142 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:10:21
    2023-03-07 12:10:24,907 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:10:24
    2023-03-07 12:10:34,019 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:10:33
    2023-03-07 12:10:35,622 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:10:35
    2023-03-07 12:10:35,854 fail2ban.actions        [173661]: NOTICE  [apache-404] 71.29.12.245 already banned
    2023-03-07 12:10:37,521 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:10:37
    2023-03-07 12:11:25,901 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:11:25
    2023-03-07 12:11:33,912 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:11:33
    2023-03-07 12:11:35,630 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:11:35
    2023-03-07 12:11:37,245 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:11:37
    2023-03-07 12:11:37,343 fail2ban.actions        [173661]: WARNING [apache-404] 71.29.12.245 already banned
    2023-03-07 12:11:38,914 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:11:38
    2023-03-07 12:11:40,546 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:11:40
    2023-03-07 12:11:42,149 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:11:42
    2023-03-07 12:11:43,928 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:11:43
    2023-03-07 12:11:45,531 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:11:45
    2023-03-07 12:11:45,563 fail2ban.actions        [173661]: WARNING [apache-404] 71.29.12.245 already banned
    2023-03-07 12:11:47,140 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:11:46
    2023-03-07 12:11:48,126 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:11:48
    2023-03-07 12:11:51,324 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:11:51
    2023-03-07 12:11:53,258 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:11:53
    2023-03-07 12:11:54,337 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:11:54
    2023-03-07 12:11:54,585 fail2ban.actions        [173661]: WARNING [apache-404] 71.29.12.245 already banned
    2023-03-07 12:11:55,940 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:11:55
    2023-03-07 12:11:57,734 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:11:57
    2023-03-07 12:11:59,337 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:11:59
    2023-03-07 12:12:00,940 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:12:00
    2023-03-07 12:12:06,848 fail2ban.filter         [173661]: INFO    [apache-404] Found 71.29.12.245 - 2023-03-07 12:12:06
    2023-03-07 12:12:07,414 fail2ban.actions        [173661]: WARNING [apache-404] 71.29.12.245 already banned
    2023-03-07 12:14:08,567 fail2ban.filter         [173661]: INFO    [apache-404] Found 198.199.97.240 - 2023-03-07 12:14:08
    2023-03-07 12:17:07,790 fail2ban.actions        [173661]: NOTICE  [apache-404] Unban 71.29.12.245

iptablesで次のコマンドを実行すると、次の結果が表示されます。

     sudo iptables-save
    # Generated by iptables-save v1.8.4 on Tue Mar  7 12:19:33 2023
    *filter
    :INPUT ACCEPT [92:8233]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [95:90339]
    :f2b-HTTPS - [0:0]
    -A INPUT -p tcp -m multiport --dports 443 -j f2b-HTTPS
    -A f2b-HTTPS -j RETURN
    -A f2b-HTTPS -j RETURN
    -A f2b-HTTPS -j RETURN
    COMMIT

答え1

fail2ban研究とテストにより、IPアドレスがブロックされたときにブロックされたと誤って識別される原因が何であるかを確認することができました。

apache-404.confIPアドレスは、ファイルが正しく設定されていないため、まったく禁止されていないことがわかりました。アクションで定義されたポートはHTTPSのみに設定されていますが、これらの混乱を引き起こしたユーザーはHTTPSを使用していません。

これは正しい設定です(これ以上タスクは表示されません。単にデフォルト値であり、ポートは両方ともHTTPとHTTPSです)。

    # Stop the 404 attacks
    [apache-404]
    enabled = true
    port = http,https
    filter = apache-404
    logpath = /var/log/apache*/access.log
    maxretry = 5
    findtime = 60
    bantime = 300

関連情報