čtvrtek 13. října 2011

fail2ban unban IP

Mám na jednom serveru aplikaci fail2ban a potřeboval jsem odbanovat IP pro pureftpd ban.
Není to těžký, ale špatně se to dělá celé z hlavy :-)
fail2ban používá asi tu nejlepší možnost banování IP a to iptables, tam také je potřeba ban zrušit.
Nejdříve si vylistujeme iptables příkazem:
iptables -L -n --line-numbers

...dostaneme něco jako tohle:
Chain fail2ban-courierimap (1 references)
num  target     prot opt source               destination
1    RETURN     all  --  0.0.0.0/0            0.0.0.0/0

Chain fail2ban-courierpop3 (1 references)
num  target     prot opt source               destination
1    DROP       all  --  xxx.xxx.xxx.xxx      0.0.0.0/0
2    RETURN     all  --  0.0.0.0/0            0.0.0.0/0

Chain fail2ban-courierpop3s (1 references)
num  target     prot opt source               destination
1    RETURN     all  --  0.0.0.0/0            0.0.0.0/0

Chain fail2ban-postfix (1 references)
num  target     prot opt source               destination
1    DROP       all  --  xxx.xxx.xxx.xxx      0.0.0.0/0
2    RETURN     all  --  0.0.0.0/0            0.0.0.0/0

Chain fail2ban-pureftpd (1 references)
num  target     prot opt source               destination
1    DROP       all  --  xxx.xxx.xxx.xxx      0.0.0.0/0
2    RETURN     all  --  0.0.0.0/0            0.0.0.0/0

Budu-li chtít odstranit ban IP xxx.xxx.xxx.xxx pro PureFTPd, zadáme příkaz:
iptables -D fail2ban-pureftpd -s xxx.xxx.xxx.xxx -j DROP
Důležitý je tzv. chain, vidíme ho v listu iptables "[...] Chain fail2ban-postfix (1 references) [...]" a také IP (xxx.xxx.xxx.xxx).

Po zadání příkazu je ban zrušen, ověřit si to můžeme opět prvním příkazem na list iptables.

pátek 7. října 2011

Hlášky.net - úkol č. 2

Úkol č. 2 je takový, že musím myslet na to, že mám i vlastní projekty jako jsou hlášky, páč vůbec nestihám... :-)

Starting web server: apache2(98)Address already in use: make_sock: could not bind to address [::]:80

Tohle je celkem zapeklitá chyba.
Stačí jen restartovat apache2 příkazem:
/etc/init.d/apache2 restart
...a je to v řiti.

Vyskočí vám tam pak chyba:
Starting web server: apache2(98)Address already in use: make_sock: could not bind to address [::]:80
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
 failed!

V tuto chvíli neběží web server a nejde ho ani jednoduše nastartovat.
Prohledal jsem celý Google o tom. Snad téměř každý s tím má problém. Já taky :-/
Jediné co mi pomohlo v případě, že už apache nenastartoval bylo killnutí procesu, ale u mě na Debian Squeeze pomohl jen tento postup:

1) zjistit PID (process id) třeba příkazem:
netstat -nlp | grep :80
Vyhodí to něco jako:
tcp6   0   0 :::80     :::*   LISTEN      2434/apache2
tcp6   0   0 :::8081   :::*   LISTEN      2434/apache2
PID je v tomto případě 2434 (pokaždé bude jiný, tak to hlavně dál nekopírujte přesně a nepište, že vám to nejde :-D)

2) Killnout proces:
kill -9 2434
Na mnoha diskuzích píšou, že máme killnout apache pomocí killall apache2, ale mě nefunguje.

3) Spustit apache
/etc/init.d/apache2 start

Teď už by měl apache normálně běžet.

Další variantou je restartovat apache příkazem:
apache2ctl graceful

btw: Musel jsem si to sem napsat, páč vždy když to řeším, tak zapomenu řešení ;o)
 
]]>