В этой статье мы расскажем Вам о том, как установить и настроить Fail2ban для защиты SSH. И как с помощью этого инструмента повысить уровень защищенности SSH-сервера под управлением CentOS или RHEL 8 от атак методом перебора.
Содержание:
- Что такое Fail2ban
- Установка Fail2ban для защиты SSH на компьютер под управлением RHEL / CentOS 8
- Настройка приложения Fail2ban для защиты SSH
- Мониторинг заблокированных и подозрительных IP-адресов
- Выводы
Что такое Fail2ban
Fail2ban — это популярное бесплатное средство с открытым исходным кодом, помогающее противостоять атакам на Вашу операционную систему. Это приложение проверяет файлы журналов и выявляет IP-адреса, обладающие некоторыми признаками вредоносной активности (например, чрезмерно большим количеством неуспешных попыток авторизации). И в автоматическом режиме банит их (блокирует доступ, добавляя в черный список брандмауэра). По умолчанию Fail2ban поставляется с фильтрами для различных сервисов, в том числе — для sshd (SSH Daemon).
Установка Fail2ban для защиты SSH на компьютер под управлением RHEL / CentOS 8
Стоит отметить, что в официальных репозиториях Линукс отсутствует пакет Fail2Ban для защиты SSH. Однако его легко можно найти в репозитории Extra Packages for Enterprise Linux — EPEL. Чтобы открыть своей операционной системе доступ к репозиторию EPEL, введите в командную строку от имени суперпользователя команду dnf install epel-release
:
Также Вы можете указать в команде URL-адрес для скачивания пакетов напрямую:
Далее просто установите пакет Fail2Ban для защиты SSH. Для этого введите в командную строку от имени суперпользователя команду dnf install fail2ban
:
Настройка приложения Fail2ban для защиты SSH
В каталоге /etc/fail2ban/
Вы сможете найти файлы с настройками приложения Fail2ban. Тогда как в каталоге /etc/fail2ban/filter.d/
хранятся фильтры (например, фильтр для sshd — в файле /etc/fail2ban/filter.d/sshd.conf
).
Файл jail.conf
в каталоге /etc/fail2ban
является основным файлом с настройками приложения Fail2Ban для защиты SSH. Однако не рекомендуется вносить в него прямые изменения. Потому что существует возможность того, что в будущем он может быть перезаписан.
В результате собственные настройки следует сохранять в другой файл — jail.local
. Либо в отдельные файлы, которые потом будут размещены в каталоге /etc/fail2ban/jail.d/
.
Важно: настройки из файла jail.local
имеют более высокий приоритет и заменят собой параметры по умолчанию из файла jail.conf
.
В этой статье мы будем показывать, как работать с файлом jail.local
в каталоге /etc/fail2ban/
. Чтобы создать его и открыть в текстовом редакторе, введите в командную строку команду:
Теперь нужно внести в файл нужные Вам настройки. Стоит отметить, что основные параметры указываются в разделе [DEFAULT]
. В то время как настройки для sshd jail нужно писать в разделе [sshd]
. Выглядеть это будет следующим образом:
Значения переменных в файле конфигурации:
ignoreip
— имена хостов или IP-адреса, доступ которым нельзя блокировать;bantime
— длительность бана в секундах;maxretry
— количество попыток авторизации, после которых хост будет заблокирован;findtime
— интервал времени, за который хост должен завершить авторизацию, чтобы не быть заблокированным;banaction
— действия, за которые хост будет блокироваться;backend
— средство контроля логов Fail2ban.
В результате приведенные в качестве примера настройки означают следующее: если при попытке доступа с IP-адреса, который не равен 192.168.21.1
, будут замечены 4 ошибочных попытки ввести пароль в течение 3 минут — он будет забанен на 3 часа.
Однако сначала Вам нужно запустить настроенное приложение Fail2ban. Для проверки его работоспособности введите в командную строку команды systemctl
со следующими аргументами:
Если Вы все сделали правильно — вывод в командной строке будет выглядеть следующим образом:
Мониторинг заблокированных и подозрительных IP-адресов
Только что мы разобрались, как настроить Ваш Fail2ban для защиты sshd. Скорее всего, после его запуска у Вас может возникнуть необходимость отслеживать заблокированные IP-адреса. Также многим специалистам нужно мониторить адреса, создающие проблемы. Стоит отметить, что специально для этого предусмотрен особый инструмент — fail2ban-client. Текущее состояние приложения в целом поможет выяснить следующая команда:
Чтобы проверить статус sshd jail — нужно ввести в командную строку следующую команду:
Также у Вас рано или поздно наверняка возникнет потребность убрать какой-либо заблокированный IP-адрес из черного списка Fail2ban. Сделать это можно с помощью команды fail2ban-client unban
:
Выводы
Настроить Fail2ban для защиты SSH оказалось довольно просто. И если Вы придерживались рекомендаций из этой статьи, у Вас должно было все получиться. Кроме того, для лучшего понимания возможностей утилиты Fail2ban — советуем прочитать ее MAN-страницы. Открыть их Вам поможет следующий набор команд:
Спасибо за время, уделенное прочтению статьи о том, как установить Fail2Ban для защиты SSH на CentOS / RHEL 8!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.