Установка Fail2ban на CentOS / RHEL 8
Пакет fail2ban отсутствует в официальных репозиториях, но доступен в репозитории EPEL.
После входа в систему перейдите к интерфейсу командной строки, а затем включите репозиторий EPEL в своей системе, как показано на рисунке.
# dnf install epel-release или # dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# 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] содержит параметры для jail 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».
- Banaction: запрет действия.
- backend: указывает бэкэнд, используемый для получения модификации файла журнала.
# systemctl start fail2ban # systemctl enable fail2ban # systemctl status fail2ban
Мониторинг заблокированных IP-адресов и сбоев с помощью fail2ban-client
После настройки fail2ban для защиты sshd вы можете отслеживать сбойные и заблокированные IP-адреса с помощью fail2ban-client.
Чтобы просмотреть текущее состояние сервера fail2ban, выполните следующую команду.
# fail2ban-client status
Чтобы контролировать sshd jail, запустите.
# fail2ban-client status sshd
# fail2ban-client unban 192.168.56.1
# man jail.conf # man fail2ban-client