Debian Lenny - E-Mails scannen mit Evolution und Clamav

Ziele

Überlegung

Ich halte es für sinnvoll, dass auch ausgehende Nachrichten auf Viren hin untersucht werden. Prinzipiell sollte der Computer virenfrei sein, wenn eingehende Nachrichten gescannt und alle anderen Zugänge und Ports gesichert werden. Gleichwohl kann es geschehen, dass ein Virus über einen anderen Weg auf den Computer gelangen könnte, zum Beispiel über eine infizierte Word-Datei und einen USB-Stick. Es sollte ja immer alles gescannt werden, ist ja klar. Aber für alle Fälle könnte der Schädling dann nicht per E-Mail verbreitet werden, wenn man die Word-Datei im Anhang verschicken wollte.

Vorarbeit

In /etc/apt/sources.list Einträge für volatile hinzufügen (in diesem Beispiel sind es die letzten beiden Zeilen). Zeilenumbrüche sind platzbedingt und im Original nicht vorhanden. Informationen dazu gibt es an dieser Stelle: http://www.debian.org/volatile/

# deb cdrom:[Debian GNU/Linux Lenny-DI-rc2 _Lenny_ - Official RC i386 NETINST Binary-1 20090127-23:49]/ lenny main

deb http://ftp.de.debian.org/debian/ lenny main non-free contrib
deb-src http://ftp.de.debian.org/debian/ lenny main non-free contrib

deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free

#deb http://www.debian-multimedia.org/ lenny main
#deb-src http://debian-multimedi.org/ lenny main

deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free

Auf dem Computer sind clamav und clamav-daemon installiert.

# apt-get install clamav clamav-daemon

Mit installiert wird unter anderem clamav-freshclam. Dadurch werden die Antivirensignaturen automatisch aktualisiert. Mit clamav-daemon werden die Nachrichten gescannt. Ohne den geht es nicht.

Skript zum Scannen der Nachrichten anlegen - /usr/local/bin

# cd /usr/local/bin
# touch mailscan.sh

Inhalt der Datei /usr/local/bin/mailscan.sh

Informationen zum Autor: http://www.novell.com/coolsolutions/author/3237.html

#!/bin/bash

# Fred Blaise

# This program is free software; you can redistribute it and/or modify

# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of

# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software

# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
# MA 02111-1307 USA

FILE=/tmp/$$_outclam.tmp
clamdscan - 1>$FILE
if [ $? -eq 1 ]; then
STRING=$(grep "FOUND" $FILE |cut -d: -f2)
zenity --warning --title="Evolution: Virus detected" --text="$STRING" &
exit 1
fi
exit 0

Datei /usr/local/bin/mailscan.sh ausführbar machen

# chmod +x /usr/local/bin/mailscan.sh

Evolution - Zielordner für mit Viren verseuchte Nachrichten anlegen

In Evolution links in der Navigation mit der rechten Maustaste auf 'Auf diesem Computer' klicken.

'Ordner anlegen' auswählen.

Im neuen kleinen Fenster einen Namen für den Ordner eintragen.

In dem kleinen Fenster auf 'Auf diesem Computer' klicken, dann auf 'Anlegen'.

Evolution - Nachrichtenfilter einrichten

In Evolution über 'Bearbeiten', 'Nachrichtenfilter' gehen.

'Eingang' bzw. bei einem zweiten Durchgang 'Ausgehend' auswählen.

Bei Filterregeln 'Hinzufügen' anlicken, einen Namen für den Filter eintragen.

Abschnitt: Objekte suchen, die folgenden Kritierien entsprechen

Bei 'Objekte suchen' die Auswahl 'Falls irgendein Kriterium zutrifft' aktivieren.

Auf '+ Filterkriterien hinzufügen' klicken.

'An Programm weiterleiten' auswählen

Durch die Ordner durchklicken zu /usr/local/bin/mailscan.sh

Liefert nicht '0' auswählen.

Abschnitt: Dann

Auf '+ Aktion hinzufügen' klicken.

'In Ordner verschieben' anklicken und einen in Evolution eingerichteten Ordner wählen.

Auf '+ Aktion hinzufügen' klicken.

'Verarbeitung stoppen' auswählen.

Clamav - Regelname

Ein Klick auf das Bild öffnet eine vergrößerte Ansicht.

Erfolgskontrolle

Unter http://www.eicar.org/anti_virus_test_file.htm habe ich Testdateien herunter geladen und versucht, die Dateien im Anhang an meine Mailbox zu schicken. Der Inhalt der Seite wurde inzwischen geändert. Dateien gibt es nun auch hier: http://www.etes.de/downloads/eicar-testvirus/ . Das System zeigte eine Meldung über die Signatur und verschob die Nachricht in den vorgesehenen Ordner.

Aber: Leider wirkte sich die Regelung 'Verarbeitung stoppen' nicht aus. Die Nachricht wurde leider verschickt. Das zeigte sich, als eine entsprechende E-Mai abgeholt werden konnte. Inhalt: Letzter Fehler: 550 5.7.1 Delivery not authorized, message refused. Erklärung: host [...] said: Message contains a virus

Eicar Testsignatur gefunden

Später im Echtbetrieb:

Clamav - Virus gefunden

Logdatei /var/log/clamav/clamav.log ansehen

In der Log-Datei /var/log/clamav/clamav.log sollte ein Eintrag stehen, wenn ein Virus gefunden wurde.

Tue Dec 21 17:39:49 2010 -> stream: Eicar-Test-Signature FOUND