#!/bin/sh # Missä Apachen loki luuraa cd /var/log/httpd # Varmistetaan tiedostojen olemassaolo touch nimda.txt touch codered.txt # Tapetaan vanha ajossa oleva versio kill `ps -C "tail -n100" h | cut -f2 -d" "` # Muuta -n suuremmaksi, jos on tarvetta. tail -n10000 --follow=name access_log | \ awk ' # Pyydystetään nimda-mato /scripts\/root.exe/ { vanha=0 while(getline rivi < "nimda.txt"){if($1 ~ rivi) vanha=1} if(vanha==0){ # Matopesän nimi talteen print $1 >> "nimda.txt" system("/sbin/ipchains -A input -j DENY -i eth0 -p tcp -s " $1 " --destination-port 80") } close("nimda.txt") } # Pyydystetään Code Red -mato /default.ida/ { vanha=0 while(getline rivi < "codered.txt"){if($1 ~ rivi) vanha=1} if(vanha==0){ # Matopesän nimi talteen print $1 >> "codered.txt" system("/sbin/ipchains -A input -j DENY -i eth0 -p tcp -s " $1 " --destination-port 80") } close("codered.txt") }' - &