<p dir="ltr">Domani scriverò un bel commento per tutto</p>
<div class="gmail_quote">Il 23/ago/2014 11:30 "Daniele Figini" <<a href="mailto:danielefigini@alice.it">danielefigini@alice.it</a>> ha scritto:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Ciao.<br>
<br>
Siccome sono 'gnurant, con cosa è scritto?<br>
<br>
Daniele<br>
<br>
-----Messaggio originale-----<br>
Da: gl-como [mailto:<a href="mailto:gl-como-bounces%2Bdanielefigini">gl-como-bounces+danielefigini</a>=<a href="mailto:alice.it@lists.linux.it">alice.it@lists.linux.it</a>]<br>
Per conto di Davide De Prisco<br>
Inviato: venerdì 22 agosto 2014 16.22<br>
A: Gruppo Linux Como<br>
Oggetto: Re: [gl-como] Controllo i log<br>
<br>
Piccoli miglioramenti, poco tempo e tanto legno da piallare....<br>
Manca la parte per la gestione dello sblocco degli ip_monelli dopo n giorni,<br>
o meglio c'e' ma e' in fase di test.<br>
E manca pure l'inserimento all'avvio di una regola di iptables per ogni ip<br>
di quelli bloccati ma e' una cosa semplice quella.<br>
Altre versioni da lunedi', ora vado a piallare.<br>
<br>
#!/bin/bash<br>
#Script per il controllo degli accessi ad un server web mando_la_mail=0;<br>
connessioni_al_giorno=150; file_di_log="/var/log/apache2/acces.log";<br>
file_ip_bloccati="./IP_BLOCCATI";<br>
file_ip_conosciuti="./IP_CONOSCIUTI";<br>
file_temp="./temp";<br>
giorni_di_blocco=7;<br>
ip_conosciuti="";<br>
oggi=`date +%y%m%d`;<br>
#Ripulisco gli IP dopo il tempo prestabilito riga=1; while read<br>
riga_ip_bloccato do { ip_bloccato=`echo $riga_ip_bloccato | awk ' { print<br>
$1}'`; giorno_di_blocco=`echo $riga_ip_bloccato | awk ' { print $2}'`; if[<br>
$oggi -gt $(($giorno_di_blocco+$giorni_di_blocco)) ] then sed -e 'd$riga'<br>
$file_ip_bloccati riga=$(($riga+1)); } done < $file_ip_bloccati<br>
<br>
while read ip_conosciuto<br>
do<br>
{<br>
ip_conosciuti=$ip_conosciuti"|"$ip_conosciuto;<br>
}<br>
done < $file_ip_conosciuti<br>
echo "Controllo dei log di apache" > ./testo_mail echo "IP bloccatti oggi" ><br>
./elenco_ip_giornaliero grep -q -v [\'$ip_conosciuti\'] $file_di_log | awk '<br>
{ print $1}' | sort | uniq -c | sort -n --key=1,8  > $file_temp while read<br>
linea do { volte=`echo $linea | awk ' { print $1}'`; ip=`echo $linea | awk '<br>
{ print $2}'` ; if [ $volte -gt 150 ] then mando_la_mail=1; if  grep -q $ip<br>
/etc/hosts.allow then echo $ip " deve essere un tuo IP non inserito in "<br>
$file_ip_conosciuti<br>
>> ./testo_mail<br>
else<br>
if  grep -q $ip /etc/hosts.deny<br>
then<br>
echo $ip " e' gia' inserito in /etc/hosts.deny" >> ./testo_mail else<br>
oggi=`date +%j`; echo $ip " Inserisco un nuovo ip da bloccare per " $volte "<br>
connessioni">> ./testo_mail<br>
echo " ALL: "$ip >> /etc/hosts.deny ;<br>
iptables -I INPUT -s $ip -p tcp --dport 80 -j DROP iptables -I INPUT -s $ip<br>
-p udp --dport 80 -j DROP echo $ip >> ./elenco_ip_giornaliero; echo $ip >><br>
$file_ip_bloccati" "$oggi; fi fi fi } done < $file_temp if [ $mando_la_mail<br>
-gt 0 ] then numerorighe=`wc --lines ./elenco_ip_giornaliero | egrep -o<br>
'[0-9]*'` if [ $numerorighe -gt 1 ] then mutt -s "Connessioni giornaliere"<br>
-- <a href="mailto:vosta_mail@dominio.com">vosta_mail@dominio.com</a>  < ./testo_mail fi fi<br>
<br>
--<br>
Davide<br>
<br>
--<br>
Mailing list info: <a href="http://lists.linux.it/listinfo/gl-como" target="_blank">http://lists.linux.it/listinfo/gl-como</a><br>
<br>
<br>
---<br>
Questa e-mail è priva di virus e malware perché è attiva la protezione avast! Antivirus.<br>
<a href="http://www.avast.com" target="_blank">http://www.avast.com</a><br>
<br>
<br>
--<br>
Mailing list info: <a href="http://lists.linux.it/listinfo/gl-como" target="_blank">http://lists.linux.it/listinfo/gl-como</a><br>
</blockquote></div>