ClamAV/OnAccess
topic kurze Beschreibung
Beschreibung
Installation
Syntax
Parameter
Optionen
Konfiguration
Dateien
Anwendung
Sicherheit
Dokumentation
RFC
Man-Pages
Info-Pages
Projekt
Links
Siehe auch
Weblinks
Einzelnachweise
TMP
OnAccessScan
(Originalquelle: https://blog.clamav.net/2016/03/configuring-on-access-scanning-in-clamav.html )
Beim On-Access-Scannen wird die Datei beim Lesen, Schreiben oder Ausführen gescannt.
- Warnung
Zu diesem Zeitpunkt (November 2021) ist das On-Access-Scannen in ClamAV noch unausgereift, Sie sehen möglicherweise unerklärliche Clamd Abstürze und containerisierte Prozesse erhalten keinen Schutz. Daher ist es fraglich, ob es sich um eine Sicherheitsverbesserung handelt oder nicht. Aktivieren Sie es nicht, es sei denn, Vorschriften, Verträge oder Ihre eigene Neugier zwingen Sie dazu.
Für On-Access-Scans muss der Kernel mit dem fanotify -Kernelmodul (Kernel >= 3.8) kompiliert werden, was für offizielle Arch-Linux-Kernelpakete gilt. Überprüfen Sie, ob Fanotify aktiviert wurde, bevor Sie On-Access-Scans aktivieren.
$ zgrep FANOTIFY /proc/config.gz
Bearbeiten Sie zunächst die /etc/clamav/clamd.confKonfigurationsdatei, indem Sie am Ende der Datei Folgendes hinzufügen (Sie können auch die einzelnen Optionen ändern). Warnung Bitte beachten Sie die folgende Warnung zur Clamd-Port-Sicherheit, wenn Sie andere Teile der Datei ändern. Verwenden Sie im Allgemeinen einen lokalen Unix-Socket, aber beachten Sie, dass dieser Port nicht authentifiziert oder geschützt ist. Siehe https://docs.clamav.net/manual/Usage/Scanning.html#clamd-v0101 für weitere Details im Abschnitt Daemon und dann ClamD.
- /etc/clamav/clamd.conf
# Stellen Sie den Einhängepunkt ein, an dem der Scan rekursiv durchgeführt werden soll, # Dies könnte jeder Pfad oder mehrere Pfade sein (eine Zeile für Pfad) OnAccessMountPath / OnAccessExcludePath /proc OnAccessExcludePath /run OnAccessExcludePath /sys
# Fügen Sie alternativ einige Verzeichnisse anstelle von Einhängepunkten hinzu # OnAccessIncludePath /home
# Verhinderung funktioniert nicht mit OnAccessMountPath. # Es funktioniert mit OnAccessIncludePath, solange /usr und /etc nicht enthalten sind. # Das Einschließen von /var beim Aktivieren der Verhinderung wird ebenfalls nicht empfohlen, weil # Dies würde die Paketinstallation um den Faktor 1000 verlangsamen. OnAccessPrevention falsch
# Führen Sie Scans für neu erstellte, verschobene oder umbenannte Dateien durch OnAccessExtraScanning true
# Schließen Sie die UID des Scanners selbst von der Überprüfung aus, um Schleifen zu vermeiden OnAccessExcludeUname clamav
# Optional auch root-eigene Prozesse ausschließen # OnAccessExcludeRootUID wahr
# Geben Sie eine Aktion an, die ausgeführt werden soll, wenn clamav eine bösartige Datei erkennt # Es ist auch möglich, einen Inline-Befehl anzugeben VirusEvent /etc/clamav/virus-event.bash
# WARNUNG: Aus Sicherheitsgründen sollte clamd NIEMALS als Root ausgeführt werden. # Frühere Anweisungen in diesem Wiki enthielten diese Zeile, entfernen Sie sie: # Benutzer root # DIES ENTFERNEN # Fügen Sie stattdessen Folgendes hinzu: Benutzer clamav
Nächstes dem clamav Benutzer, -send als beliebiger Benutzer mit benutzerdefinierten Umgebungsvariablen über sudo auszuführen :
- /etc/sudoers.d/clamav
clamav ALL = (ALL) NOPASSWD: SETENV: /usr/bin/notify-send
Als nächstes erstellen Sie die Datei /etc/clamav/virus-event.bashund füge folgendes hinzu. Hiermit können Sie die Meldung ändern/angeben, wenn ein Virus vom On-Access-Scanning-Service von clamd entdeckt wurde:
- /etc/clamav/virus-event.bash
#!/bin/bash PATH=/usr/bin ALERT="Von Clamav erkannte Signatur: $CLAM_VIRUUSEVENT_VIRUSNAME in $CLAM_VIRUUSEVENT_FILENAME"
# Senden Sie eine Warnung an alle grafischen Benutzer. für ADRESSE in /run/user/* ; tun USERID=${ADDRESS#/run/user/} /usr/bin/sudo -u "#$USERID" DBUS_SESSION_BUS_ADDRESS="unix:path=$ADDRESS/bus" PATH=${PATH} \ /usr/bin/notify-send -i dialog-warning "Virus gefunden!" "$ALARM" fertig
Starten Sie die clamav-daemon.service.
Standardmäßig clamonacc übergibt clamav die Namen der Dateien, auf die gerade zugegriffen wurde, zum Scannen. Dies ist ein Problem, da Dateien, auf die der clamav- Benutzer nicht zugreifen kann, auf diese Weise nicht gescannt werden können. Stattdessen ist es möglich, clamonacc (das immer als root ) anzuweisen, die Dateideskriptorübergabe zu verwenden. Bearbeiten clamav-clamonacc.servicemit den folgenden:
[Service] ExecStart= ExecStart=/usr/sbin/clamonacc -F --fdpass --log=/var/log/clamav/clamonacc.log
Zuletzt müssen Sie die /aktivieren starten clamav-clamonacc.service.
Wenn Sie AppArmor Ablehnungen zu clamd , stellen Sie das Profil auf einen Nur-Beschweren-Modus ein:
# aa-beschwere dich