FreeBSD, установка и настройка fail2ban

Кол-во просмотров: 301

обновлено 23.01.2026

pkg install py311-fail2ban  
sysrc fail2ban_enable="YES"

Указать верные пути до журналов апача в paths-freebsd.conf.

Создаем свой файл конфигурации(local — позволяет при обновлении не затирать наши настройки), vi /usr/local/etc/fail2ban/jail.local:

[DEFAULT]
ignoreip = 127.0.0.1 192.168.37.0/24
# время бана в секундах(только число) или минутах(m)
bantime = 180m

# время проверки,за которое событие успеет повторится
findtime = 900

# максимальное число правонарушений
maxretry = 2
# по-умолчанию применять IPFW
action = bsd-ipfw[table=1]

# метод парсинга логов
backend = auto
usedns= no

[ssh-ipfw]
enabled = true
filter = bsd-sshd
action = bsd-ipfw[table=50]
logpath = /var/log/auth.log
maxretry = 3

[proftpd-ipfw]
enabled = true
filter = proftpd
action = bsd-ipfw[table=51]
# sendmail[name=proftpd, dest=admin@example.com]
logpath = /var/log/proftpd/proftpd.log

#[postfix-ipfw]
#enabled = true
#filter = postfix
#action = bsd-ipfw[table=52]
## sendmail[name=postfix, dest=admin@example.com]
#logpath = /var/log/maillog
#bantime = 604800
#maxretry = 3

#[wordpress]
#enabled = true
#filter = wordpress
#action = bsd-ipfw[table=53]
## sendmail[name=wordpress, dest=admin@example.com]
#logpath = /var/log/auth.log
# выявляем неудачные попытки ввода пароля
[apache]
enabled = true
port = http,https
filter = apache-auth
action = bsd-ipfw[table=53]
logpath = /var/log/apache24/*-error.log
# выявляем потенциальные сканирования уязвимостей
[apache-noscript]
enabled = true
port = http,https
filter = apache-noscript
action = bsd-ipfw[table=53]
logpath = /var/log/apache24/*-error.log
# выявляем попытки переполнения Апача
[apache-overflows]
enabled = true
port = http,https
filter = apache-overflows
action = bsd-ipfw[table=53]
logpath = /var/log/apache24/*-error.log
maxretry = 2
# выявляем неудачные попытки в поиске домашней директории на сервере
[apache-nohome]
enabled = true
port = http,https
filter = apache-nohome
action = bsd-ipfw[table=53]
logpath = /var/log/apache24/*-error.log
maxretry = 2


4. Создаем свою директиву действий при срабатывании фильтров:/usr/local/etc/fail2ban/action.d/bsd-ipfw.local

[Definition]
actionstart =
actionstop =
actioncheck =
#
actionban = ipfw table <table> add <ip>
actionunban = ipfw table <table> delete <ip>
 
[Init]
localhost = 127.0.0.1


5. Добавляем правила создания таблиц файлтубаном в свой сетевой экран:

#!/bin/sh

ipfw -q -f flush
cmd="ipfw -q add"

....

# списки fail2ban
sshd_ban_table="table(50)"
proftpd_ban_table="table(51)"
postfix_ban_table="table(52)"
wordpress_ban_table="table(53)"

...
#####################################################################
...
# запрет по fail2ban списку
$cmd 0210 deny all from "table(1)" to me in via $WAN
$cmd 0205 deny tcp from ${proftpd_ban_table} to me 21 via ${WAN}
$cmd 0210 deny tcp from ${sshd_ban_table} to me 22 via ${WAN}
$cmd 0220 deny tcp from ${postfix_ban_table} to me 25 via ${WAN}
$cmd 0230 deny tcp from ${wordpress_ban_table} to me 80 via ${WAN}
...

 В поставке fail2ban есть утилита контроля и управления — fail2ban-client.
С ее помощью проверим какие правила у нас обрабатываются:

# fail2ban-client status
Status
|- Number of jail: 1
`- Jail list: sshd

Так же можем посмотреть статус любого загруженного правила:

# fail2ban-client status sshd
Status for the jail: sshd
|- Filter
| |- Currently failed: 0
| |- Total failed: 0
| `- File list: /var/log/auth.log
`- Actions
|- Currently banned: 0
|- Total banned: 0
`- Banned IP list:

Так же можем посмотреть с помощью fail2ban-client:

# fail2ban-client status sshd
Status for the jail: sshd
|- Filter
| |- Currently failed: 0
| |- Total failed: 3
| `- File list: /var/log/auth.log
`- Actions
|- Currently banned: 1
|- Total banned: 1
`- Banned IP list: 10.200.200.35

Давайте вытащим IP из бана:

# fail2ban-client set sshd unbanip 10.200.200.35
1

Собственно все.

Источники:

https://marvins.ru/administrirovanie/freebsd-fail2ban-ustanavlivaem-i-nastraivaem.html

https://www.lissyara.su/articles/freebsd/security/fail2ban/? 

https://habr.com/ru/post/409915/

https://www.site-motor.ru/docs/freebsd/security_fail2ban.html

https://www.site-motor.ru/manuals/asterisk/asterisk_security_fail2ban.html

https://forum.sys-adm.in/index.php?topic=3121.0

https://itstuff.info/web/install-and-configure-fail2ban/#filters_and_jails

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

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

Яндекс.Метрика