Назад | Перейти на главную страницу

Блокировка Fail2ban не работает должным образом [DDOS]

У меня такая тюрьма:

##To stop DOS attack from remote host.
[http-get-dos]
enabled = true
port = http,https
filter = http-get-dos
logpath  = /usr/local/nginx/localhost-access.log
maxretry = 100
findtime = 300
bantime = 6000
action = iptables[name=HTTP, port=http, protocol=tcp]

Status for the jail: http-get-dos
|- Filter
|  |- Currently failed: 18
|  |- Total failed:     99871
|  `- File list:        /usr/local/nginx/localhost-access.log
`- Actions
   |- Currently banned: 2
   |- Total banned:     5
   `- Banned IP list:   94.60.20.166 193.112.177.8

Однако после запуска fail2ban-client status http-get-dos, где IP-адрес отмечен как заблокированный, я все еще получаю много входящих запросов с заблокированного IP-адреса, что приведет к высокой загрузке ЦП:

193.112.177.8 - - [01/Jul/2019:17:48:59 +0100] "GET /companies/xxx HTTP/1.1" 200 18935 "https://example.com/companies/xxx" "shelby/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0"
193.112.177.8 - - [01/Jul/2019:17:48:59 +0100] "GET /companies/xxx HTTP/1.1" 200 18935 "https://example.com/companies/xxx" "asdfgh/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0"
193.112.177.8 - - [01/Jul/2019:17:49:00 +0100] "GET /companies/xxx HTTP/1.1" 200 18935 "https://example.com/companies/xxx" "tigger/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0"
...

Теперь, если я это сделаю:

iptables -A INPUT -s 193.112.177.8 -j DROP 

Больше запросов с этого IP в логах не вижу. Возникает вопрос, почему бан от fail2ban не работает, как указано выше?

Я считаю, что ваш сайт https и поэтому вы все еще получаете запросы, потому что вы не баните https но только http

Правильное действие

action = iptables-multiport[name=HTTP, port="http,https", protocol=tcp]