Как установить и настроить Fail2ban

Fail2ban — это инструмент с открытым исходным кодом, который обеспечивает простой способ защиты вашего сервера от атак методом грубой силы. Для этого он отслеживает файлы журналов и запрещает любые IP-адреса, которые неоднократно терпят неудачу в попытках аутентификации. В этой статье мы расскажем вам о том, как установить и настроить fail2ban на Linux-сервере в большинстве известных дистрибутивов (CentOS, Ubuntu, RedHat, …).

Шаг 1: Установка Fail2ban

Первым шагом будет установка fail2ban на ваш сервер. Процесс установки зависит от дистрибутива Linux. Здесь приведены команды для нескольких популярных дистрибутивов:

Debian/Ubuntu:

$ sudo apt-get update
$ sudo apt-get install fail2ban

CentOS/RHEL:

$ sudo yum update
$ sudo yum install epel-release
$ sudo yum install fail2ban

Шаг 2: Настройка Fail2ban

Конфигурационные файлы fail2ban находятся в каталоге /etc/fail2ban/. Главный файл конфигурации — jail.conf, который содержит конфигурацию по умолчанию для всех служб, которые может отслеживать fail2ban. Однако не следует изменять этот файл напрямую. Вместо этого создайте новый конфигурационный файл в каталоге /etc/fail2ban/jail.d/, чтобы изменить настройки по умолчанию.

Например, допустим, вы хотите защитить службу SSH. Вы можете создать новый конфигурационный файл sshd.conf в каталоге /etc/fail2ban/jail.d/ и добавить в него следующее содержимое:

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 5
bantime = 86400

Давайте разберем значение каждой строки:

  • [sshd]: Имя тюрьмы. Оно должно совпадать с именем службы, которую вы хотите защитить.
  • enabled = true: Это позволяет включить джейл.
  • порт = ssh: Порт, на котором запущена служба. В данном случае это порт SSH.
  • filter = sshd: Имя файла фильтра, который содержит регулярные выражения, используемые для обнаружения неудачных попыток входа в систему.
  • logpath = /var/log/auth.log: Путь к файлу журнала для службы.
  • maxretry = 5: Количество неудачных попыток входа в систему, допустимое для запрета IP-адреса.
  • bantime = 86400: Количество времени (в секундах), в течение которого IP-адрес должен быть запрещен.

Шаг 3: Протестируйте Fail2ban

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

$ sudo fail2ban-client status sshd

Это отобразит статус sshd jail, включая запрещенные IP-адреса.

Шаг 4: Мониторинг Fail2ban

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

$ sudo journalctl -u fail2ban
$ sudo tail -f /var/log/fail2ban.log

Первая команда отобразит журналы systemd для fail2ban, а вторая — файл журнала fail2ban в режиме реального времени.

Заключение

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

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

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