Muscheln gegen Viren

Windows-Viren unter Linux bekämpfen: Der Virenfilter ClamAV

01.05.2004
Computerschädlinge sind so aktiv wie selten zuvor. Einem ständig aktualisierten Linux-System können sie in der Regel nichts anhaben. Wer neben Linux jedoch weiterhin Windows benutzt, mag von einem Virenfilter profitieren.

Kennen Sie den Spruch "Diesen Computer sichern Sie am besten mit einem Seitenschneider"? Leider ist er ein wenig veraltet, denn im Zeitalter der Hochleistungsakkus und drahtlosen Netzwerke schützt selbst das Abklemmen von Strom- und Netzkabel nicht mehr zuverlässig vor Eindringlingen (Kasten 1).

Wie man menschlichen Angreifern begegnet, erfahren Sie zum Beispiel ab Seite 27: Dabei helfen Firewalls, regelmäßige Updates des Betriebssystems oder äußerste Sparsamkeit beim Betrieb von Netzwerkdiensten. Thema dieses Artikels sind die automatisierten Computerschädlinge, die Ihre Geräte ganz ohne menschliches Zutun überfallen.

Sie existieren in drei groben Varianten: Echte Viren infizieren möglichst alle ausführbaren Dateien auf einem Computer und auf den erreichbaren Netzwerkdateisystemen ("Shares"). Sie werden beim Start eines befallenen Programms automatisch aktiv. Trojanische Pferde hingegen verlassen sich darauf, dass jemand sie mehr oder weniger bewusst auf seinen Rechner holt und startet. Würmer gehen einen Schritt weiter und bemühen sich aktiv um ihre Verbreitung auf fremden Computern, indem sie z. B. unsichere Netzwerkdienste vollautomatisch knacken oder sich per E-Mail versenden.

Eine auf dem aktuellem Stand gehaltene Linux-Distribution sollte gegen diese Fieslinge weitgehend immun sein. Viren im engeren Sinne des Wortes haben es auf Unix sowieso schwer: Wer als unprivilegierter Nutzer ein Programm ausführt, darf es in der Regel nicht verändern. Problematisch könnten eher Würmer und Trojaner werden. Doch ist Linux (derzeit noch) kein übermäßig attraktives Ziel für die Sorte Hacker, die Würmer bastelt, und etwaige Schwachstellen werden bei Open-Source-Programmen ohnehin meist innerhalb von Stunden nach dem Bekanntwerden geschlossen. Wer sein System aktuell hält, kann relativ ruhig schlafen.

Nicht ganz so einfach ist die Situation, wenn Sie nebenher noch mit Windows arbeiten. Schwachstellen in Microsoft-Programmen bleiben manchmal über Monate unkorrigiert und stellen damit ein offenes Tor für Angreifer dar. Egal ob Sie auf Ihrem Computer noch eine Windows-Installation vorhalten oder in einem kleinen Heim-Netzwerk einen separaten Windows-Computer betreiben: Linux kann dabei helfen, diese fremden Systeme zu schützen. Dieser Artikel zeigt einen Virenscanner für Linux, der ankommende E-Mails oder von Linux aus erreichbare Windows-Festplatten vollautomatisch überprüft.

Kostenloser Virenscanner

Ähnlich wie für Windows existieren auch für Linux zahlreiche Virenscanner, sowohl kostenpflichtig als auch kostenlos [4,5]. Freilich sind sie vor allem darauf ausgelegt, Windows-Viren und -Würmer aufzuspüren – schließlich neigt man unter Linux eher dazu, die zugrundeliegende Schwachstelle zu korrigieren als den Würmern hinterherzulaufen.

Dieser Artikel demonstriert beispielhaft ClamAV [1], ein echtes Open-Source-Produkt. Wer eine möglichst vollständige Abdeckung wünscht, wird eventuell einen weiteren Scanner ergänzen – die hier gezeigten Techniken lassen sich ohne weiteres auf andere Virenscanner übertragen.

Vor den Preis der vollautomatischen Virenjagd haben die Götter leider den Schweiß der Installation gesetzt. Gemeinerweise wünscht ClamAV sich nämlich eine besondere Bibliothek namens MP [2], die oft nicht vorinstalliert wird. Suchen Sie sich diese also aus den Archiven Ihrer Distribution heraus, bevor Sie ClamAV herunterladen!

Die anschließende Installation von ClamAV selbst folgt in weiten Teilen der üblichen Prozedur unter Linux. Für das Quellcode-Paket ist sie im mitgelieferten Handbuch ausgiebig dokumentiert; eine Übersicht finden Sie in Listing 1. Für ein Einzelplatzsystem empfiehlt der Autor zusätzlich, ein kleines Utility namens clamassassin einzuspielen. Damit binden Sie den Virenscanner in Ihr E-Mail-System ein, ohne den SMTP-Daemon umzukonfigurieren. Das ist einfacher, aber nicht so effizient wie andere Lösungen. Beachten Sie bei den "ln -s"-Befehlen, dass es sich um Backticks handelt, also um Accents graves.

