Presuppongo che il tuo server sia in DMZ o comunque totalmente esposto sulla Rete. In questo caso hai un paio di soluzioni al problema &quot;brute force&quot;:<br><ol><li>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):<br>

<a href="http://www.worksinmymind.com/blog/?p=131">http://www.worksinmymind.com/blog/?p=131</a><br>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)</li>

<li>Per il secondo caso, la cosa migliore è uno script in bash che cicla all&#39;interno del file per le varie righe e le &quot;da in pasto&quot; al comando iptables, con un lavoro del genere:<br><br>for $opzione in ipfiltrati<br>

do<br>     iptables -A INPUT -s $opzione -j DROP<br>done<br><br>Non sono sicuro se funzioni o meno, ovviamente all&#39;interno del file devono esserci solo gli IP (che sono anche più semplici da greppare e ricostruire con awk).<br>

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.</li>

<li>L&#39;ultima soluzione che mi viene in mente è basata su un famoso must del Perl: non reinventare la ruota ogni volta:<br><a href="http://blog.webhosting.uk.com/web-hosting/brute-force-detectionbfd-on-linux-server/">http://blog.webhosting.uk.com/web-hosting/brute-force-detectionbfd-on-linux-server/</a><br>

<br></li></ol><br><div class="gmail_quote">2009/4/12 Donald Oswald Funkoolow <span dir="ltr">&lt;<a href="mailto:funkoolow@gmail.com">funkoolow@gmail.com</a>&gt;</span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

salve egregi,<br>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)<br>


<br>-A INPUT -s [NUMERO-IP] -j DROP<br>-A INPUT -s [NUMERO-IP] -j DROP<br>-A INPUT -s [NUMERO-IP] -j DROP<br><br>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.<br>


<br>grazie :)<br>
<br><br>
--<br>
Mailing list info: <a href="http://lists.linux.it/listinfo/sabazialug" target="_blank">http://lists.linux.it/listinfo/sabazialug</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>@P=split//,&quot;.URRUU\c8R&quot;;@d=split//,&quot;\niranruF oizirbaF&quot;;sub p{<br>@p{&quot;r$p&quot;,&quot;u$p&quot;}=(P,P);pipe&quot;r$p&quot;,&quot;u$p&quot;;++$p;($q*=2)+=$f=!fork;map{$P=$P[$f^ord<br>

($p{$_})&amp;6];$p{$_}=/ ^$P/ix?$P:close$_}keys%p}p;p;p;p;p;map{$p{$_}=~/^[P.]/&amp;&amp;<br>close$_}%p;wait until$?;map{/^r/&amp;&amp;&lt;$_&gt;}%p;$_=$d[$q];sleep rand(2)if/\S/;print<br><br>