In ghidul urmator vei afla cum sa activezi o protectie anti DDOS (brute force attacks) si un logger Fail2Ban.
Asta e un ghid de configurare a firewall-ului PF (Packet Filter) pe FreeBSD, împreună cu Fail2Ban pentru protecția împotriva atacurilor brute-force / DDoS pe SSH.
Ce face PF (Packet Filter) ?
- blochează IP-urile rău intenționate,
- permite doar SSH, HTTP și HTTPS la intrare,
- lasă traficul de ieșire să treacă.
Ce face F2B (Fail2Ban) ?
Fail2Ban citeste logurile serverului ai, daca vede prea multe incercari nereusite de autentificare (sau alte tipare suspecte), blochează automat IP-ul atacatorului în firewall pentru o perioada de timp (sau permanent, daca vrei).
*Poze / Video:
*Link download / Code:
Cum activezi PF:
1) Ruleaza urmatoarele comenzi in consola:
Code:
sysrc pf_enable="YES"
sysrc pf_rules="/usr/local/etc/pf.conf"
sysrc pflog_enable="YES"
sysrc pflog_logfile="/var/log/pflog"2) Regulile de firewall (pf.conf)
Config-ul:
Code:
ext_if="vtnet0" # interfața de rețea (înlocuiești cu a ta, ex. em0, re0 etc.)
table <f2b> persist # creează un tabel de IP-uri blocate de fail2ban
set skip on lo0 # nu bloca traficul pe loopback (127.0.0.1)
set loginterface $ext_if
block in quick from <f2b> # blochează imediat IP-urile din lista Fail2Ban
pass in on $ext_if proto tcp to port { ssh, http, https } keep state
pass out all keep state
Code:
service pf start
service pflog startCode:
pkg install -y py39-fail2banCode:
[sshd]
enabled = true
filter = sshd
action = pf
logpath = /var/log/auth.log
maxretry = 3
bantime = -1
6) Fisierul pf.conf pentru fail2ban (/usr/local/etc/fail2ban/action.d/pf.conf):monitorizeaza logurile SSH,
dupa 3 incercari esuate de login, IP-ul intra in tabelul f2b,
bantime = -1 = ban permanent
Code:
[Definition]
actionstart = pfctl -t f2b -T add <ip>
actionstop = pfctl -t f2b -T delete <ip>
actioncheck = pfctl -t f2b -T show | grep <ip>
Code:
sysrc fail2ban_enable="YES"
service fail2ban startCode:
fail2ban-client status sshd
pfctl -t f2b -T show





