Защищаем Wordress от перебора паролей с помощью Fail2Ban

fail2ban_and_wordpressНаверно, самым простым и действенным методом от перебора паролей является установка капчи. Но я как то не проникся идеей ее установки и решил задействовать более тяжелую артиллерию, а именно защитить от брутфорса с помощью Fail2Ban (Примечание: инструмент позволяющий защитить сервер от брутфорса таких сервисов как SSH, FTP, Apache и т.д). Fail2Ban не привязан к каким то конкретным сервисам. Блокировка происходит на основании шаблонов, которые определяются в файлах конфигурации. Fail2Ban в реальном времени отслеживание изменения в логах и, при появлении строки из объявленного шаблона, блокирует IP-адрес и высылает отчет на почту админу.

Поскольку добрые люди уже поработали надо дополнением к WordPress,- нам останется его только чуть допилить Fail2Ban для нашей системы. Итак, сначала установите в WordPress дополнение WP fail2ban, либо скачав и установив его «вручную», либо напрямую из раздела Плагины → Добавить новый.

Далее установим сам пакет Fail2Ban (ествественно все действия делаются через sudo или от пользователя root).

После успешной установки разработчики рекомендуют нам скопировать файл конфигурации шаблона wordpress.conf из каталога с плагином в каталог /etc/fail2ban/filter.d

cp /var/www/html/www.voip-lab.ru/wp-content/plugins/wp-fail2ban/wordpress.conf /etc/fail2ban/filter.d

Ну и остается последнее действие — откройте файл /etc/fail2ban/jail.conf и добавьте в конец файла следующие строки

Немного расскажу о параметрах:

  • enabled — ну тут не надо ничего объяснять;
  • filter — указывает какой фильтр использовать при анализе логов;
  • ignoreip — «белый список» IP-адресов. В качестве разделителя используйте пробел;
  • logpath — путь к логам для анализа. Убедитесь, что логи об ошибочной авторизации пишутся именно туда;
  • bantime — время в секундах, на которое будет заблокирован IP-адрес;
  • findtime — время в секундах, в течении которых будет проводится анализ на maxretry
  • maxretry — количество попыток в течении findtime
  • action — действие, которое будет производтся при возникновении события на блокирование IP-адреса;

Говоря «человеческим языком» Fail2Ban будет обрабатывать /var/log/messages и если в нем в течении 10 минут (600=60*10) будет более 5 попыток подобрать пароль, то Fail2Ban заблокирует доступ этому IP-адресу по портам 80 и 443 на время 24 часа (86400=60*60*24).

Если вы сомневаетесь, что логи об ошибках автризации пишутся не туда — то найдите файл с фразой Authentication failure for с помощью следующей команды

Если файл не найден, сами сделайте пару попыток авторизоваться с неверным паролем и еще раз пробегитесь по файлам egrep-ом. Если и в этом случае ничего не нашлось, то необходимо открыть файл /etc/syslog.conf и найти куда пишется LOG_INFO. В моем случае это была строка

Ну и в заключение необходимо запустить Fail2Ban

А вот и «первые ласточки»

fail2banWordpress

Всем спасибо за внимание! =)

 

1 комментарий к “Защищаем Wordress от перебора паролей с помощью Fail2Ban

Оставить ответ

Ваш e-mail не будет опубликован. Обязательные поля помечены *