Ich kenne den AntiVir für Linux schon seit etlichen Jahren, eingesetzt wurde er bisher auf dem Mailserver unter OpenSuSE und hatte auch keine Probleme gemacht. Jetzt bin wegen unterschiedlichen Gründen auf Scientifc Linux umgeschwenkt und habe bei der Neuinstallation vom AntiVir viele Probleme gehabt, die ich nachfolgend kurz beschreiben möchte sowie deren Lösung aufzeigen. Ich benutze die bezahlte Version.
Installation Avira AntiVir
Für die Installation in einem RedHat Kompatiblen Linuxsystem hat Avira ein
eigenes Repository eingerichtet.
Dazu gibt es einen Wissensdatenbankeintrag unter
http://www.avira.com/de/support-for-busi…detail/kbid/757.
Am Ende wird die Erstellung des Repositroyeintrags für Red Hat beschrieben.
Die Software kann nun mit
yum install antivir-server
installiert werden. Dazu werden noch einige benötigte Bibliotheken
hinzuinstalliert.
Installation verläuft ohne Probleme, der Virenscanner kann mit
service avguard start
gestartet werden.
Probleme mit der Avira-Installation
Durch die Standardinstallation wird auch eine Lizenzdatei
installiert. Leider ist sie nicht die richtige für die Produkte. Statt
hbedv_key muss die
Lizenzdatei
hbedv.key heissen und im Verzeichnis
/var/lib/AntiVir/guard
abgelegt werden.
Bei Starten wird immer versucht, dass Dazuko-Modul zu laden,
damit auf dem Server ein OnDemand-Scanning statt finden kann. Da aber nur das
Scannen mit amavisd-new gewünscht ist, reicht der reine Kommandozeilenscanner
vom AntiVir und steht immer zur Verfügung. Daher wird der Start des
OnDemand-Modus in der Konfigurationsdatei /etc/avira/avguard.conf mit folgender Option gesetzt:
# OnAccessManagement [yes|no|auto]
# This option allows you to explicitly enable/disable on-access protection of
# specified directories provided by Guard using dazukofs/dazuko kernel module.
# When set to "auto" Guard will determine if system has dazuko/dazukofs support
# at startup and use it to provide on-access protection automatically.
# If you set it to "no" or the system has no dazuko/dazukofs support
# Guard will provide no on-access protection. In this case only the on-demand
# scanner (avscan) can be used.
# WARNING: All on-access options will be rendered useless if you disable it.
# For setting on-demand scanner options check avscan.conf file.
# Default: OnAccessManagement autoOnAccessManagement no
Mit der neuen Version vom AntiVir lautet der Kommandozeilenaufruf nicht mehr
antivir sondern nun
avscan.
Zudem hat
[font='"']avscan[/font] unterschiedliche Aufrufparameter. Damit funktioniert der amavisd-new nicht
mehr, da er für den alten Virenscanner von Avira vorkonfiguriert ist. Damit die
neue Version funktioniert muss in der Konfigurationsdatei
/etc/amavisd/amavisd.conf
von amavisd-new folgende Änderung vorgenommen werden (
AntiVir 3.x and amavisd-new av_scanners
### http://www.avira.com/
### Avira AntiVir (formerly H+BEDV) or (old) CentralCommand Vexira Antivirus
#['Avira AntiVir', ['antivir','vexira'],
# '--allfiles -noboot -nombr -rs -s -z {}', [0], qr/ALERT
VIRUS:/m,
# qr/(?x)^\s* (?: ALERT: \s* (?: \[ | [^']* ' )|
# (?i) VIRUS:\ .*?\ virus\ '?) ( [^\]\s']+)/m ],
# NOTE: if you only have a demo version, remove -z and add 214, as in:
# '--allfiles -noboot -nombr -rs -s {}',[0,214], qr/ALERT
VIRUS:/,
### Avira for UNIX 3.x
['Avira AntiVir', ['avscan'],
'-s --batch --alert-action=none {}', [0], qr/(?:ALERT|FUND):/m,
qr/(?:ALERT|FUND): (.[^;]+) ;/m ],
Der
avscanlässt sich nicht mehr als normaler User starten, er benötigt root-Rechte. Da
jedoch der amavisd-new mit der Benutzerkennung amavis mit normalen Rechten
läuft, funktioniert der Virenscanner nicht. Daher wird dem Programm mit
chmod u+s /usr/lib/AntiVir/guard/avscan
die notwendigen Rechte gesetzt.
Nach einigen Updates des Virenscanners kam folgende Fehlermeldung:
Updating, please wait...
It was not possible to update scanner. Guard binary is missing.
It was not possible to update scanner. Guard binary is missing.
Error: Program execution error: The program being executed exited with error code 1
Error: Program execution error: The program being executed exited with error code 1
Das Problem wurde auch im Internet beschrieben unter:
http://aur.archlinux.org/packages.php?ID=20942&detail=1
Demnach muss die Datei UPDATE_GUARD_BIN_MISSING gelöscht werden, damit die
Updateprozedur wieder funktioniert.
Fatal ist jedoch der folgende Fehler. Jedesmal am nächsten Morgen konnte der
Virenscanner nicht gestartet werden, stattdessen gab es nur folgende
Fehlermeldung:
/usr/lib/AntiVir/guard/avscan
is not signed.
selfcheck failed,
aborting.
Workaround ist den Virenscanner mit
yum reinstall antivir-server
neu zu installieren. Dieses ist aber keine Lösung auf Dauer!
Erste Vermutung war, dass durch das nächtliche Update per cron irgendetwas
schief geht. Daher wurde zu erst die Ausgaben vom Update statt nach /dev/null
in die Datei /var/log/avupdate-cron.log umgeleitet. Jedoch zeigte sich hier
kein Hinweis auf das Problem. Da ehe das Problem mit der Datei
UPDATE_GUARD_BIN_MISSING bestand wurde ein eigenes Skript zum Updaten
geschrieben, in dem zuerst die genannte Datei gelöscht wurde und danach das
Update durchgeführt wurde.
#!/bin/bash
#
# Update Avira Virus Scanner
#
# Workaround to get updates done successfully
# Remove File UPDATE_GUARD_BIN_MISSING
rm -f /usr/lib/AntiVir/guard/UPDATE_GUARD_BIN_MISSING
#
# Do the update
#
/usr/lib/AntiVir/guard/avupdate-guard --product=Scanner
#
Zusätzlich wurde der Aktualisierungsrhythmus auf 4 Stunden verkürzt. Durch
die Ausgaben dieses neuen cronjobs zeigte sich, dass dieser Fehler eben nicht
durch das Update herbeigeführt wird.
Im Internet gibt es nur wenig über dieses Problem. Im folgenden Forumsbeitrag (
http://forum.avira.com/wbb/index.php?page=Thread&postID=941629)
gab es jedoch einen Hinweis auf die Problemlösung. Mit der Utitliy prelink sollen die Einsprungadressen für die dynamisch geladenen Bibliotheken mehr
zufallsgesteuert sein. Dazu modifiziert die Utility die Programme. Da führt nun dazu, dass vermutlich die Signatur nicht mehr stimmt und somit die Ausführung
abgebrochen wird. Lösung ist, die Programme von Avira in die Blacklist von prelink zu setzen, damit sie eben nicht modifiziert werden.
Dazu wurde im Verzeichnis
/etc/prelink.conf.d/ die Datei
avira-antivir-prelink.conf mit folgendem Inhalt erstellt:
# Avira Antivir prelink file.
# All files/directories listed in here will be exempt from prelinking
-b /usr/lib/AntiVir
Mit diesen Modifikationen läuft der Avira seit einigen Wochen ohne Probleme.
Ansgar