Re: [???] tache de fond
On Sat, Nov 06, 2004 at 08:30:29PM +0100, k13 wrote:
> je vouderais faire un script qui verifie les connections Illegal sur ma machine,
> j'aurais aimé qu'il tourne toujours mais dans le /etc/rc2.d le probleme est qu'il
> n''est pas en tache de fond (pas en job mais comme sshd ou autre)
> j'aurais aimé savoire si c'été possible de faire un script qui tourne tout le temps
> en tache de fond...
> #!/bin/bash
>
> IP_ATTACK=`tail /var/log/auth.log | grep Illegal | awk -F "f:" '{print $2}' | tail -1`
> if [ -n "$IP_ATTACK" ]; then
> $FILE_MON="/tmp/$IP_ATTACK.mon"
> $TIME_MON=`date | awk -F"CEST" '{print $1}'`
> echo "---ATTACKER: $IP_ATTACK" > $FILE_MON
> tail /var/log/auth.log | grep Illegal >> $FILE_MON
> ping "$IP_ATTACK" >> $FILE_MON
> echo "---NMAP" >> $FILE_MON
> nmap "$IP_ATTACK" >> $FILE_MON
> echo "---TRACEROUTE:"
> traceroute "$IP_ATTACK" >> $FILE_MON
> mail mon-mail@notathome.com -s "ATTACK: $TIME_MON" < $FILE_MON
> fi
Je réécrirais ça en deux bouts: d'une part un script qui lit
sur son entrée, et processe en continu (que nous appellerons
'toto'):
while read line; do
IP_ATTACK=`echo $line | grep Illegal | awk -F "f:" '{print $2}'`
if [ -n "$IP_ATTACK" ]; then
$FILE_MON="/tmp/$IP_ATTACK.mon"
$TIME_MON=`date | awk -F"CEST" '{print $1}'`
echo "---ATTACKER: $IP_ATTACK" > $FILE_MON
tail /var/log/auth.log | grep Illegal >> $FILE_MON
ping "$IP_ATTACK" >> $FILE_MON
echo "---NMAP" >> $FILE_MON
nmap "$IP_ATTACK" >> $FILE_MON
echo "---TRACEROUTE:"
traceroute "$IP_ATTACK" >> $FILE_MON
mail mon-mail@notathome.com -s "ATTACK: $TIME_MON" < $FILE_MON
fi
done
Et d'autre part un script dans rc2.d pour le démarrer, qui
lance toto en tâche de fond sur le log en question:
( tail -f /var/log/auth.log | toto ) &
> et si aussi vous sauriez se qui est le mieu pour retrouvé quelqu'un???
Je ne comprend pas cette question. Perdu de vue à la télé?
Y.
Reply to: