fail2ban

Fórumok

Egy kerdesem lenne fail2ban hasznalokhoz! Hogy lehetseges elmenteni a mar bannolt IP cimeket? Ugy veszem eszre, hogy ujrainditas utan szepen kiurulnek az iptablesbol.

Ha elmentenem az iptablest es visszatoltenem, akkor meg szerintem duplikalna oket.

Mi lehet a megoldas?

Hozzászólások

ha "bannolsz" egy ip-t iptables-el, akkor utána már nem fog tudni az adott ip a gépedhez, ergó fail2ban sem fogja újra látni és "duplikálni", miután elmented az iptables-t. a ban időtartamát vedd nagyra, és írj egy szkriptet, ami időnként lefut, és az iptables-ből a megfelelő fail2ban chain-ek tartalmát kiexportálja és belefésüli a már meglévő iptables szkriptedbe (duplikátumok kiszűrése, ilyesmi.)
szerk.: vagy módosítod az /etc/fail2ban/action.d/iptables-multiport.conf fájban az actionban részt, pl. hozzáadsz még egy sort:


actionban = iptables -I fail2ban-<name> 1 -s <ip> -j DROP
            echo <ip> >> /etc/ips2ban.list

(de ezt ki kell próbálni...)
aztán mondjuk leállításkor rendezed ezt a listát a fájlban, kiszórod a duplikátumokat, majd a tűzfal szkript ezeket beolvassa megfelelően.
vagy ilyesmi.

cat /var/log/fail2ban.log{,.1} | grep -w "Ban" | awk '{ print $7 }'
A logrotate állításával, akár a szabad kapacitás fogytáig őrizgetheted.
Vagy innen mented külön fájlba és nem kell a teljes log fájlokat tárolni.

Koszi a valaszokat! Igy ossze tudok mar hozni egy mukodo scriptet, de kar, hogy "gyarilag" nincs benne ez a funkcio.

Ez mitől van?

fail2ban: 2012-12-06 11:47:26,237 fail2ban.actions: WARNING [ssh] Ban 116.229.239.242
fail2ban: 2012-12-06 11:48:42,306 fail2ban.actions: WARNING [ssh] 116.229.239.242 already banned
syslog: 2012-12-06 11:48:43 sshd Failed password for invalid user support from 116.229.239.242 port 6074 ssh2
syslog: 2012-12-06 11:48:43 sshd Failed password for invalid user support from 116.229.239.242 port 55810 ssh2

és ez ismétlődik.

Tehát annak ellenére, hogy a fail2ban szépen kizárja az IP címet:

$ iptables -L
DROP all -- 116.229.239.242 anywhere

mégis dől befelé a próbálkozás.

OS: Debian Squeeze.

Az iptables gyakorlatilag üres, csak a fail2ban pakol bele:

$ iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
fail2ban-ssh tcp -- anywhere anywhere multiport dports ssh
fail2ban-ssh-ddos tcp -- anywhere anywhere multiport dports ssh
fail2ban-postfix tcp -- anywhere anywhere multiport dports smtp
fail2ban-dovecot-pop3imap tcp -- anywhere anywhere multiport dports pop3,pop3s,imap2,imaps

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain fail2ban-dovecot-pop3imap (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere

Chain fail2ban-postfix (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere

Chain fail2ban-ssh (1 references)
target prot opt source destination
DROP all -- 116.229.239.242 anywhere
RETURN all -- anywhere anywhere

Chain fail2ban-ssh-ddos (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere

Nekem attól volt, hogy "mohó" voltam a tesztnél.

Azaz, fail2ban-t elindítottam, bannolt, tehát a tűzfalba beszúrta a sort.
Fail2ban-t restartoltam ezért ő már nem tudta hogy mit bannol de a tűzfalba még benn van.
Ezért mondja hogy already.

Megoldásom:
1.) fail2ban stop
2.) tűzfal restart
3.) fail2ban start

Innentől rendben is voltam.
Azóta is megy.