Wie kann ich auf Ubuntu Virus scannen
Virenscanner unter Linux: ClamAV auf Ubuntu installieren, mit freshclam aktualisieren, scannen, per Timer automatisieren und Fehlalarme behandeln.
Für Linux gibt es mit ClamAV einen gratis Virus Scanner. Ich setze ihn seit Jahren auf Datei- und Mailservern ein, und die Frage nach dem Sinn kommt jedes Mal. Deshalb vorweg die Einordnung, danach die Praxis.
Warum man unter Linux überhaupt scannt
Der häufigste Grund hat wenig mit dem eigenen System zu tun: Ein Linux-Server reicht Dateien weiter. Ein Samba-Share, ein Mailserver, ein Upload-Verzeichnis eines Webservers oder ein Backup-Ziel sammelt Dateien ein, die anschließend auf Windows-Clients landen. Ein Windows-Trojaner richtet auf dem Ubuntu-Server selbst nichts an, wird von dort aber fröhlich weitergegeben. Genau diese Rolle als Zwischenstation ist der Grund für den Scanner.
Der zweite Grund ist Compliance. In vielen Regelwerken und Kundenaudits steht schlicht, dass auf Fileservern ein Virenscanner läuft, unabhängig vom Betriebssystem.
Der dritte Grund ist der eigene Schutz. Schadsoftware für Linux gibt es sehr wohl, meist in Form von Cryptominern und Webshells nach einer ausgenutzten Schwachstelle. ClamAV erkennt einen Teil davon. Zur Absicherung Deines Systems gehört neben dem Virenscan auch eine Firewall, die Du mit ufw einrichten kannst.
Welche Virenscanner es unter Linux gibt
- ClamAV ist der Open-Source-Standard und in den Paketquellen jeder Distribution. Signaturbasiert, mit eigenem Daemon, Mail- und Proxy-Anbindung. Für die allermeisten Fälle die erste Wahl.
- rkhunter und chkrootkit suchen keine klassischen Viren, sondern Rootkits und manipulierte Systemdateien. Sie ergänzen ClamAV, weil sie einen anderen Angriffstyp abdecken.
- Lynis ist ein Audit-Werkzeug zur Systemhärtung. Es prüft Konfiguration, Dienste und Rechte und gibt priorisierte Empfehlungen aus.
- Kommerzielle Lösungen von Herstellern wie ESET, Sophos oder Kaspersky gibt es für Linux-Server ebenfalls. Interessant werden sie vor allem dort, wo zentrale Verwaltung, Reporting und Support gefordert sind.
ClamAV ist dabei nur ein Baustein – einen Überblick über weitere Tools für ein Security-Audit findest Du in einem eigenen Beitrag.
ClamAV installieren
Die Installation geht denkbar einfach:
sudo apt install clamav clamav-daemon
Das Paket clamav bringt die Kommandozeilenwerkzeuge, clamav-daemon den Hintergrunddienst. Mitinstalliert wird clamav-freshclam, der die Signaturen aktuell hält. Die Konfiguration liegt unter:
/etc/clamav
Signaturen aktualisieren
Ein Scanner ohne aktuelle Signaturen ist nutzlos. Von Hand aktualisierst Du so:
sudo freshclam
Wichtig dabei: Nach der Installation läuft clamav-freshclam bereits als Dienst und holt die Updates mehrmals täglich selbst. Startest Du freshclam manuell, während der Dienst läuft, bekommst Du eine Sperrmeldung auf die Datenbankdatei. Dann stoppst Du den Dienst kurz:
sudo systemctl stop clamav-freshclam
sudo freshclam
sudo systemctl start clamav-freshclam
Im Normalbetrieb brauchst Du das nicht. Es lohnt nur direkt nach der Installation, weil der erste Download der Signaturen einige hundert Megabyte umfasst und ein paar Minuten dauert.
Scan durchführen
Der Klassiker für ein Verzeichnis:
clamscan -r --bell -i /home
Die Optionen im Einzelnen:
-rdurchsucht rekursiv alle Unterverzeichnisse.-izeigt ausschließlich Treffer an. Ohne diese Option bekommst Du für jede saubere Datei eine Zeile und siehst den Wald vor lauter Bäumen nicht.--bellgibt bei einem Fund einen Signalton aus.
Willst Du das ganze System prüfen, schließe die virtuellen Dateisysteme aus:
clamscan -r -i --exclude-dir="^/sys" --bell /
Für einen Lauf im Hintergrund mit Protokoll:
clamscan -r -i --exclude-dir="^/sys" --bell / --log=/tmp/scan.log &
Du kannst mittels clamscan -h herausfinden, welche weiteren Parameter zur Verfügung stehen.
Ein Wort zu --remove: Diese Option löscht Fundstücke sofort und ohne Rückfrage. Bei einem Fehlalarm auf einer Konfigurationsdatei oder einem Backup ist der Schaden dann größer als der Nutzen. Ich arbeite stattdessen mit --move=/var/quarantaene, schaue mir die Dateien in Ruhe an und lösche erst danach.
Das Ergebnis lesen
Am Ende jedes Laufs steht eine Zusammenfassung mit Scanned files, Infected files und der Laufzeit. Interessant sind die Zeilen darüber im Format /pfad/zur/datei: Name.Der.Signatur FOUND. Der Signaturname sagt Dir, worum es geht. Einträge mit Heuristics. im Namen sind heuristische Treffer und deutlich öfter Fehlalarme als klare Signaturtreffer. Win.Trojan. oder Win.Malware. bezeichnet Windows-Schadsoftware, die auf dem Linux-System selbst nicht läuft, aber weitergereicht würde.
ClamAV als Daemon nutzen
clamscan lädt bei jedem Aufruf die komplette Signaturdatenbank neu, das kostet bei jedem Start um die 30 Sekunden und viel Arbeitsspeicher. Läuft der Daemon, hält er die Datenbank dauerhaft im Speicher und Du sprichst ihn mit dem schlanken Client an:
sudo systemctl enable --now clamav-daemon
clamdscan --fdpass -i /home
Das ist um ein Vielfaches schneller und die richtige Wahl für regelmäßige Läufe. --fdpass übergibt den Dateideskriptor und umgeht damit Rechteprobleme, wenn der Daemon unter dem Benutzer clamav läuft und die Dateien ihm nicht gehören. Mit --multiscan verteilt er die Arbeit auf mehrere Kerne.
Regelmäßiger Scan per Timer oder cron
Am einfachsten über cron. Ein Eintrag in /etc/cron.d/clamav-scan für einen nächtlichen Lauf:
30 3 * * * root /usr/bin/clamdscan --fdpass -i /home /srv --log=/var/log/clamav/scan.log
Damit der Scan regelmäßig läuft, kannst Du ihn wie einen nächtlichen Ubuntu-Neustart per cron automatisieren.
Sauberer ist ein systemd-Timer, weil er verpasste Läufe nachholt und Du den Status über systemctl list-timers siehst. Dafür legst Du eine clamav-scan.service mit dem Befehl und eine clamav-scan.timer mit OnCalendar=*-*-* 03:30:00 und Persistent=true unter /etc/systemd/system/ an.
Wichtig ist in beiden Fällen, dass Du das Ergebnis auch siehst. Ein Scan, dessen Log niemand liest, ist ein Scan, den es nicht gibt. Ich lasse mir bei Funden eine Mail schicken.
Testen
Gehe in das Verzeichnis, in dem Du testen willst, und erzeuge eine EICAR-Datei:
echo 'X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*' > clamav-testfile
oder einfach
curl -O http://www.eicar.org/download/eicar.com
Ein anschließender clamscan -i in diesem Verzeichnis muss die Datei melden. Damit weißt Du, dass Signaturen geladen sind und der Scanner arbeitet.
Umgang mit Falschmeldungen
Fehlalarme gehören dazu, besonders bei heuristischen Treffern, Testdaten aus Security-Werkzeugen und Mailarchiven mit alten Anhängen. Bevor Du eine Datei löschst, prüfe sie über einen zweiten Scanner oder VirusTotal.
Bestätigt sich der Fehlalarm, nimmst Du die Datei über eine Signaturausnahme heraus. Dazu trägst Du den Signaturnamen in /var/lib/clamav/local.ign2 ein und startest den Daemon neu:
echo 'Heuristics.Beispiel.Signatur' | sudo tee -a /var/lib/clamav/local.ign2
sudo systemctl restart clamav-daemon
Ganze Pfade schließt Du beim Aufruf mit --exclude-dir aus. Sei damit sparsam, denn jede Ausnahme ist ein blinder Fleck.
Deinstallieren
Stoppen, deinstallieren und Konfiguration samt Datenbank entfernen:
sudo systemctl stop clamav-freshclam
sudo systemctl stop clamav-daemon
sudo apt purge -y clamav clamav-daemon clamav-freshclam
sudo apt autoremove -y
sudo rm -rf /etc/clamav
sudo rm -rf /var/log/clamav
sudo rm -rf /var/lib/clamav
sudo apt-get update
Wie bei ClamAV gilt auch fürs ganze System: Aktuelle Pakete schützen am besten – wie Du Ubuntu LTS aktuell hältst, liest Du hier.
Mehr aus „Security & Datenschutz"

ISO 27001: 16 Kontrollbereiche und die Nachweise, die im Audit zählen
ISO 27001 verständlich erklärt: die 16 zentralen Kontrollbereiche mit den Richtlinien, Verfahren und Nachweisen, die im Audit zählen.
Weiterlesen
GRC-Frameworks im Überblick: die wichtigsten Standards für Governance, Risk und Compliance
GRC-Frameworks kompakt erklärt: ISO 27001, NIST, COBIT, ITIL, NIS2, DORA und mehr – für wen sie gedacht sind und welchen Nutzen sie im Alltag bringen.
WeiterlesenChatGPT für CISOs
ChatGPT für CISOs: So nutzt Du das LLM im ISMS für Richtlinien, Risikoanalysen und NIS2-Umsetzung, inkl. praxiserprobter Prompts und ISO27001-Workflow.
WeiterlesenÜber diesen Blog
Ein Sammelsurium an Denkanstößen.
Hier sammle ich Wissen, Argumente und Links zu allem, was mich beschäftigt — von Technik über Küche bis Nachhaltigkeit. Beruflich berate ich zu Cybersecurity.