web-dev-qa-db-ja.com

ステータスコードに応じたFail2Banブロッキング動作

Fail2Banを使用しており、必要に応じて構成しました。これはnginx/error.logからログを読み取り、maxretryとタイミングセットに関する構成に応じて動作しています。問題は、これがステータスコードに応じて異なるルールを持つことが可能であるということです。

たとえば、10 404 Status code 5分後、ただし3を取得するユーザーをブロックする403 Status code

事前に感謝します。

8
Parsa Samet

/etc/fail2ban/filter.d/に適切な名前のフィルターを追加する必要があります。 nginx-{403,404}.conf

次のような行が含まれている必要があります。

nginx-403.conf:

[Definition]
failregex = ^<Host> -.*"(GET|POST|HEAD).*HTTP.*" 403
ignoreregex =

nginx-404.conf:

[Definition]
failregex = ^<Host> -.*"(GET|POST|HEAD).*HTTP.*" 404
ignoreregex =

次に、jail.confまたはconfファイルが何であれ、それらを呼び出す必要があります。

403の場合:

[nginx-403]

enabled = true
port    = http,https
filter  = nginx-403
logpath = /var/log/nginx/access.log
maxretry = 5
findtime = 300

そして404の場合:

[nginx-404]

enabled = true
port    = http,https
filter  = nginx-404
logpath = /var/log/nginx/access.log
maxretry = 10
findtime = 300
12
FarazX