Самый простой способ получить максимальную отдачу от вашего сервера – снизить нагрузку с помощью блокировки списков спамерских IP-адресов, а затем вы можете использовать специальные решения, как я разработал для своего сервера, говорит Майк.

Одним из простых решений является использование fail2ban, давайте объясню, как быстро установить его, предполагая, что у вас уже есть SSH и su/root:

CentOS:

bash

yum update && yum install epel-release
yum install fail2ban
systemctl start fail2ban
systemctl enable fail2ban
sudo systemctl status fail2ban
nano /etc/fail2ban/jail.d/{name}.local
nano /etc/fail2ban/filter.d/{name}_filter.conf
# /etc/fail2ban/jail.d/{name}.local

[{name}]
enabled = true
filter = {filter-name}
action = iptables-allports[name=ACL, protocol=all]
logpath = /var/log/apache2/error_log
maxretry = 150
findtime = 1h
bantime = 3600 # Adjust this value as needed (in seconds)
# /etc/fail2ban/filter.d/{name}.conf

[Definition]
failregex = {regex-here}
ignoreregex =

Вам нужно выяснить, как сопоставить IP в лог-файле, я потратил около десяти минут, возился с regex, а затем использовал grep, чтобы проверить, что regex работает одинаково на сервере.

grep:

bash

grep -m 50 -P '{regex-here}' /var/log/apache2/error_log

После того, как вы установили regex, соответствующий нужному тексту, используйте <HOST> для идентификации IP, используйте здравый смысл, не злоупотребляйте .*?, используйте ^ и $ для начала/конца строки.

После активации с правильным regex, снова активируйте fail2ban и проверьте логи:

bash

tail -n 100 /var/log/fail2ban.log

должно появиться что-то вроде:

yaml

Found {IP} - 2024-04-26 10:53:00

Если нет, то у вас будут ошибки, которые нужно будет устранить.

Проблема может быть либо в синтаксисе, либо в несоответствии.

Идея в том, что вам нужно соответствовать тому, на что нацелены боты/сканеры.

Обычно у вас будет много 404 ошибок, когда спамерские боты сканируют на наличие случайных .php эксплойтов, поэтому я выбрал именно эту цель.

Если вы умеете работать с regex, вы можете быстро нацелиться на множество различных вещей.

Примерно через 2 минуты я заметил, что на новом сервере заблокировано уже 7 IP.

7 out of 7 hosts successfully processed

Leave a Reply

Your email address will not be published. Required fields are marked *