fail2ban: регулярное выражение для блокировки \ x00 запросов?

Время от времени мой сервер выходит из строя, и когда я проверяю свои журналы nginx, я обычно вижу что-то вроде этого:

78.37.54.31 - - [20 / апр / 2016: 20: 58: 51 +0300] "\ x00 \ x00 \ x00TZ \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x01 \ x00 \ x00 \ x04 \ x010I \ x00 \ x00 \ x00 \ x00 \ xFC \ x01 \ xA8 \ xC0 \ x00! \ x00 \ xFDk \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 "400 166" - "" - " 89.169.219.212 - - [21 / Апр / 2016: 11: 37: 22 +0300] "\ x00 \ x00 \ x00 c \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 \ x00 "400 166" - "" - "

Я установил fail2ban по умолчанию рекомендуемая конфигурация, рекомендованная в этой статье DigitalOcean , но она не помешала сканерам такого типа периодически перегружать мой сервер. Установка naxsi сейчас для меня не вариант. Может ли кто-нибудь помочь мне сформировать правильные правила регулярного выражения для fail2ban? Тюрьмы "apache-badbots" и "apache-wootwoot" (которые можно легко найти в Google) у меня не сработали.

2
задан 25 April 2016 в 22:41
1 ответ

В /etc/fail2ban/jail.conf

[nginx-x00]
enabled  = true
port     = http,https
filter   = nginx-x00
logpath  = /var/log/nginx/access.log
bantime = 3600
maxretry = 1

и в /etc/fail2ban/filter.d/nginx-x00.conf

[Definition]

failregex = ^<HOST> .* ".*\\x.*" .*$

, и все готово. В следующий раз, когда кто-то будет с вами связываться, он / она будет забанен на час или в любое другое время, которое вы укажете в бантайме.

Не беспокойтесь о правильно сформированных запросах с \ x, потому что они закодированы в urlencode, и они будут обрабатываться нормально.

1143371]

1
ответ дан 3 December 2019 в 12:41

Теги

Похожие вопросы