- 274 megtekintés
Hozzászólások
Mondjuk az első tippem az lett volna, hogy UDP-t nem blokkol csak TCP-t. De a szabályban nem ez látszódik...
- A hozzászóláshoz be kell jelentkezni
Az ufw,conf -ban ez van:
[Definition]
actionstart = 
actionstop = 
actioncheck = 
actionban = [ -n "<application>" ] && app="app <application>"
            ufw insert <insertpos> <blocktype> from <ip> to <destination> $app
actionunban = [ -n "<application>" ] && app="app <application>"
              ufw delete <blocktype> from <ip> to <destination> $app
Biztos ez lehet akkor a gond, hogy alapból csak TCP-t blokkol. De miért? :-(
- A hozzászóláshoz be kell jelentkezni
Egy tipp: add meg milyen portokat blokkoljon
[named-pizzaseo]
enabled = true
port = http,https,22,8443
- A hozzászóláshoz be kell jelentkezni
részemről a firejail tűzfal generátorral kombináltam a fail2ban, különböző kombinációkban
a lényeg, hogy nem mindegy, hogy az iptables chain-ek közül melyik sorrendben veszi át, majd adja vissza a "folyamot" a fail2ban
iptables -L -n -el meg kell nézni, hogy a (ufw) tűzfal milyen rule-okat generált, utána a megfelelő sorba "beszúrni" a fail2ban chaineket
a "chain" paraméter a barátod, ami megmondja melyik chain hányadik sorába "insert"-eli a fail2ban az elágazását
kicsi példa:
[sshd]
enabled = true
backend=systemd
chain=in_world 3
maxretry = 2
[recidive]
enabled=true
chain=INPUT
banaction = iptables-allports
blocktype = DROP
logpath  = /var/log/fail2ban.log
bantime  = 2419200  ; 2 weeks
findtime = 1814400   ; 3 weeks
maxretry = 4
itt az sshd nálam az in_world 3.sorába van beszúrva, mert van előtte ami "univerzálisan érvényes", a recidive (ami magát a fail2ban logját vizsgálja ismétlődésekre), simán az INPUT chain legeljére kerül, még az ACCEPT elé, mivel univerzális DROP
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Sajnos ez nem nyert. Az "ufw insert" parancsnak nincs olyan beállítása, hogy melyik chain-be szúrja be a szabályt!
Helyette megpróbálom azt, hogy átállítom a fail2ban-t iptables -re, és annak mondom meg a chain-t.
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Oké kiderült hogy miért használ DROP helyett REJECT-et. Rossz helyre írtam a paramétert.
Helyesen így néz ki:
banaction=iptables_allports[blocktype=DROP,protocol=all]
Illetve a REJECT változata:
banaction=iptables_allports[blocktype=REJECT --reject-with icmp-port-unreachable"]
Ami még nagyon érdekes, hogy az iptables_allports -nak van egy protocol paramétere, de ha csak azt használod, akkor az nem fog működni. Ha minden protokollt bannolni akarsz, akkor a jail szintjén is be kell állítani, valahogy így:
banaction=iptables_allports[blocktype=DROP,protocol=all]
protocol=all
Ennek az a magyarázata, hogy a jail config egy új iptables chain-t hoz létre, és a banaction ezen belül külön DROP vagy REJECT rule-okat. Ha a jail szinten nem adod meg hogy protocol=all, akkor a chain így jön létre:
# iptables -L INPUT -n -v
Chain INPUT (policy DROP 22 packets, 952 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 1371  229K f2b-named-pizzaseo  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           
Bár az igaz, hogy a f2b-named-pizzaseo chain-en belüli szabályok minden protokollra illeszkedni fognak. De maga a chain nem - az csak TCP-re lesz használva. Ha jail szinten is megadod a protocol=all -t, akkor jó lesz:
# iptables -L INPUT -n -v
Chain INPUT (policy DROP 22 packets, 952 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 1371  229K f2b-named-pizzaseo  all  --  *      *       0.0.0.0/0            0.0.0.0/0           
Nem tudtam róla, hogy kétféle protocol nevű paraméter is van, ezért amikor próbálkoztam, akkor sehogy nem akart összejönni a szűrés. De most már jó. :-)
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni