Как установить Fail2Ban для защиты SSH на CentOS/RHEL 8
Fail2ban — это бесплатный и широко используемый инструмент предотвращения вторжений с открытым исходным кодом, который сканирует файлы журналов на наличие IP-адресов, которые имеют признаки вредоносного характера, такие как слишком большое количество неудачных паролей и многое другое, и блокирует их (обновляет брандмауэр). правила отклонения IP-адресов). По умолчанию он поставляется с фильтрами для различных сервисов, включая sshd.
Читайте также: первоначальная настройка сервера с CentOS/RHEL 8
В этой статье мы объясним, как установить и настроить fail2ban для защиты SSH и улучшения безопасности сервера SSH от атак методом перебора на . CentOS/RHEL 8.
Установка Fail2ban на CentOS/RHEL 8
Пакета fail2ban нет в официальных репозиториях, но он доступен в репозитории EPEL. После входа в свою систему получите доступ к интерфейсу командной строки, затем включите репозиторий EPEL в своей системе, как показано.
dnf install epel-release
OR
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
После этого установите пакет Fail2ban, выполнив следующую команду.
dnf install fail2ban
Настройка Fail2ban для защиты SSH
Файлы конфигурации fail2ban расположены в каталоге /etc/fail2ban/, а фильтры хранятся в каталоге /etc/fail2ban/filter.d/. каталог (файл фильтра для sshd — /etc/fail2ban/filter.d/sshd.conf).
Глобальный файл конфигурации сервера Fail2ban — /etc/fail2ban/jail.conf, однако не рекомендуется изменять этот файл напрямую, так как он, вероятно, будет перезаписан или улучшен в случае пакета. модернизировать в будущем.
В качестве альтернативы рекомендуется создать и добавить свои конфигурации в файл jail.local или отдельные файлы .conf
в папке /etc/fail2ban/jail. каталог d/. Обратите внимание, что параметры конфигурации, установленные в jail.local, переопределяют все, что определено в jail.conf.
В этой статье мы создадим отдельный файл с именем jail.local в каталоге /etc/fail2ban/, как показано.
vi /etc/fail2ban/jail.local
После открытия файла скопируйте и вставьте в него следующую конфигурацию. Раздел [DEFAULT]
содержит глобальные параметры, а [sshd]
содержит параметры для тюрьмы sshd.
[DEFAULT]
ignoreip = 192.168.56.2/24
bantime = 21600
findtime = 300
maxretry = 3
banaction = iptables-multiport
backend = systemd
[sshd]
enabled = true
Давайте кратко объясним параметры в приведенной выше конфигурации:
- ignoreip: указывает список IP-адресов или имен хостов, которые не следует блокировать.
- bantime: указано количество секунд, на которое хост заблокирован (т. е. эффективная продолжительность бана).
- maxretry: указывает количество неудачных попыток, прежде чем хост будет заблокирован.
- findtime: Fail2ban забанит хост, если он сгенерировал «maxretry» в течение последних «findtime» секунд.
- запрет: действие, запрещающее действие.
- серверная часть: указывает серверную часть, используемую для получения изменений в файле журнала.
Таким образом, приведенная выше конфигурация означает, что если IP-адрес дал сбой 3 раза за последние 5 минут, заблокируйте его на 6 часов и игнорируйте IP-адрес 192.168.56.2.
Затем запустите и включите службу fail2ban и проверьте, запущена ли она, с помощью следующей команды systemctl.
systemctl start fail2ban
systemctl enable fail2ban
systemctl status fail2ban
Мониторинг неудачных и запрещенных IP-адресов с помощью Fail2ban-client
После настройки fail2ban для защиты sshd вы можете отслеживать неудачные и заблокированные IP-адреса с помощью fail2ban-client. Чтобы просмотреть текущий статус сервера Fail2ban, выполните следующую команду.
fail2ban-client status
Чтобы контролировать тюрьму sshd, запустите.
fail2ban-client status sshd
Чтобы разблокировать IP-адрес в Fail2ban (во всех клетках и базе данных), выполните следующую команду.
fail2ban-client unban 192.168.56.1
Для получения дополнительной информации о Fail2ban прочтите следующие страницы руководства.
man jail.conf
man fail2ban-client
Это подводит итог этому руководству! Если у вас есть какие-либо вопросы или мысли, которыми вы хотите поделиться по этой теме, не стесняйтесь обращаться к нам через форму обратной связи ниже.