FreeBSD File2ban PF или строим защиту от брутофорсеров

Для примера защитим ssh  в связке с pf.

Обновляем порты

    portsnap fetch update
 Устанавливаем    cd /usr/ports/security/py-fail2ban
make install clean

переходим в каталог /usr/local/etc/fail2ban

 

action.d – файлы, в которых описываются команды при срабатывании правил.
filter.d –   шаблоны,  в которых описываются с помощью регулярных выражений, на что будет срабатывать fail2ban.

cp jail.conf jail.conf.dist

vim jail.conf
[DEFAULT]
ignoreip = 127.0.0.1 188.134.XXX.XXX #Fil2ban будет игнорировать
bantime = 7200 #. Время в секундах на протяжении которого хост в дауне
maxretry = 5 #Кол-во попыток, после которого хост будет блокирован.
[ssh-pf]
enabled = true
filter = sshd
action = pf[table=ssh-brut] # Указываем профиль pf и передаем переменную table в которой указываем название таблицы
sendmail[name=SSH onGateway,dest=admin@iamroot.ru,sender=fail2ban@iamroot.ru]

#Отсылать на мыло предуприждение о срабатывании.
logpath = /var/log/auth.log #Путь до лог файла
ignoreip = 192.168.21.0/24 #На всякий, внутряшка

cd action.d/

cp pf.conf pf.conf.dis

vim pf.conf

[Definition]
actionban = /sbin/pfctl -t <table> -T add  <ip>
actionunban = /sbin/pfctl -t <table> -T delete <ip>

 

Правим файл правил pf и добавляем блокировку по по ssh порту всех кто в таблице ssh-brut

block in log quick on $EXT_IF proto tcp from <shh-brut> to $EXT_IF port ssh

echo ‘fail2ban_enable=»YES»‘ >> /etc/rc.conf

/usr/local/etc/rc.d/fail2ban start 

Собственно и всё

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Time limit is exhausted. Please reload the CAPTCHA.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.