[gl-como] R: Controllo i log

Daniele Figini danielefigini@alice.it
Sab 23 Ago 2014 11:30:20 CEST


Ciao.

Siccome sono 'gnurant, con cosa è scritto?

Daniele

-----Messaggio originale-----
Da: gl-como [mailto:gl-como-bounces+danielefigini=alice.it@lists.linux.it]
Per conto di Davide De Prisco
Inviato: venerdì 22 agosto 2014 16.22
A: Gruppo Linux Como
Oggetto: Re: [gl-como] Controllo i log

Piccoli miglioramenti, poco tempo e tanto legno da piallare....
Manca la parte per la gestione dello sblocco degli ip_monelli dopo n giorni,
o meglio c'e' ma e' in fase di test.
E manca pure l'inserimento all'avvio di una regola di iptables per ogni ip
di quelli bloccati ma e' una cosa semplice quella.
Altre versioni da lunedi', ora vado a piallare.

#!/bin/bash
#Script per il controllo degli accessi ad un server web mando_la_mail=0;
connessioni_al_giorno=150; file_di_log="/var/log/apache2/acces.log";
file_ip_bloccati="./IP_BLOCCATI";
file_ip_conosciuti="./IP_CONOSCIUTI";
file_temp="./temp";
giorni_di_blocco=7;
ip_conosciuti="";
oggi=`date +%y%m%d`;
#Ripulisco gli IP dopo il tempo prestabilito riga=1; while read
riga_ip_bloccato do { ip_bloccato=`echo $riga_ip_bloccato | awk ' { print
$1}'`; giorno_di_blocco=`echo $riga_ip_bloccato | awk ' { print $2}'`; if[
$oggi -gt $(($giorno_di_blocco+$giorni_di_blocco)) ] then sed -e 'd$riga'
$file_ip_bloccati riga=$(($riga+1)); } done < $file_ip_bloccati

while read ip_conosciuto
do
{
ip_conosciuti=$ip_conosciuti"|"$ip_conosciuto;
}
done < $file_ip_conosciuti
echo "Controllo dei log di apache" > ./testo_mail echo "IP bloccatti oggi" >
./elenco_ip_giornaliero grep -q -v [\'$ip_conosciuti\'] $file_di_log | awk '
{ print $1}' | sort | uniq -c | sort -n --key=1,8  > $file_temp while read
linea do { volte=`echo $linea | awk ' { print $1}'`; ip=`echo $linea | awk '
{ print $2}'` ; if [ $volte -gt 150 ] then mando_la_mail=1; if  grep -q $ip
/etc/hosts.allow then echo $ip " deve essere un tuo IP non inserito in "
$file_ip_conosciuti
>> ./testo_mail
else
if  grep -q $ip /etc/hosts.deny
then
echo $ip " e' gia' inserito in /etc/hosts.deny" >> ./testo_mail else
oggi=`date +%j`; echo $ip " Inserisco un nuovo ip da bloccare per " $volte "
connessioni">> ./testo_mail
echo " ALL: "$ip >> /etc/hosts.deny ;
iptables -I INPUT -s $ip -p tcp --dport 80 -j DROP iptables -I INPUT -s $ip
-p udp --dport 80 -j DROP echo $ip >> ./elenco_ip_giornaliero; echo $ip >>
$file_ip_bloccati" "$oggi; fi fi fi } done < $file_temp if [ $mando_la_mail
-gt 0 ] then numerorighe=`wc --lines ./elenco_ip_giornaliero | egrep -o
'[0-9]*'` if [ $numerorighe -gt 1 ] then mutt -s "Connessioni giornaliere"
-- vosta_mail@dominio.com  < ./testo_mail fi fi

--
Davide

--
Mailing list info: http://lists.linux.it/listinfo/gl-como


---
Questa e-mail è priva di virus e malware perché è attiva la protezione avast! Antivirus.
http://www.avast.com



Maggiori informazioni sulla lista gl-como