Fail2ban это бесплатный широко используемый инструмент предотвращения вторжений с открытым исходным кодом, который сканирует файлы журналов на предмет IP-адресов, которые показывают вредоносные признаки, такие как слишком много сбоев пароля и многое другое, и он запрещает их (обновляет правила брандмауэра, чтобы отклонить IP адреса). По умолчанию он поставляется с фильтрами для различных служб, включая sshd.
Читайте также: Первоначальная установка сервера с CentOS / RHEL 8
В этой статье мы объясним, как установить и настроить fail2ban защищать SSH и улучшить SSH безопасность сервера от атак грубой силы на CentOS / RHEL 8.
В fail2ban пакета нет в официальных репозиториях, но он доступен в EPEL репозиторий. После входа в систему войдите в интерфейс командной строки, затем включите репозиторий EPEL в своей системе, как показано.
# dnf install epel-release. ИЛИ. # dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm.
После этого установите Fail2ban package, выполнив следующую команду.
# dnf install fail2ban.
В 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.
После открытия файла скопируйте и вставьте в него следующую конфигурацию. В [ДЕФОЛТ]
раздел содержит глобальные параметры и [sshd]
содержит параметры для тюрьмы sshd.
[ПО УМОЛЧАНИЮ] ignoreip = 192.168.56.2/24. bantime = 21600. findtime = 300. maxretry = 3. banaction = iptables-multiport. backend = systemd [sshd] enabled = true.
Давайте кратко объясним параметры в приведенной выше конфигурации:
Таким образом, приведенная выше конфигурация означает, что если IP-адрес вышел из строя 3 раз за последние 5 минут, забанить на 6 часов и игнорировать IP-адрес 192.168.56.2.
Затем запустите и включите fail2ban service на данный момент и проверьте, работает ли он, используя следующую команду systemctl.
# systemctl start fail2ban. # systemctl включить fail2ban. # systemctl status fail2ban.
После настройки fail2ban обезопасить sshd, вы можете отслеживать неудачные и заблокированные IP-адреса с помощью fail2ban-клиент. Чтобы просмотреть текущий статус сервера fail2ban, выполните следующую команду.
# fail2ban-client status.
Для наблюдения за sshd тюрьма, беги.
# fail2ban-client status sshd.
Чтобы разблокировать IP-адрес в fail2ban (во всех тюрьмах и базе данных), выполните следующую команду.
# fail2ban-client unban 192.168.56.1.
Для получения дополнительной информации о fail2ban прочтите следующие справочные страницы.
# man jail.conf. # человек fail2ban-client.
Это подводит итог этого руководства! Если у вас есть какие-либо вопросы или мысли, которыми вы хотите поделиться по этой теме, не стесняйтесь обращаться к нам через форму обратной связи ниже.