Защита WordPress с помощью Fail2Ban

WordPress – это надёжная и производительная система управления контентом (CMS) с открытым исходным кодом. Будучи очень распространённой системой, WordPress часто подвергается атакам злоумышленников, агентов, вредоносных сетевых ботов и спамеров. Утилита Fail2ban позволяет предотвратить несанкционированный  доступ как к сайту WordPress, так и к серверу в целом. Она отслеживает подозрительные или повторяющиеся неудачные попытки входа и блокирует эти IP-адреса, меняя текущие правила брандмауэра сервера.

Данное руководство поможет защитить WordPress при помощи Fail2ban на сервере Ubuntu 16.04.

Установка Fail2ban для WordPress

Откройте панель управления сайтом в браузере:

В левой боковой панели найдите раздел Plugins (Плагины). Откройте этот раздел, и на экране появится список установленных плагинов.

Выберите опцию Add New (Добавить новый), чтобы добавить новые плагины для сайта WordPress. В данном случае нужно найти плагин Fail2ban.

Используйте появившееся поле поиска, чтобы найти нужный плагин. В результате программа вернёт несколько плагинов с похожим названием, среди которых должен быть искомый плагин – WP fail2ban.

Нажмите Install Now (Установить), чтобы запустить установку. После установки активируйте плагин Activate Plugin (Активировать)

Настройка плагина WP-Fail2Ban

Данный плагин содержит фильтры Fail2ban, которые нужно установить, чтобы инструмент Fail2ban мог парсить логи авторизации.

Для этого подключаемся к вашему серверу например через ssh

Перемещаем фильтры из каталога плагинов WordPress в директорию Fail2Ban:

sudo cp /var/www/html/wp-content/plugins/wp-fail2ban/filters.d/*.conf /etc/fail2ban/filter.d/

Новый фильтр wordpress.conf позволяет настроить Fail2ban для отслеживания определённого лога авторизации. Для этого нужно отредактировать /etc/fail2ban/jail.local. Файлы jail содержат наборы правил и действий, применяемых к IP-адресам, от которых исходят неудачные попытки ввода пароля.

Откройте jail.local в текстовом редакторе:

sudo nano /etc/fail2ban/jail.local

Вставьте следующие строки в конец файла. Они включат плагин, настроят фильтры для wordpress, укажут соответствующие логи и разрешат трафик http и https.

[wordpress-hard]
enabled = true
filter = wordpress-hard
logpath = /var/log/auth.log
maxretry = 1
port = http,https
findtime = 300
bantime = 7200
ignoreip = xxx.xxx.xxx.xxx

[wordpress-soft]
enabled = true
filter = wordpress-soft
logpath = /var/log/auth.log
maxretry = 3
port = http,https
findtime = 300
bantime = 7200
ignoreip = xxx.xxx.xxx.xxx

Сохраните и закройте файл.

Затем нужно перезапустить Fail2ban, чтобы обновить настройки и включить фильтр.

sudo /etc/init.d/fail2ban restart

Чтобы узнать внешний IP в операционной системе на основе Linux используйте:

curl ipecho.net/plain ; echo

Чтобы убедиться, что ваша успешная авторизация не была отмечена фильтром, используйте:

sudo fail2ban-client status wordpress-soft

Вывод будет примерно такой:

Status for the jail: wordpress-soft
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| `- File list: /var/log/auth.log
`- Actions
|- Currently banned: 0
|- Total banned: 0
`- Banned IP list:
sudo fail2ban-client status wordpress-hard
Status for the jail: wordpress-hard
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| `- File list: /var/log/auth.log
`- Actions
|- Currently banned: 1
|- Total banned: 1
`- Banned IP list: 10.0.5.10

Заключение

Теперь WordPress надёжно защищён плагином Fail2ban. При этом инструмент Fail2ban не заблокирует ваш IP или IP заведомо безопасных пользователей. Кроме того, логи не будут перегружаться благодаря заведомо настроенной ротации. Теперь сайт WordPress защищён от несанкционированных попыток входа, спама в комментариях и взлома.

Если есть вопросы, то пишем в комментариях и не забываем проголосовать за статью.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Защита WordPress с помощью Fail2Ban
5 (100%) 4 votes

Оставить комментарий

avatar
  Подписаться  
Уведомление о
Меню

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам:

Рейтинг@Mail.ru