Кол-во просмотров: 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