RU EN ES

Всё о любом домене или IP-адресе

Домены ХостингХостинг VPS ХостингVPS / VDS SSLСертификаты О компании О компании

VPS / VDS хостинг >  Настройка Fail2Ban для защиты от подбора паролей

Служба Fail2Ban помогает блокировать ip адреса ботов, которые подбирают пароли к вашему сайту. В последнее время часто используется для проведения атак, так как большое кол-во post запросов создает существенную нагрузку на веб сервер. В наших примерах мы разберем блокировку ip адресов на примере популярной CMS - Wordpress, а также для службы ssh.

Установим службу Fail2Ban

Подключаем Epel репозиторий


yum install epel-release # далее в /etc/yum.repos.d/epel.repo необходимо включить его, enabled=1


yum install fail2ban


Общие настройки

Служба Fail2ban хранит свои файлы конфигурации в каталоге /etc/fail2ban. Там есть файл со значениями по умолчанию, который называется jail.conf. Поскольку этот файл может быть перезаписан обновлениями пакета, мы не должны использовать его. Вместо этого мы напишем новый файл с именем jail.local. Любые значения, определенные в jail.local, переопределяют значения в jail.conf.

jail.conf содержит раздел [DEFAULT], за которым следуют разделы для отдельных служб. jail.local может переопределить любое из этих значений. Кроме того, файлы в /etc/fail2ban/jail.d/ могут использоваться для переопределения настроек в обоих этих файлах. Файлы применяются в следующем порядке:

  1. /etc/fail2ban/jail.conf
  2. /etc/fail2ban/jail.d/*.conf, alphabetically
  3. /etc/fail2ban/jail.local
  4. /etc/fail2ban/jail.d/*.local, alphabetically

Проверим и добавим настройки по умолчанию в файл /etc/fail2ban/jail.local


[DEFAULT]

# Ban hosts for one hour:
bantime = 3600

# Override /etc/fail2ban/jail.d/00-firewalld.conf:
banaction = iptables-multiport

[sshd]
enabled = true


Перезапустим службу service fail2ban restart

Проверим состояние командой


fail2ban-client status


Wordpress фильтр

Добавим фильтр и правило (jail) блокировки ip адресов которые обратились по адресу /wp-login.php (админка wordpress) более 10 раз с одного ip адреса в течении 10 минут.

Фильтр /etc/fail2ban/filter.d/wordpress.conf:


[Definition]

failregex = ^<HOST>.* "POST .*/wp-login.php([/\?#\\].*)? HTTP/.*" 200

ignoreregex = 


По данному фильтру мы будем искать ip адреса.

Добавим jail /etc/fail2ban/jail.d/wordpress.conf:


[wordpress]

action   = iptables-multiport[name="wordpress", port="http,https"]

filter   = plesk-wordpress

logpath  = /var/www/vhosts/system/*/logs/*access*log

           /var/log/httpd/*access_log


Если Вы используете другой веб сервер, Вам необходимо изменить фильтр согласно тому как он формируем лог и указать верный путь до файла журнала (access_log). После внесения изменений необходимо перезапустить службу.

Личный кабинет

Вход

Напомнить пароль


Регистрация


Проверить почту:

Логин:
Пароль:

VPS Каталог приложений

Дополнительные услуги

База знаний

VPS хостинг

Нас выбрали ведущие медиа компании с большими объемами данных и высокой нагрузкой

Рассчитать тариф

Перенос домена