Настройка защиты от брутфорса Fail2Ban на примере CentOS 7 |
Установка и настройка fail2ban для защиты SSH от bruteforce атак по перебору паролей[]# wget https://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpm # Скачаем пакет установки дополнительного репозитория EPEL. Естественно этого делать не нужно если репозиторий EPEL у нас уже установлен []# yum install epel-release-7-2.noarch.rpm # Установим репозиторий []# vim /etc/yum.repos.d/epel.repo # Лично я не люблю когда дополнительные репозитории включены по умолчанию, поэтому исправляем значение enabled на 0. [epel] name=Extra Packages fоr Enterprise Linux 7 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch failovermethod=priority enabled=0 gpgcheck=1 gpgkey=filе:///etc/pki/rрm-gpg/RPM-GPG-KEY-EPEL-7 []# yum --enablerepo=epel install -y fail2ban # []# yum install -y ipset # Нужен если мы не планируем использовать iptables []# cd /etc/fail2ban/ # Переходим в директорию с конфигами []# cp jail.conf jail.local # Копируем дефоултный конфиг в тот, что впоследствии будем редактировать []# vim jail.local # Меняем некоторые настройки конфига под себя, если это необходимо bantime = 600 # время в секундах, на которое будет забанен провинившийся. Если выставить значение -1 то бан будет вечный findtime = 600 # если в течение этого времени будет обнаружен предельный порог попыток maxretry, то выполнить бан maxretry = 5 # предельный порог неверных попыток []# cd /etc/fail2ban/jail.d/ []# touch sshd.local # Создаем файл, в котором будут настройки мониторинга SSH/SFTP []# vim sshd.local [sshd] enabled = true #action = firewallcmd-ipset action = iptables []# systemctl enable fail2ban.service # Включаем сервис в автозагрузку []# systemctl start fail2ban.service # Стартуем сервис
Наблюдение за работой[]# tail -f /var/log/fail2ban.log # Смотрим текущие события в логе []# fail2ban-client status sshd # Узнать забаненные IP []# cat /var/log/fail2ban.log | grep Ban # Посмотреть забаненные IP способ №2. 2014-11-03 11:47:44,480 fail2ban.server.actions[20250]: NOTICE [sshd] Ban 192.168.1.5 []# iptables -L f2b-default -n -v # Узнать забаненные IP с помощью фаервола iptables []# fail2ban-client set sshd unbanip 192.168.1.5 # Вручную разбанить IP |
КОММЕНТАРИИ
Сделать можно, но я не разбирался с этим, с ходу не скажу. А вообще не вижу проблемы доставить ipset пакет в дополнение к iptables.
Подойдет, только репозиторий нужно качать для 6.5