clamd

Aus Mikiwiki
Zur Navigation springen Zur Suche springen

Der Daemon clamd aus dem Antivirenprogramm Clamav wartet nach seinem Start standardmässig auf Port 3310 darauf, dass ein anderes Programm mit ihm kommuniziert. Er dient als Grundlage für den Einsatz von Drittprogrammen. Zusatzmodule (sogenannte "third party addons") eröffnen zusätzlich viele Möglichkeiten, Clamav in E-Mail- und Dateirechnern sowie Proxys und Webrechnern einzubinden.

clamd kann in den Betriebsmodi lokal oder Netzwerk laufen - die Modi unterscheiden sich dadurch, dass der Daemon-Prozess entweder an einem Socket oder an einem Port lauscht.

Konfiguration

Die Konfigurationsdatei "/etc/clamd.conf" (Ubuntu 8.04: "/etc/clamav/clamd.conf") ist für das Start- und Laufverhalten von clamd verantwortlich. Unter Ubuntu 8.04 kann die Konfiguration auch durch Aufruf von "sudo dpkg-reconfigure clamav-base" erfolgen.

Parameter Beschreibung
LogSyslog true Protokollierung der Arbeit von clamd.
LogFile /var/log/clamav/clamav.log Festlegen der Protokolldatei für clamd (hier "/var/log/clamav/clamav.log").
LogFile-MaxSize 2M Höchstgrösse der Protokolldatei (hier 2 MB).
LogTime true In der Protokolldatei steht vor den Einträgen die jeweilige Uhrzeit.
DatabaseDirectory /var/lib/clamav Verzeichnis der von clamd verwendeten Virensignatur-Datenbank (hier "/var/lib/clamav").
ScanArchive true Auch gepackte Archivdateien werden geprüft.
ScanRAR true Auch gepackte RAR-Archivdateien werden geprüft.
ArchiveMaxFileSize 2M Höchstgrösse einer zu prüfenden Datei in einer gepackten Archivdatei (hier 2 MB) - dieser Schalter schützt das System vor Archivbomben.
StreamMaxLength 5M Höchstgrösse einer zu prüfenden Datei (hier 5 MB). Die Höchstgrösse sollte 100 MB nicht übersteigen, um die Rechnerperformance nicht zu sehr zu beeinträchtigen.
ArchiveBlockEncrypted true Eine passwortgeschützte Archivdatei wird als Schadprogramm betrachtet, da clamd eine solche ohnehin nicht prüfen kann.
User clamav clamd wird als Benutzer "clamav" gestartet. Damit clamd mit sämtlichen Addons korrekt zusammenarbeitet, muss er als Benutzer "root" gestartet werden, der Eintrag muss dann also lauten "User root".

Zur Aktivierung des lokalen Socket-Betriebsmodus werden die Parameter "TCPSocket" und "TCPAddr" auskommentiert und der Parameter "LocalSocket /path/to/file" hinzugefügt (bei älteren Versionen lautet der Eintrag "socket name = /path/to/file"). Da Clamav den Socket als Datei erstellt, muss das diese Datei enthaltende Verzeichnis für alle Benutzer les- und schreibbar sein, damit andere Programme darauf zugreifen können. Zu diesem Zweck wird beispielsweise im Verzeichnis "/var/run" das Unterverzeichnis "clamscan" angelegt und letzteres mit "chmod 777 clamscan" für alle les- und schreibbar gemacht.

Zum Test der Funktion von clamd kann die Eicar-Testdatei verwendet werden, welche von praktisch allen Antivirenprogrammen als Schadprogramm erkannt wird, jedoch ausser einer Signatur keinerlei Schadcode enthält. Folgt dem Aufruf von clamdscan die Meldung "Eicar-Test-Signature FOUND", so arbeitet clamd korrekt.

$ clamdscan - < eicar.com
stream: Eicar-Test-Signature FOUND

----------- SCAN SUMMARY -----------
Infected files: 1
Time: 2.506 sec (0 m 2 s)

Bei aktivierter Protokollierung findet sich auch ein entsprechender Hinweis in der Protokolldatei:

Mon Aug  3 13:55:19 2009 -> stream(127.0.0.1@1199): Eicar-Test-Signature FOUND

Was mit als Schadprogrammen erkannten Dateien geschieht, entscheiden letztlich aisschliesslich die kommunizierenden Anwendungsprogramme (z. B. clamdscan). Normalerweise sind das Vermittler zwischen Netzwerkdiensten (z. B. Mailserver, Fileserver, Proxy, FTP-Server) und clamd.