Listing 1

Installation von ClamAV und Clamassassin

$ su
Password: root-Passwort
# groupadd clamav
# useradd -g clamav -s /bin/false clamav
# exit
$ tar xzf clamav-0.70-rc.tar.gz
$ cd clamav-0.70-rc
$ ./configure --sysconfdir=/etc
[…]
$ make
[…]
$ su
Password: root-Passwort
# make install
[…]
# exit
$ cd ..
$ tar xzf clamassassin-1.0.0.tar.gz
$ cd clamassassin-1.0.0
$ su
Password: root-Passwort
# install clamassassin /usr/local/bin
# cd /usr/local/bin
# ln -s `which mktemp` .
# ln -s `which formail` .
# exit

Unmittelbar nach der Installation können Sie ClamAV bereits ausprobieren. Wenn Sie beispielsweise Ihre Windows-Partitionen unter /windows gemountet haben, lautet der Befehl zum Scan

clamscan -ri /windows

E-Mail scannen

Wirklich interessant wird ClamAV spätestens dann, wenn es ankommende E-Mails automatisch auf Viren überprüft. Wie Sie es allerdings in Ihr Mail-System einbinden, hängt von Ihren persönlichen Vorlieben ab.

Viele Leute konfigurieren einen echten Mailserver auf ihrem lokalen Linux-System. Suse bietet dies beispielsweise über Yast an. Dabei holt ein kleines Tool namens fetchmail ankommende E-Mails vom Server des Providers ab und überträgt sie an den eigenen Mailserver. Der wiederum speichert die Nachrichten in /var/mail oder /var/spool/mail. Diese Variante nutzt die Leistungsfähigkeit der verbreiteten Mailsoftware überhaupt erst aus.

ClamAV binden Sie auf einem derartigen Einzelplatzsystem am schnellsten über procmail ein. Ergänzen Sie dazu einfach Listing 2 am Anfang Ihrer ~/.procmailrc. Wenn eine solche Datei in Ihrem Heimatverzeichnis noch nicht existiert, legen Sie sie neu an.

Listing 2

~/.procmailrc

für ClamAV

# Ankommende E-Mail mit ClamAV prüfen
:0 fw
| /usr/local/bin/clamassassin
# Virus gefunden? Dann im Folder "virus-gefangen" abspeichern
:0 :
* X-Virus-Status: Yes
virus-gefangen
# Andere Mails werden wie gewohnt ausgeliefert

Bequemere Zeitgenossen, die ihre E-Mails von einem grafischen Client wie Evolution oder KMail direkt vom Server abholen lassen, brauchen deshalb nicht auf ClamAV verzichten. Freilich stellt sich die Frage, ob sie einen Virenfilter für E-Mail benötigen, wenn sie die Nachrichten ausschließlich unter Linux ansehen – schaden kann er aber kaum.

In dieser Variante bekommt procmail Ihre Nachrichten niemals zu Gesicht, Listing 2 funktioniert also nicht. Daher richten Sie einen Filter direkt in Ihrem Mailprogramm ein. Abbildung 1 zeigt das beispielhaft für Evolution. Als Kommando für die Pipe eignet sich

sh -c "/usr/local/bin/clamassassin | grep -i 'x-virus-status: yes'"

Die Nachricht wird also durch clamassassin geschickt; grep (siehe Seite 76) sucht nach dem Signaltext, der einen gefundenen Virus anzeigt. Ist die Bedingung erfüllt, wandert die Mail automatisch in einen Spezialfolder für Viren.

Abbildung 1: So binden Sie ClamAV in Evolution ein.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

Kommentare

Infos zur Publikation

LU 01/2015: E-Books im Griff

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

PCLinuxOS Version 2014.08 "FullMonty" Umstellung auf deutsch
Karl-Heinz Welz, 19.12.2014 09:55, 2 Antworten
Hallo, liebe Community, ich bin 63 Jahre alt und möchte jetzt nach Jahrzehnten Windows zu Linux...
ICEauthority
Thomas Mann, 17.12.2014 14:49, 2 Antworten
Fehlermeldung beim Start von Linux Mint: Could not update ICEauthority file / home/user/.ICEauth...
Linux einrichten
Sigrid Bölke, 10.12.2014 10:46, 5 Antworten
Hallo, liebe Community, bin hier ganz neu,also entschuldigt,wenn ich hier falsch bin. Mein Prob...
Externe USB-Festplatte mit Ext4 formatiert, USB-Stick wird nicht mehr eingebunden
Wimpy *, 02.12.2014 16:31, 0 Antworten
Hallo, ich habe die externe USB-FP, die nur für Daten-Backup benutzt wird, mit dem YaST-Partition...
Steuern mit Linux
Siegfried Markner, 01.12.2014 11:56, 2 Antworten
Welches Linux eignet sich am besten für Steuerungen.