Fortsetzung Virenpruefunsscript (war F-prot Parameter)
Danke Christian, ich hab dein Mail eben bekommen und gerade ist mein Script fertig geworden und es scheint auch zu funktionieren. Ich stelle es mal in die Liste zur Diskussion, ohne vorerst deine Vorschläge zu berücksichtigen, da ich die heute nicht mehr durchdenken will. Es läßt sich zwar sicher noch optimiereen, aber ich bin schon froh, dass es mal seinen Zweck erfüllt. Ändern würde ich noch gerne, dass statt dem Attachment der Text der Datei im Mail versendet wird und die vielen ">>" Ob ein paar grep performanter geschrieben werden erscheint mir bei dieser Anwendung nicht so wichtig und irgendwie finde _ich_ es (noch) so übersichtlicher. Ich hoffe, ich habe keine Zeilentrennungen übersehen. Das Warnmail sieht etwa so aus: Virusalarm in /home/ab/Documents 03-09-01 23:32:03 Von: ab@client3.local (a b) An: ab@client3.local Details siehe bis zur nächsten Virenprüfung in den Dateien /home/ab/virenpruefungen/letztes_antivir_log_fuer_documents.txt und /home/ab/virenpruefungen/letztes_fprot_log_fuer_documents.txt, Archiv dieses Scans siehe /home/ab/virenpruefungen/Virenpruefung_03-09-01_233202_documents.txt Kurz-Zusammenfassung für /home/ab/Documents Alarme: 2 Infected: 2 Suspicious: 0 ________________________________________________________________________________ ALERT: [W32/Elkern.C virus] /home/ab/Documents/Worm_Klez_E_install.exe.virus.XXX <<< Contains signature of the Windows virus W32/Elkern.C ALERT: [Worm/Klez.E virus] /home/ab/Documents/1034262785.1202.4pvJ:2,RS.XXX --> install.exe <<< Contains signature of the worm Worm/Klez.E /home/ab/Documents/Worm_Klez_E_install.exe.virus.XXX Infection: W32/Klez.H@mm /home/ab/Documents/1034262785.1202.4pvJ:2,RS.XXX->install.exe Infection: W32/Klez.H@mm ________________________________________________________________________________ ANTIVIR Prüfung Zusammenfassung Verzeichnisse: 4 Dateien: 13 Alarme: 2 Repariert: 0 Gelöscht: 0 Umbenannt: 0 Benötigte Zeit: 00:00:01 -------------------------- F-PROT Prüfung Zusammenfassung Files: 7 MBRs: 0 Boot sectors: 0 Objects scanned: 8 Infected: 2 Suspicious: 0 Disinfected: 0 Deleted: 0 Renamed: 0 Time: 0:00 Am Monitor gibt es zum Schluß die Warnung "ACHTUNG: der Virenscanner hat etwas gefunden!", wenn etwas gefunden wurde. __________________________________________________________ !/bin/bash SCANDIR=~/Documents LOG_VERZEICHNIS=~/virenpruefungen LOG_DATEI_ANTIVIR=$LOG_VERZEICHNIS/letztes_antivir_log_fuer_documents.txt LOG_DATEI_FPROT=$LOG_VERZEICHNIS/letztes_fprot_log_fuer_documents.txt LOG_DATEI_SUMMARY=$LOG_VERZEICHNIS/Virenpruefung_`date \ +%y-%m-%d_%H%M%S_documents.txt` WARN="ab@client3.local" mkdir $LOG_VERZEICHNIS echo \ "--------------------------------------------------------------------------------" echo Die Logdateien echo $LOG_DATEI_ANTIVIR und echo $LOG_DATEI_FPROT werden in echo $LOG_DATEI_SUMMARY zusammengefasst. echo \ "--------------------------------------------------------------------------------" rm $LOG_DATEI_ANTIVIR rm $LOG_DATEI_FPROT echo \ "--------------------------------------------------------------------------------" echo "Antivir Prüfung Start" echo \ "--------------------------------------------------------------------------------" /usr/bin/antivir -s -v -z -allfiles -e -ren -dmdel -dmds -r1 -rf$LOG_DATEI_ANTIVIR -ra -lang=DE $SCANDIR echo \ "--------------------------------------------------------------------------------" echo "F-Prot Prüfung Start" echo \ "--------------------------------------------------------------------------------" /usr/local/bin/f-prot -ai -archive -collect -dumb -packed \ -report=$LOG_DATEI_FPROT $SCANDIR echo \ "________________________________________________________________________________" echo "" echo " AB HIER GENAU LESEN !" echo " gespeichert in" echo " $LOG_DATEI_SUMMARY" echo \ "________________________________________________________________________________" echo "Kurz-Zusammenfassung für "$SCANDIR >> $LOG_DATEI_SUMMARY echo >> $LOG_DATEI_SUMMARY grep Alarme $LOG_DATEI_ANTIVIR >> $LOG_DATEI_SUMMARY grep Infected $LOG_DATEI_FPROT >> $LOG_DATEI_SUMMARY grep Suspicious $LOG_DATEI_FPROT >> $LOG_DATEI_SUMMARY echo \ "________________________________________________________________________________"\
$LOG_DATEI_SUMMARY
grep ALERT $LOG_DATEI_ANTIVIR >> $LOG_DATEI_SUMMARY grep Infection $LOG_DATEI_FPROT >> $LOG_DATEI_SUMMARY grep "could be infected" $LOG_DATEI_FPROT >> $LOG_DATEI_SUMMARY echo \ "________________________________________________________________________________"\
$LOG_DATEI_SUMMARY
echo "ANTIVIR Prüfung Zusammenfassung" >> $LOG_DATEI_SUMMARY tail -n 9 $LOG_DATEI_ANTIVIR >> $LOG_DATEI_SUMMARY echo "F-PROT Prüfung Zusammenfassung" >> $LOG_DATEI_SUMMARY tail -n 11 $LOG_DATEI_FPROT >> $LOG_DATEI_SUMMARY cat $LOG_DATEI_SUMMARY ergebnis="`grep 'Contains signature' $LOG_DATEI_SUMMARY ; grep 'Infection' $LOG_DATEI_SUMMARY ; grep Suspicious $LOG_DATEI_FPROT`" test -n "$ergebnis" && { echo "-----------------------------------------------" echo " ACHTUNG: der Virenscanner hat etwas gefunden! " echo "-----------------------------------------------" echo "Details siehe bis zur nächsten Virenprüfung in den Dateien \ $LOG_DATEI_ANTIVIR und $LOG_DATEI_FPROT, Archiv dieses Scans siehe \ $LOG_DATEI_SUMMARY" | mail -s "Virusalarm in $SCANDIR \ "`date +%y-%m-%d`" "`date +%H:%M:%S` -a $LOG_DATEI_SUMMARY $WARN } Al -- Infos zu Softwarepatenten: http://swpat.ffii.org/index.de.html http://petition.eurolinux.org/index.html?LANG=de
Am Montag, 1. September 2003 23:47 schrieb Al Bogner:
Ändern würde ich noch gerne, dass statt dem Attachment der Text der Datei im Mail versendet wird und die vielen ">>"
Also, wenn ich euch mit diesem Script zu sehr nerve, dann sagt es bitte. Ich habe es noch einmal etwas verfeinert. Mit den o.a. Verbessungsmöglichkeiten habe ich mich noch nicht auseinandergesetzt, da das Script funktioniert und vielleicht ja doch noch weitere Ideen kommen. Ich denke aber, dass es zumindest dieselbe Berechtigung hat, wie die extensiven anderen OT-Diskussionen. Es ist wenigstens zum Thema Linux, wenn auch nicht speziell zu SuSE. Das Script ist darauf vorbereitet um es leicht an CDs, etc. anzupassen. Wurde ein Virus von Antivir oder F-Prot gefunden, so wird ein Mail versandt, sonst nicht. Wurde kein Virus gefunden so wird die "Zusammenfassung" auch wieder gelöscht. Man beachte auch, dass im Mail bestimmte Informationen doppelt angeführt sind, da die "Zusammenfassung" auch ohne Mail als Datei aussagekräftig sein soll. Die Ausgabe sieht jetzt etwa so aus: ********************************************************** Virusalarm auf client3 in /home/ab/Documents 03-09-02 16:29 Von: ab@client3.local (a b) An: ab@client3.local Details siehe bis zur nächsten Virenprüfung in den Dateien /home/ab/virenpruefungen/letztes_antivir_log_fuer_documents_ab.txt und /home/ab/virenpruefungen/letztes_fprot_log_fuer_documents_ab.txt Kurz-Zusammenfassung für client3:/home/ab/Documents am Die 2. Sep 2003 16:29 Alarme: 1 Infected: 1 Suspicious: 0 ________________________________________________________________________________ gefunden von ANTIVIR: ALERT: [W32/Elkern.C virus] /home/ab/Documents/Worm_Klez_E_install.exe.virus.XXX <<< Contains signature of the Windows virus W32/Elkern.C gefunden von F-PROT: /home/ab/Documents/Worm_Klez_E_install.exe.virus.XXX Infection: W32/Klez.H@mm Virenverdacht von F-PROT (could be): ________________________________________________________________________________ ANTIVIR Prüfung Zusammenfassung für client3:/home/ab/Documents Scanoptionen: -s -v -z -allfiles -e -ren -dmdel -dmds -r1 -rf/home/ab/virenpruefungen/letztes_antivir_log_fuer_documents_ab.txt -ra -lang=DE Verzeichnisse: 4 Dateien: 6 Alarme: 1 Repariert: 0 Gelöscht: 0 Umbenannt: 0 Benötigte Zeit: 00:00:01 -------------------------- F-PROT Prüfung Zusammenfassung für client3:/home/ab/Documents Scanoptionen: -ai -archive -collect -dumb -packed -report=/home/ab/virenpruefungen/letztes_fprot_log_fuer_documents_ab.txt Files: 6 MBRs: 0 Boot sectors: 0 Objects scanned: 6 Infected: 1 Suspicious: 0 Disinfected: 0 Deleted: 0 Renamed: 0 Time: 0:00 ********************************************************** #!/bin/bash SCANDIR=~/Documents LOGBEZEICHNUNG=documents_`whoami` WARN="ab@client3.local" LOG_VERZEICHNIS=~/virenpruefungen LOG_DATEI_ANTIVIR=$LOG_VERZEICHNIS/letztes_antivir_log_fuer_$LOGBEZEICHNUNG".txt" LOG_DATEI_FPROT=$LOG_VERZEICHNIS/letztes_fprot_log_fuer_$LOGBEZEICHNUNG".txt" LOG_DATEI_SUMMARY=$LOG_VERZEICHNIS/Virenpruefung_`date \ +%y-%m-%d_%H%M%S`_$LOGBEZEICHNUNG".txt" # Option mit Löschen des Virus # ANTIVIROPTIONS="-s -v -z -allfiles -e -del -dmdel -dmds -r1 \ # -rf$LOG_DATEI_ANTIVIR -ra -lang=DE" # Option mit Umbenennen des Virus ANTIVIROPTIONS="-s -v -z -allfiles -e -ren -dmdel -dmds -r1 \ -rf$LOG_DATEI_ANTIVIR -ra -lang=DE" # Option mit Löschen des Virus # FPROTOPTIONS="-ai -archive -collect -packed -auto -delete \ # -report=$LOG_DATEI_FPROT" # Option mit Umbenennen des Virus FPROTOPTIONS="-ai -archive -collect -dumb -packed \ -report=$LOG_DATEI_FPROT" RECHNERNAME=`uname -n` # auf umount am Ende nicht vergessen! #mount /dev/fd0 #mount /dev/cdrom #mount /dev/cdrom11 #mount /dev/cdrecorder mkdir $LOG_VERZEICHNIS echo \ "--------------------------------------------------------------------------------" echo Die Logdateien echo $LOG_DATEI_ANTIVIR und echo $LOG_DATEI_FPROT werden in echo $LOG_DATEI_SUMMARY zusammengefasst. echo \ "--------------------------------------------------------------------------------" rm $LOG_DATEI_ANTIVIR rm $LOG_DATEI_FPROT echo \ "--------------------------------------------------------------------------------" echo "Antivir Prüfung Start" echo \ "--------------------------------------------------------------------------------" /usr/bin/antivir $ANTIVIROPTIONS $SCANDIR echo \ "--------------------------------------------------------------------------------" echo "F-Prot Prüfung Start" echo \ "--------------------------------------------------------------------------------" /usr/local/bin/f-prot $FPROTOPTIONS $SCANDIR echo \ "________________________________________________________________________________" echo "" echo " AB HIER GENAU LESEN !" echo " gespeichert in" echo " $LOG_DATEI_SUMMARY" echo \ "________________________________________________________________________________" echo Kurz-Zusammenfassung für $RECHNERNAME:$SCANDIR \ am `date +%a\ %e\.\ %b\ %Y\ %H:%M` >> $LOG_DATEI_SUMMARY echo >> $LOG_DATEI_SUMMARY grep Alarme $LOG_DATEI_ANTIVIR >> $LOG_DATEI_SUMMARY grep Infected $LOG_DATEI_FPROT >> $LOG_DATEI_SUMMARY grep Suspicious $LOG_DATEI_FPROT >> $LOG_DATEI_SUMMARY echo \ "________________________________________________________________________________"\
$LOG_DATEI_SUMMARY
echo "gefunden von ANTIVIR:">> $LOG_DATEI_SUMMARY grep ALERT $LOG_DATEI_ANTIVIR >> $LOG_DATEI_SUMMARY echo >> $LOG_DATEI_SUMMARY echo "gefunden von F-PROT:">> $LOG_DATEI_SUMMARY grep Infection $LOG_DATEI_FPROT >> $LOG_DATEI_SUMMARY echo >> $LOG_DATEI_SUMMARY echo "Virenverdacht von F-PROT (could be):">> $LOG_DATEI_SUMMARY grep "could be" $LOG_DATEI_FPROT >> $LOG_DATEI_SUMMARY echo \ "________________________________________________________________________________"\
$LOG_DATEI_SUMMARY
echo "ANTIVIR Prüfung Zusammenfassung \ für $RECHNERNAME:$SCANDIR" >> $LOG_DATEI_SUMMARY echo "Scanoptionen: $ANTIVIROPTIONS" >> $LOG_DATEI_SUMMARY echo >> $LOG_DATEI_SUMMARY tail -n 9 $LOG_DATEI_ANTIVIR >> $LOG_DATEI_SUMMARY echo "F-PROT Prüfung Zusammenfassung \ für $RECHNERNAME:$SCANDIR" >> $LOG_DATEI_SUMMARY echo "Scanoptionen: $FPROTOPTIONS" >> $LOG_DATEI_SUMMARY echo >> $LOG_DATEI_SUMMARY tail -n 11 $LOG_DATEI_FPROT >> $LOG_DATEI_SUMMARY cat $LOG_DATEI_SUMMARY ergebnis="`grep 'Contains signature' $LOG_DATEI_SUMMARY ; \ grep 'Infection' $LOG_DATEI_SUMMARY ; grep Suspicious $LOG_DATEI_FPROT`" test -n "$ergebnis" && { echo "-----------------------------------------------" echo " ACHTUNG: der Virenscanner hat etwas gefunden! " echo "-----------------------------------------------" echo "Details siehe bis zur nächsten Virenprüfung in den Dateien \ $LOG_DATEI_ANTIVIR und $LOG_DATEI_FPROT" | mail -s "Virusalarm auf \ $RECHNERNAME in $SCANDIR \ "`date +%y-%m-%d`" "`date +%H:%M` -a $LOG_DATEI_SUMMARY $WARN } test -z "$ergebnis" && ( rm $LOG_DATEI_SUMMARY ) #umount /dev/fd0 #umount /dev/cdrom #umount /dev/cdrom11 #umount /dev/cdrecorder Al
participants (1)
-
Al Bogner