Настраиваем FAIL2BAN на Debian 11 с межсетевым экраном UFW для защиты SSH

Опубликовано: 1 февраля 2023
Раздел(ы): GNU Linux - CentOS / Debian
Просмотры: 1833
Комментарии: 0

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

10 лет назад я уже писал о защите от broot force (полный перебор или метод «грубой силы»). С тех пор вышли новые версии операционных систем. Поэтому я написал новую более актуальную статью по настройке fail2ban на операционной системе Debian 11.

Как установить fail2ban в операционной системе Debian 11

Программа fail2ban присутствует в репозиториях Debian 11, поэтому для ее установки просто выполните следующую команду в консоли от имени root-пользователя:

# apt install fail2ban

Затем добавьте fail2ban а автозагрузку:

# systemctl enable fail2ban

И запустите:

# systemctl start fail2ban

С настройками по-умолчанию fail2ban на 99% снимает проблему подбора паролей методом перебора. При условии что сам пароль сложный (строчные и прописные буквы, цифры, спецсимволы) и длинный (не менее 16 символов).

Нужно ли ставить fail2ban

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

Приведу результат блокировок fail2ban на свежем сервере, которому 10 дней от роду, и на котором ничего не установлено.

Выполните следующую команду в консоли, чтобы посмотреть статистику работы fail2ban для SSH

# fail2ban-client status sshd

Настраиваем FAIL2BAN на Debian 11 с межсетевым экраном UFW для защиты SSH

Как видно у моего сервера за 10 дней более 1000 ошибочных подключений (то есть с неправильным паролем) и это был не я 🙂

Fail2bat заблокировал более 300 IP адресов с которых были попытки подключений.

Вывод очевиден: программу fail2ban или ей подобную нужно ставить обязательно.

Расширенные настройки fail2ban

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

Внесите изменения в файл /etc/fail2ban/jail.local. Если он отсутствует, то создайте его.

Для защиты SSH у меня такая конфигурация:

[DEFAULT]
bantime = 604800
maxretry = 3
findtime = 7200
banaction = ufw
[sshd]
enabled = true

где

  • bantime — это время в секундах на которое блокируется IP адрес с ошибочными подключениями. В моем примере — 7 дней.
  • maxretry — это количество неудачных попыток до попадания в стоп-лист
  • findtime — это временной интервал секундах определяющий количество неудачных попыток. В моем примере — 2 часа
  • banaction — это брандмауэр с помощью котрого будут блокировать IP адреса. В моем примере — это UFW.

При таких настройках если в течении 2-х часов с одного IP адреса будет 3 неудачных подключения, то такой IP адрес будет заблокирован на 7 дней с помощью брандмауэра UFW.

Чтобы настройки вступили в силу перезапустите fail2ban:

# systemctl restart fail2ban

Как удалить IP адрес из черного списка fail2ban

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

# fail2ban-client set sshd unbanip XXX.YYY.ZZZ.AAA

где XXX.YYY.ZZZ.AAA — адрес который нужно разблокировать.

Вывод

Это далеко не полное описание возможностей программы fail2ban. Я привел пример защиты только для SSH.

Ставить защиту в виде fail2ban или подобной программы нужно обязательно.

Благодарности

При написании статьи были использованы следующие источники:

  1. https://obu4alka.ru/kak-v-fail2ban-udalit-zablokirovannyj-ip-adres.html
  2. https://wiki.archlinux.org/title/Fail2ban_(Русский)
  3. https://www.dmosk.ru/instruktions.php?object=fail2ban

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

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

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности сайта.
© Юрий Рассадников, 2011 - 2024
uptime узнать
Домен : reg.ru
Хостинг : adman.com
SQL - 6 | 0,137 сек. | 8.31 МБ