Установка и настройка Fail2ban в Debian 10

Установить Fail2ban на Debian 10

Все серверы, доступные из Интернета, подвержены риску атак вредоносного ПО. Например, если у вас есть приложение, доступное из публичной сети, злоумышленники могут использовать метод подбора паролей, чтобы получить к нему доступ.

Fail2ban — это инструмент, который помогает защитить ваш Linux-компьютер от атак методом подбора и других автоматизированных атак, отслеживая журналы служб на наличие вредоносной активности. Он использует регулярные выражения для сканирования файлов журналов. Все записи, соответствующие шаблонам, подсчитываются, и когда их количество достигает заданного порогового значения, Fail2ban блокирует нарушающий IP-адрес через системный брандмауэр на определённый период времени. По истечении срока блокировки IP-адрес удаляется из списка заблокированных.

В этой статье объясняется, как установить и настроить Fail2ban в Debian 10.

Установка Fail2ban на Debian

Пакет Fail2ban входит в стандартные репозитории Debian 10. Чтобы установить его, выполните следующую команду от имени пользователя root или пользователя с правами sudo :

 sudo apt update sudo apt install fail2ban

После завершения сервис Fail2ban запустится автоматически. Вы можете убедиться в этом, проверив статус сервиса:

 sudo systemctl status fail2ban

Вывод будет выглядеть так:

 ● fail2ban.service - Fail2Ban Service Loaded: loaded (/lib/systemd/system/fail2ban.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2021-03-10 18:57:32 UTC; 47s ago ...

Вот и всё. На этом этапе Fail2Ban запущен на вашем сервере Debian.

Конфигурация Fail2ban

Стандартная установка Fail2ban включает два файла конфигурации: /etc/fail2ban/jail.conf и /etc/fail2ban/jail.d/defaults-debian.conf . Не изменяйте эти файлы, так как они могут быть перезаписаны при обновлении пакета.

Fail2ban считывает файлы конфигурации в следующем порядке. Каждый файл .local переопределяет настройки из файла .conf :

  • /etc/fail2ban/jail.conf
  • /etc/fail2ban/jail.d/*.conf
  • /etc/fail2ban/jail.local
  • /etc/fail2ban/jail.d/*.local

Самый простой способ настроить Fail2ban — скопировать файл jail.conf в jail.local и изменить файл .local . Более опытные пользователи могут создать файл конфигурации .local с нуля. Файл .local не обязательно должен содержать все настройки из соответствующего файла .conf , достаточно только тех, которые вы хотите переопределить.

Создайте файл конфигурации .local , скопировав файл jail.conf по умолчанию:

 sudo cp /etc/fail2ban/jail.{conf,local}

Чтобы начать настройку сервера Fail2ban, откройте файл jail.local в текстовом редакторе :

 sudo nano /etc/fail2ban/jail.local

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

Белый список IP-адресов

IP-адреса, диапазоны IP-адресов или хосты, которые вы хотите исключить из блокировки, можно добавить в директиву ignoreip . Здесь необходимо указать IP-адрес вашего локального компьютера и всех остальных машин, которые вы хотите добавить в белый список.

Раскомментируйте строку, начинающуюся с ignoreip , и добавьте свои IP-адреса через пробел:

/etc/fail2ban/jail.local

 ignoreip = 127.0.0.1/8 ::1 123.123.123.123 192.168.1.0/24

Настройки бана

Параметры bantime , findtime и maxretry устанавливают время и условия бана.

bantime — это время, на которое IP-адрес заблокирован. Если суффикс не указан, по умолчанию оно составляет несколько секунд. По умолчанию bantime равен 10 минутам. Большинство пользователей предпочитают устанавливать более длительное время блокировки. Измените значение по своему усмотрению:

/etc/fail2ban/jail.local

 bantime = 1d

Чтобы навсегда заблокировать IP-адрес, используйте отрицательное число.

findtime — это интервал между неудачными попытками, после которого будет установлена блокировка. Например, если Fail2ban настроен на блокировку IP-адреса после пяти неудачных попыток ( maxretry , см. ниже), эти неудачи должны произойти в течение интервала findtime .

/etc/fail2ban/jail.local

 findtime = 10m

maxretry — это количество неудачных попыток, после которого IP-адрес будет заблокирован. Значение по умолчанию — пять, что должно подойти большинству пользователей.

/etc/fail2ban/jail.local

 maxretry = 5

Уведомления по электронной почте

Fail2ban может отправлять оповещения по электронной почте о блокировке IP-адреса. Для получения электронных писем необходимо установить SMTP-сервер на сервере и изменить действие по умолчанию, которое блокирует только IP-адрес, на %(action_mw)s , как показано ниже:

/etc/fail2ban/jail.local

 action = %(action_mw)s

%(action_mw)s блокирует подозрительный IP-адрес и отправляет электронное письмо с отчётом WHOIS. Если вы хотите включить в письмо соответствующие логи, выберите действие %(action_mwl)s .

Вы также можете изменить адреса электронной почты отправителя и получателя:

/etc/fail2ban/jail.local

 destemail = admin@linuxgazette.ru sender = root@linuxgazette.ru

Тюрьмы Fail2ban

Fail2ban использует концепцию тюрем. «Жильё» описывает сервис и включает в себя фильтры и действия. Записи журнала, соответствующие шаблону поиска, подсчитываются, и при выполнении предопределённого условия выполняются соответствующие действия.

Fail2ban поставляется с несколькими джейлами для различных сервисов. Вы также можете создавать собственные конфигурации джейлов. По умолчанию включен только джейл SSH.

Чтобы включить клетку, необходимо добавить enabled = true после названия клетки. В следующем примере показано, как включить клетку с постфиксом:

/etc/fail2ban/jail.local

 [postfix] enabled = true port = smtp,ssmtp filter = postfix logpath = /var/log/mail.log

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

/etc/fail2ban/jail.local

 [sshd] enabled = true maxretry = 3 findtime = 1d bantime = 4w ignoreip = 127.0.0.1/8 11.22.33.44

Фильтры находятся в каталоге /etc/fail2ban/filter.d и хранятся в файле с тем же именем, что и у клетки. Если у вас есть собственные настройки и опыт работы с регулярными выражениями, вы можете настроить фильтры более точно.

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

 sudo systemctl restart fail2ban

Клиент Fail2ban

Fail2ban поставляется с инструментом командной строки fail2ban-client , который можно использовать для взаимодействия со службой Fail2ban.

Чтобы просмотреть все доступные параметры, вызовите команду с опцией -h :

 fail2ban-client -h

Этот инструмент можно использовать для блокировки/разблокировки IP-адресов, изменения настроек, перезапуска сервиса и многого другого. Вот несколько примеров:

  • Получить текущий статус сервера:

     sudo fail2ban-client status
  • Проверьте статус тюрьмы:

     sudo fail2ban-client status sshd
  • Разбанить IP:

     sudo fail2ban-client set sshd unbanip 11.22.33.44
  • Запретить IP:

     sudo fail2ban-client set sshd banip 11.22.33.44

Заключение

Мы показали вам, как установить и настроить Fail2ban в Debian 10.

Более подробную информацию по этой теме можно найти в документации Fail2ban .

Если у вас есть вопросы, не стесняйтесь оставлять комментарии ниже.

fail2ban безопасность Debian Не используете Debian 10?
Выберите другую ОС:
центос 8 убунту 20.04

Связанные руководства

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *