12.01.10 14:54
Kategorie: Shell
Virenscanner Auswertung für Linux-Server
Auch wenn für Linux-Systeme eigentlich keine klassischen Viren bekannt sind, Schadprogramme wie Rootkits gibt es dennoch. Auch auf Linux-Servern sollte daher regelmäßig ein Virenscanner laufen.
Damit das automatisch im Hintergrund passieren kann, haben wir uns ein kleines Skript gebaut, das sich um den Scan, dessen Auswertung und den Versand von Statusemails kümmert.
#!/bin/bash ################################################## ##name: clamscan.sh ##last change: 09.06.2009 ################################################# #Variablen definieren EMAIL=admin@help.de #WICHTIG! Verzeichnisse müssen existieren EXCLUDE_DIR=/var/spool/clamscan/ if [ ! -d $EXCLUDE_DIR ]; then echo "Clamscan kann Exlude-Ordner auf $(hostname) nicht finden" | mail -s 'Exlude-Ordner auf '$(hostname)' nicht gefunden' $EMAIL exit 1 fi LOGDIR=/var/log/clamscan/ if [ ! -d $LOGDIR ]; then echo "Clamscan kann Logflie-Ordner auf $(hostname) nicht finden" | mail -s 'Logfile-Ordner auf '$(hostname)' nicht gefunden' $EMAIL exit 1 fi #Array mit zu scannenden Verzeichnissen allDirs="/bin /var/www" for DIR in $allDirs; do DIRNAME=$(echo $DIR | sed 's!/!_!g') EXCLUDE_DATEI=$EXCLUDE_DIR$DIRNAME.exclude.txt #eventuell Exclude-Datei anlegen if [ ! -f $EXCLUDE_DATEI ]; then touch $EXCLUDE_DATEI fi LOG=$LOGDIR$DIRNAME.logfile.txt #Eventeull Logfile Anlegen if [ ! -f $LOG ]; then touch $LOG fi #whitelist in Variable speichern while read LINE; do EXCLUDE="$EXCLUDE --exclude $LINE" done < $EXCLUDE_DATEI #Scan durchführen ohne Whitelist /usr/bin/nice /usr/bin/clamscan -r -i --quiet --stdout $DIR $EXCLUDE --log=$LOG sleep 1 #Logfile nach Virenfunden durchsuchen TEMP=$(grep FOUND $LOG) if [ "$TEMP" != "" ]; then grep FOUND $LOG | sed 's!'$DIR'!!g' | mail -s 'Virus in '$DIR' auf '$(hostname)' gefunden!' $EMAIL fi #gefunden Viren in Whitelist aufnehmen - eine E-Mail reicht uns grep FOUND $LOG | awk -F ": " '{print $1}' | cat >> $EXCLUDE_DATEI rm $LOG done
Da immer mal wieder auch Fehlalarme von harmlosen Skripten verursacht werden, arbeitet unser Virenscan mit einer Whitelist. Für jeden Alarm wird daher nur eine einzige E-Mail verschickt, genug wenn man einen zuverlässigen Admin hat. (te)
Keine Kommentare



