nginx 포스트 플러드에 대한 Fail2ban은 시간 간격을 무시합니다.

nginx 포스트 플러드에 대한 Fail2ban은 시간 간격을 무시합니다.

30초 간격 내에 100개 이상의 POST 요청을 보낼 때 호스트를 금지하는 Fail2ban 필터를 만들려고 합니다.

지역 교도소:

[nginx-postflood]

enabled = false
filter = nginx-postflood
action = myaction
logpath = /var/log/nginx/access.log
findtime = 30
bantime = 100
maxretry = 100

nginx-postflood.conf

[Definition]
failregex = ^<HOST>.*"POST.*
ignoreregex =

GREP를 사용하여 정규식을 테스트할 수 있었고 호스트 및 POST 요청과 일치했습니다.

문제는 이를 금지한다는 점이다.하나 이상의 POST 요청을 수행하는 모든 호스트. 즉, 걸리지 않을 수도 있음시간을 찾고또는최대 재시도 횟수옵션이 고려됩니다. 제가 보기에는 타임스탬프 문제인 것 같습니다.

nginx 로그의 예시 라인:

5.5.5.5 - user [05/Aug/2014:00:00:09 +0200] "POST /auth HTTP/1.1" 200 6714 "http://referer.com" "Mozilla/5.0 (Windows NT 6.2; WOW64; rv:31.0) Gecko/20100101 Firefox/31.0"

도움이 필요하세요?

관련 정보