Fail2Ban - я хотел бы знать, как заблокировать определенный бот c, записанный в журнале доступа Nginx - PullRequest
0 голосов
/ 19 июня 2020

Я хочу заблокировать определенного c бота с помощью Fail2Ban. Кто-нибудь может сказать мне, как?

Вот бот, которого вы хотите забанить :. Серверная среда MJ12bot, AhrefsBot, DotBot, SemrushBot

:. CentOS7 Nginx

Журналы хранятся в:.

/var/log/nginx/domain-name/access.log
/var/log/nginx/domain-name/error.log

1 Ответ

0 голосов
/ 19 июня 2020

Вы должны отредактировать /etc/fail2ban/jail.conf, чтобы включить фильтр nginx-botsearch

[nginx-botsearch]
enabled = true 

Затем вам нужно будет добавить свои фильтры RegEx в /etc/fail2ban/filter.d/nginx-botsearch.conf

# Fail2Ban filter to match web requests for selected URLs that don't exist
#

[INCLUDES]

# Load regexes for filtering
before = botsearch-common.conf

[Definition]

failregex = ^<HOST> \- \S+ \[\] \"(GET|POST|HEAD) \/<block> \S+\" 404 .+$
            ^ \[error\] \d+#\d+: \*\d+ (\S+ )?\"\S+\" (failed|is not found) \(2\: No such file or directory\), client\: <HOST>\, server\: \S*\, request: \"(GET|POST|HEAD) \/<block> \S+\"\, .*?$
            HERE_YOUR_NEW_REGEX
ignoreregex = 


# DEV Notes:
# Based on apache-botsearch filter
# 
# Author: Frantisek Sumsal

и, наконец, вы необходимо перезапустить сервис Fail2Ban

service fail2ban restart
...