Управление джейлами Fail2Ban

Продвинутые пользователи также могут настроить параметры так называемых джейлов Fail2Ban, которые служат для блокировки IP-адресов. Джейл Fail2Ban - это комбинация из фильтра и одного или нескольких действий. Фильтр определяет регулярное выражение, которое совпадает с шаблоном, соответствующим неудавшейся попытке входа или другим подозрительным операциям. Действия определяют команды, которые выполняются, когда фильтр обнаруживает опасный IP-адрес.

В Plesk, существуют уже настроенные джейлы для всех служб хостинга (веб-сервер, почтовый сервер, FTP сервер). Многие из них работают одинаково: обнаруживают неудачные попытки входа и блокируют доступ к службе на 10 минут. Для этих джейлов требуются особые пояснения:

  • plesk-apache-badbot ищет коллекторы адресов электронной почты и сканеров уязвимостей в файлах журнала доступа Apache. Блокировка длится два дня.
  • plesk-horde и plesk-roundcube обнаруживают ошибки входа в веб-интерфейс почтового клиента и блокируют доступ к веб-службе на 10 минут.
  • recidive ищет блокировки, установленные другими джейлами, в собственном журнале Fail2Ban. Он блокирует хосты, которые за последние 10 минут были 5 раз заблокированы другими джейлами. Блокировка длится одну неделю и распространяется на все службы на сервере.
  • plesk-modsecurity блокирует IP-адреса, определенные как вредоносные брандмауэром для веб-приложений ModSecurity. Этот джейл можно активировать только в том случае, если работает ModSecurity; и он будет блокировать обнаруженные адреса, даже если ModSecurity работает в режиме "Только обнаружение". Блокировка длится 10 минут.

Заранее настроенные джейлы для неустановленных компонентов Plesk не показываются в списке. Например, если веб-почта RoundCube не установлена, джейла plesk-roundcube нет в списке доступных джейлов.

Для защиты своих и сторонних услуг, не входящих в Plesk, от конкретных угроз вы можете создавать собственные джейлы, включать и выключать их, менять их настройки и добавлять фильтры.

Примечание. Джейлы, поставляемые с Plesk, нельзя удалить, но можно деактивировать. Джейлы, которые вы добавили сами, удалить можно.

В Plesk показываются джейлы только для установленных компонентов Plesk. Например, если у вас не установлен почтовый сервер qmail, то джейл qmail будет скрыт.

Если вы попытаетесь включить сразу несколько джейлов с помощью групповой операции Включить и один из джейлов не сможет запуститься, то остальные джейлы тоже не запустятся. В этом случае включите нужные джейлы по одному.

Чтобы создать джейл:

  1. Откройте  Инструменты и настройки  >  Блокировка IP-адресов (Fail2Ban) > Джейлы > Добавить джейл.
  2. Укажите параметры джейла.

    Вы можете использовать следующие фильтры, доступные в Plesk по умолчанию:

    • apache-auth - ошибки авторизации Apache,
    • apache-badbots - спам-боты и нежелательные поисковые роботы,
    • courierlogin - ошибки IMAP- и POP3-аутентификации Courier,
    • dovecot - ошибки IMAP-, POP3- и Sieve-аутентификации,
    • plesk-horde - ошибки аутентификации веб-почты Horde,
    • plesk-panel - ошибки аутентификации Plesk,
    • plesk-qmail - ошибки аутентификации QMail SMTP,
    • plesk-roundcube - ошибки аутентификации веб-почты Roundcube,
    • postfix-sasl - ошибки SMTP- и SASL-аутентификации Postfix,
    • proftpd - ошибки входа по ProFTPD,
    • recidive - повторно заблокированные адреса,
    • sshd - ошибки входа по SSH.

    Вы можете использовать следующие действия, доступные в Plesk по умолчанию:

    • iptables - блокировать IP-адреса через iptables, на одном порту;
    • iptables-allports - блокировать IP-адреса через iptables, на всех портах;
    • iptables-multiport - блокировать IP-адреса через iptables, на нескольких портах;
    • sendmail - отправить уведомление через sendmail.

Чтобы добавить новый фильтр для джейла:

  1. Откройте  Инструменты и настройки  >  Блокировка IP-адресов (Fail2Ban) > Джейлы > Управление фильтрами > Добавить фильтр.
  2. Укажите имя фильтра и регулярное выражение, по которому будут проверяться строки в файлах журналов. Подробнее о фильтрах 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.