Ты можешь хорошо оптимизировать сервер, настроить сайт на друпале, но спам-боты могут свести на нет все твои старания, вынуждая тебя переходит на более дорогой тариф, п.ч. они все время хотят больше кушать.
Настроим наш nginx сервер для победы над спам ботами --->>
Установка CFS (ConfigServer Firewall)
1. Качаем архив:
2. Распаковываем:
3. Устанавливаем:
Если есть другие фаервольные скрипты, например UFW, то нужно их остановить. Правила в iptables удалятся автоматически.
cd csf
sh install.sh
Фаервол теперь установлен и теперь проверим все ли требуемы модули iptable доступны.
Fail2ban будет работать, если при проверки везде OK.
Установка fail2ban
1. Устанавливаем модуль на друпал сайт:
Включаем syslog модуль.
2. Редактируем /etc/fail2ban/jail.conf, добавляем в конец файла:
enabled = true
port = http,https
protocol = tcp
filter = drupal-fail2ban
action = csf-ip-deny[name=drupal]
logpath = /var/log/messages
maxretry = 5
findtime = 86400
bantime = 21600
3. Создаем фильтр /etc/fail2ban/filter.d/drupal-fail2ban.conf со следующим содержимым:
failregex = \|user\|<HOST>\|.*\|Login attempt failed (.+)\.$
ignoreregex =
4. Создаем фильтр /etc/fail2ban/action.d/csf-ip-deny.conf со следующим содержимым:
[Definition]
actionstart =
actionstop =
actioncheck =
actionban = csf -d <ip> Added by Fail2Ban for <name>
actionunban = csf -dr <ip>
[Init] name = default
# Read more: http://www.digitalfaq.com/forum/web-tech/5692-fail2ban-csf-blocking.html...
5. Запуск
Останавливаем сервер:
/etc/init.d/nginx stop
рестартим fail2ban:
Запускаем сервер:
/etc/init.d/nginx start
Смотрим работу командой:
tail -f /var/log/fail2ban.log
должно быть примерно так:
2014-11-24 16:02:25,884 fail2ban.actions: WARNING [drupal-fail2ban] 110.85.100.178 already banned
2014-11-24 16:11:01,528 fail2ban.actions: WARNING [drupal-fail2ban] 91.200.12.41 already banned
2014-11-24 16:12:10,612 fail2ban.actions: WARNING [ssh] Ban 178.254.22.90
2014-11-24 16:22:11,384 fail2ban.actions: WARNING [ssh] Unban 178.254.22.90
наконец то стало легче дышать, скорость сайта возросла в 10-15 раз, боты прибиты, переходить на более дорогой тариф не надо!
Комментарии
Это интересно. А как он гуглояндексодругих ботов выделяет?
на подступе, это тот же фаервол.
см. фильтры в папке /etc/fail2ban/filter.d/
Когда-то, года 4 назад, я в рамках патруля предлагал сделать свою сеть "вредных" ip.
думаю, они не сделали, т.к. боты - это нагрузка на сервер, а нагрузка - это деньги, это и послужило причиной ухода с патруля.
Конечно не сделали. Как минимум, я перестал в патруле работать.
Единственное, что было, это ограничение по User-Agent в конфиге nginx