Управление джейлами Fail2Ban
Продвинутые пользователи также могут настроить параметры так называемых джейлов Fail2Ban, которые служат для блокировки IP-адресов. Джейл Fail2Ban ― это комбинация из фильтра и одного или нескольких действий. Фильтр определяет регулярное выражение, которое совпадает с шаблоном, соответствующим неудавшейся попытке входа или другим подозрительным операциям. Действия определяют команды, которые выполняются, когда фильтр обнаруживает опасный IP-адрес.
Джейлы могут находиться в активном или неактивном состоянии. Во время работы службы Fail2Ban только активные джейлы будут использоваться для мониторинга файлов журналов и блокировки подозрительных IP-адресов.
В Plesk, существуют уже настроенные джейлы для всех служб хостинга (веб-сервер, почтовый сервер, FTP сервер и т. д.). Многие из них работают одинаково: обнаруживают неудачные попытки входа и блокируют доступ к службе на 10 минут. Эти джейлы находятся на вкладке Джейлы на странице Инструменты и настройки > Блокировка IP-адресов (Fail2Ban).
Доступны следующие заранее настроенные джейлы:
- plesk-apache ищет ошибки авторизации Apache и блокирует нарушителей на 10 минут.
- plesk-apache-badbot ищет коллекторы адресов электронной почты и сканеров уязвимостей в файлах журнала доступа Apache. Блокировка длится два дня.
- plesk-dovecot ищет ошибки аутентификации Dovecot IMAP, POP3 и Sieve и блокирует нарушителей на 10 минут.
- plesk-horde и plesk-roundcube обнаруживают ошибки входа в веб-интерфейс почтового клиента и блокируют доступ к веб-службе на 10 минут.
- plesk-modsecurity блокирует IP-адреса, определенные как вредоносные брандмауэром для веб-приложений ModSecurity. Этот джейл можно активировать только в том случае, если работает ModSecurity; и он будет блокировать обнаруженные адреса, даже если ModSecurity работает в режиме «Только обнаружение». Блокировка длится 10 минут.
- plesk-panel обнаруживает ошибки входа в Plesk и блокирует нарушителей на 10 минут.
- plesk-postfix ищет ошибки аутентификации Postfix SMTP и SASL и блокирует нарушителей на 10 минут.
- plesk-proftpd ищет ошибки входа на ProFTPD и блокирует нарушителей на 10 минут.
- plesk-wordpress ищет ошибки аутентификации WordPress и блокирует нарушителей на 10 минут.
- recidive ищет блокировки, установленные другими джейлами, в собственном журнале Fail2Ban. Он блокирует хосты, которые за последние 10 минут были 5 раз заблокированы другими джейлами. Блокировка длится одну неделю и распространяется на все службы на сервере.
- ssh ищет ошибки входа по SSH и блокирует нарушителей на 10 минут.
Заранее настроенные джейлы для неустановленных компонентов Plesk не показываются в списке. Например, если веб-почта RoundCube не установлена, джейла plesk-roundcube нет в списке доступных джейлов.
Для защиты своих и сторонних услуг, не входящих в Plesk, от конкретных угроз вы можете создавать собственные джейлы, включать и выключать их, менять их настройки и добавлять фильтры.
Активация и деактивация джейлов
Чтобы активировать джейл:
- Откройте Инструменты и настройки > Блокировка IP-адресов (Fail2Ban) > Джейлы.
- Выберите джейл и нажмите кнопку Включить. Эта кнопка доступна только в том случае, когда служба Fail2Ban включена (стоит галочка Включить обнаружение атак на вкладке Настройки).
Примечание: Если вы попытаетесь включить сразу несколько джейлов с помощью групповой операции Включить и один из джейлов не сможет запуститься, то остальные джейлы тоже не запустятся. В этом случае включите нужные джейлы по одному.
Чтобы деактивировать джейл:
-
Откройте Инструменты и настройки > Блокировка IP-адресов (Fail2Ban) > Джейлы.
-
Выберите джейл и нажмите кнопку Выключить.
Настройка джейла
Чтобы создать джейл:
-
Откройте Инструменты и настройки > Блокировка IP-адресов (Fail2Ban) > Джейлы > Добавить джейл.
-
Укажите фильтр.
Вы можете использовать следующие фильтры, доступные в Plesk по умолчанию:
- apache-auth ― ошибки авторизации Apache,
- apache-badbots ― спам-боты и нежелательные поисковые роботы,
- plesk-courierlogin ― ошибки IMAP- и POP3-аутентификации Courier,
- plesk-dovecot ― ошибки IMAP-, POP3- и Sieve-аутентификации,
- plesk-horde ― ошибки аутентификации веб-почты Horde,
- plesk-modsecurity ― атаки на веб-приложения, обнаруженные брандмауэром для веб-приложений ModSecurity,
- plesk-panel ― ошибки аутентификации Plesk,
- plesk-qmail ― ошибки аутентификации QMail SMTP,
- plesk-roundcube ― ошибки аутентификации веб-почты Roundcube,
- plesk-wordpress ― ошибки аутентификации WordPress,
- postfix-sasl ― ошибки SMTP- и SASL-аутентификации Postfix,
- proftpd ― ошибки входа по ProFTPD,
- recidive ― повторно заблокированные адреса,
- sshd ― ошибки входа по SSH.
Вы также можете добавить свой фильтр. Подробности смотрите далее в разделе Управление фильтрами.
-
Укажите действие джейла.
Вы можете использовать следующие действия, доступные в Plesk по умолчанию:
- iptables ― заблокировать злоумышленника на одном порту,
- iptables-allports ― заблокировать злоумышленника на всех портах,
- iptables-multiport ― заблокировать злоумышленника на нескольких портах,
- sendmail ― отправить уведомление на указанный адрес электронной почты.
Выберите действие из меню Действия и нажмите Добавить, чтобы добавить его в джейл. Вы можете добавить в джейл любое количество действий. Действия можно изменять в соответствии с вашими потребностями, например, указать нужный адрес электронной почты для отправки уведомления или порты, которые должны быть закрыты.
-
В поле Путь к журналу укажите один или более файлов журнала, которые Fail2ban будет проверять на наличие признаков атаки.
-
Утановить продолжительность блокировки IP-адреса в секундах.
-
Установите количество неудачных попыток входа.
-
Нажмите OK.
Чтобы изменить настройки существующего джейла:
- Откройте Инструменты и настройки > Блокировка IP-адресов (Fail2Ban) > Джейлы, нажмите название джейла, затем нажмите Изменить настройки.
- Внесите изменения в настройки джейла и нажмите OK.
Чтобы удалить джейл:
- Откройте Инструменты и настройки > Блокировка IP-адресов (Fail2Ban) > Джейлы.
- Выберите джейл и нажмите Удалить.
Примечание: Джейлы, поставляемые с Plesk, нельзя удалить, но можно деактивировать. Джейлы, которые вы добавили сами, удалить можно.
Управлять фильтрами
Чтобы добавить новый фильтр для джейла:
- Откройте Инструменты и настройки > Блокировка IP-адресов (Fail2Ban) > Джейлы > Управление фильтрами > Добавить фильтр.
- Укажите имя фильтра и регулярное выражение, по которому будут проверяться строки в файлах журналов. Подробнее о фильтрах Fail2Ban смотрите в документации Fail2Ban ― http://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Filters. Так как Fail2Ban написан на Python, подробности о регулярных выражениях Python смотрите в документации Python ― https://docs.python.org/2/library/re.html.