andere Farbe:
andere Schriftgröße: 60% 70% 80% 90%

Amavis

1. Was ist Amavis?
2. Amavis installieren
2.1 Amavis von der Suse-CD installieren
2.2 Amavis ueber ein tar-archiv installieren
2.3 Amavis installieren
3. Amavis-Konfiguration
4. Amavis und Postfix verbinden
5. Amavis starten

1. Was ist Amavis? (nach oben)

Amavis (Kurzform für A Mail Virus Scanner) ist eine Schnittstelle zwischen dem "Message Transfer Agent" (MTA) (z.B: postfix) und einem oder mehreren Viren-Scanner und/oder Spam-Filter. Amavis nimmt dabei die E-Mail vom MTA entgegen, extrahiert die zu überprüfenden Daten und wendet beliebige Virenscanner darauf an. Meldet einer dieser Virenscanner eine Infektion, stoppt Amavis die Auslieferung der Mail und versendet stattdessen eine entsprechende Warnmeldung.

2. Amavis installieren: (nach oben)

Bei verwendung der Distributionen SuSE bzw. openSuSE kann die Installation von amavis über yast erfolgen. Bei Verwendung anderer Distributionen oder falls die amavis-Software aktualisert werden soll, muss das amavis Paket aus dem Internet heruntergeladen werden und manuell installiert werden.

2.1 Amavis von der Suse-CD installieren: (nach oben)

Durch die Installation von amavis-new über Suse werden auch gleich die Start- und Endeskripte erzeugt, bzw. man kann amavis- new auch über den YAST-Runlevel starten oder beenden.

2.2 Amavis ueber ein tar-archiv installieren: (nach oben)

Homepage: http://www.ijs.si/software/amavisd/
Dateiname z.B.: amavisd-new-20030616-p9-1.tar.gz

Datei entpacken:

gzip -d -c amavisd-new-20030616-p9-1.tar.gz
tar -xvf amavisd-new-20030616-p9-1.tar

Durch tar wird im Verzeichnis, in dem amavis entpackt wurde, ein neues Verzeichnis, mit dem Namen amavisd-new-20030616 erstellt:

cd amavisd-new-20030616

2.3 Amavis installieren: (nach oben)

  • Folgende externe Programme werden von amavis-new für das decodieren/entpacken benütigt: compress, gzip, bzip2, nomarch (oder arc), lha, arj (oder unarj), rar (oder unrar), zoo, cpio, lzop, freeze (oder unfreeze).
  • eine Perl-Version ab 5.8.2 oder spüter muss vorhanden sein bzw. schon installiert sein. bitte überprüfen mit: usr/bin/perl -v
  • eine Gruppe mit dem Namen vscan über YAST oder mit "groupadd" anlegen.
  • ein User mit dem Namen vscan über YAST oder mit "useradd" anlegen.
  • ein home-Verzeichnis für amavis anlegen: (wenn noch nicht vorhanden)
    mkdir /var/spool/amavis
    chown vscan:vscan /var/spool/amavis
    chmod 750 /var/spool/amavis
  • ein Verzeichnis anlegen, in dem die deutschen Texte für die Benachrichtigungsmails stehen und für die "white List" (wenn noch nicht vorhanden)
    mkdir /etc/amavis
  • Deutsche Benachrichtigungstext und die whitelist erstellen.
    emacs /etc/amavis/virus_sender.txt
    emacs /etc/amavis/virus_admin.txt
    emacs /etc/amavis/virus_empfaenger.txt
    emacs /etc/amavis/whitelist_sender
  • Datei amavisd nach /usr/sbin/ kopieren. Datei muss ausführbar sein.
    cp amavisd /usr/sbin/
    chown root /usr/sbin/amavisd
    chmod 644 /usr/sbin/amavisd
  • Datei amavisd.conf nach /etc/ kopieren.
    cp amavisd.conf
    /etc chown root /etc/amavisd.conf
    chmod 644 /etc/amavisd.conf
  • Quarantüne-verzeichnis anlegen.
    mkdir /var/spool/amavis/virusmail
    chown vscan:vscan /var/spool/amavis/virusmail
    chmod 750 /var/spool/amavis/virusmail
  • in die aliases-Datei folgendes eintragen:
    virusalert: admin

