[SabaziaLUG] domanda iptables
Fabrizio Furnari
fab.furnari@gmail.com
Dom 12 Apr 2009 20:21:00 CEST
Presuppongo che il tuo server sia in DMZ o comunque totalmente esposto sulla
Rete. In questo caso hai un paio di soluzioni al problema "brute force":
1. usare iptables e knockd in combinazione per avere accesso ad SSH (o a
qualsiasi altro servizio) tramite port-knocking. Ho scritto qualcosa in
proposito sul mio blog, a questo indirizzo (ho avuto il tuo stesso
problema):
http://www.worksinmymind.com/blog/?p=131
Il post era pensato per attivare/disattivare OpenVPN ma anche con SSH
andrà benissimo. (ricordati ovviamente di modificare le varie iptables per
gli altri servizi)
2. Per il secondo caso, la cosa migliore è uno script in bash che cicla
all'interno del file per le varie righe e le "da in pasto" al comando
iptables, con un lavoro del genere:
for $opzione in ipfiltrati
do
iptables -A INPUT -s $opzione -j DROP
done
Non sono sicuro se funzioni o meno, ovviamente all'interno del file
devono esserci solo gli IP (che sono anche più semplici da greppare e
ricostruire con awk).
Il problema è che dovrai dare una certa persistenza a queste regole (a
parte che se non le salvi da qualche parte durano solo fino al riavvio
successivo) se non vuoi trovarti una lista immensa di ip filtrati e lasciare
il tuo server sempre più isolato dal resto del mondo.
3. L'ultima soluzione che mi viene in mente è basata su un famoso must
del Perl: non reinventare la ruota ogni volta:
http://blog.webhosting.uk.com/web-hosting/brute-force-detectionbfd-on-linux-server/
2009/4/12 Donald Oswald Funkoolow <funkoolow@gmail.com>
> salve egregi,
> da qualche giorno sto provando a migliorare un pò la sicurezza del mio
> serverino. In particolare, mi sono creato uno script che mi produce un file
> contenente la lista di ip da cui partono tentativi di brute forcing ssh
> greppando il file auth.log, ora quello che mi serve sapere è come aggiungere
> questi ip ad iptables dinamicamente. In altre parole, il mio file
> /root/ipfiltrati.txt contiente la lista degli ip nel formato (eventualmente
> modificabile, creato via awk)
>
> -A INPUT -s [NUMERO-IP] -j DROP
> -A INPUT -s [NUMERO-IP] -j DROP
> -A INPUT -s [NUMERO-IP] -j DROP
>
> quello che vorrei sapere è se e come si può dire ad iptables di includere
> quelle regole dinamicamente nella lista di filtraggio, così io tengo
> aggiornato quel file (per esempio lanciando il comando di generazione del
> file una volta al giorno) e le regole seguono le modifiche dinamicamente.
>
> grazie :)
>
>
> --
> Mailing list info: http://lists.linux.it/listinfo/sabazialug
>
>
--
@P=split//,".URRUU\c8R";@d=split//,"\niranruF oizirbaF";sub p{
@p{"r$p","u$p"}=(P,P);pipe"r$p","u$p";++$p;($q*=2)+=$f=!fork;map{$P=$P[$f^ord
($p{$_})&6];$p{$_}=/
^$P/ix?$P:close$_}keys%p}p;p;p;p;p;map{$p{$_}=~/^[P.]/&&
close$_}%p;wait until$?;map{/^r/&&<$_>}%p;$_=$d[$q];sleep
rand(2)if/\S/;print
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.linux.it/pipermail/sabazialug/attachments/20090412/3009b5e4/attachment.htm>
Maggiori informazioni sulla lista
SabaziaLUG