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

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

Джейлы могут находиться в активном или неактивном состоянии. Во время работы службы Fail2Ban только активные джейлы будут использоваться для мониторинга файлов журналов и блокировки подозрительных IP-адресов.

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

Fail2Ban_Jails

Доступны следующие заранее настроенные джейлы:

  • 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, от конкретных угроз вы можете создавать собственные джейлы, включать и выключать их, менять их настройки и добавлять фильтры.

Активация и деактивация джейлов

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

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

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

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

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

    Fail2Ban_activate_jail

Настройка джейла

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

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

    Вы можете использовать следующие фильтры, доступные в 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.

    Вы также можете добавить свой фильтр. Подробности смотрите далее в разделе Управление фильтрами.

  3. Укажите действие джейла.

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

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

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

  4. В поле Путь к журналу укажите один или более файлов журнала, которые Fail2ban будет проверять на наличие признаков атаки.
  5. Утановить продолжительность блокировки IP-адреса в секундах.
  6. Установите количество неудачных попыток входа.
  7. Нажмите OK.

    Fail2Ban_AddJail

Чтобы изменить настройки существующего джейла:

  1. Откройте  Инструменты и настройки > Блокировка IP-адресов (Fail2Ban) > Джейлы, нажмите название джейла, затем нажмите Изменить настройки.
  2. Внесите изменения в настройки джейла и нажмите OK.

Чтобы удалить джейл:

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

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

Управлять фильтрами

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

  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.