3. Amavis-Konfiguration: (nach oben)

Die Datei /etc/amavisd.conf entsprechend ündern bzw. die oben neu erstellten Verzeichnisse für amavis bekannt geben.

$MYDOMAIN = 'domain.tld'
$daemon_user = 'vscan'
$daemon_user = 'vscan'
$MYHOME = '/var/spool/amavis
$TEMPBASE = $MYHOME
$forward_method = 'smtp:127.0.0.1:10025'

! deutsche Benachrichtigung
$notify_virus_sender_templ= read_text('/etc/amavis/virus_sender.txt');
$notify_virus_admin_templ = read_text('/etc/amavis/virus_admin.txt');
$notify_virus_recips_templ= read_text('/etc/amavis/virus_empfaenger.txt');

$final_virus_destiny = D_BOUNCE;
$final_banned_destiny = D_BOUNCE;
$final_spam_destiny = D_BOUNCE;

$warnbannedsender = 1;
$warnvirusrecip = 1;
$warnbannedrecip = 1;

$virus_admin = "virusalert\@$mydomain";
$spam_admin = "spam\@$mydomain"; ! Spam-benachrichtigung landet im Acount spam@domain.tld

$QUARANTINEDIR = /var/spool/amavis/virusmails

$spam_quarantine_to = "spam\@$mydomain"; ! Orginal-Spam landet im Acount spam@domain.tld

$banned_filename_re = new_RE(
# qr'\.[a-zA-Z][a-zA-Z0-9]{0,3}\.(vbs|pif|scr|bat|com|exe|dll)$'i, # double extension
# qr'.\.(exe|vbs|pif|scr|bat|com)$'i, # banned extension - basic
qr'.\.(ade|adp|bas|bat|chm|cmd|com|cpl|crt|dll|exe|hlp|hta|inf|ins|isp|js|
jse|lnk|mdb|mde|msc|msi|msp|mst|pcd|pif|reg|scr|sct|shs|shb|vb|
vbe|vbs|wsc|wsf|wsh)$'ix,

read_hash(\%whitelist_sender, '/etc/amavis/whitelist_sender');

4. Amavis und Postfix verbinden: (nach oben)

Nach der Installation von Amavis, ist es nun notwendig diesen zur Zusammenarbeit mit postfix zu konfigurieren. Dazu sind einige ünderungen in der /etc/postfix/master.cf und in der /etc/postfix/main.cf erforderlich.

In der postfix-datei /etc/postfix/master.cf folgendes hinzufügen:

smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes
localhost:10026 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_helo_restrictions=
-o smtpd_client_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o myhostname=mein.domain.tld
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
localhost:10025 inet n n n - 10 spawn
user=nobody argv=/usr/local/f-prot/tools/scan-mail.pl -postfix 127.0.0.1:10026

Diese Anweisungen fügen einen zusützlichen SMTP-Listener auf Port 10026 hinzu. Dieser Daemon wird von Amavis dazu genutzt die gescannten E-mails wieder an den Postfix-MTA zurückzugeben.

In der postfix-datei /etc/postfix/main.cf folgendes hinzufügen:

content_filter = smtp-amavis:[127.0.0.1]:10024

Mit diesem Befehl wird postfix angewiesen alle Emails für das Filtern am Amavis auf localhost auf Port 10024 zu schicken. Dort werden die E-mails bearbeitet und über Port 10025 (siehe oben) wieder zurück an postfix gesendet.

5. Amavis starten: (nach oben)

Programm starten mit: /usr/sbin/amavisd debug

Programm beenden:rcamavis stop

Konfigurationsdatei von postfix neu einlesen: rcpostfix reload

log-Datei von amavisd-new: /var/spool/amavis/amavis.log

Lüuft postfix auf den richtigen port? Eingabe: fuser -n tcp 10025
Wenn ja, wird die entsprechende postfix-id angezeigt.

Lüuft amavis auf den richtigen port? Eingabe: fuser -n tcp 10024
Wenn ja, wird die entsprechende amavis-id angezeigt.