Mini-Howto Postfix+amavisd-new+ClamAV

Lesenswerte Artikel, Anleitungen und Diskussionen
User avatar
daemotron
Administrator
Administrator
Posts: 2800
Joined: 2004-01-21 17:44

Re: Mini-Howto Postfix+amavisd-new+ClamAV

Post by daemotron » 2007-01-22 17:31

Konkret für 9.3 wüsste ich jetzt nicht... aber generell ist das Vorgehen recht einfach (zumindest wenn man Postfix nutzt). Hier ein kurzes HowTo:

1. Benötigte Pakete über Yast installieren. Gebraucht werden
  • amavisd-new
  • clamav
2. /etc/amavisd.conf bearbeiten. Im oberen Teil Hostname und Alert-Mailempfänger anpassen. Außerdem folgende Zeilen ent-kommentieren oder einfügen:

Code: Select all

$inet_socket_bind = '127.0.0.1';
$forward_method = 'smtp:127.0.0.1:10025';
$notify_method = $forward_method;
$final_virus_destiny      = D_DISCARD;  # (defaults to D_DISCARD)
Weiter unten die ClamAV-Zeilen de-kommentieren (ab Zeile 268):

Code: Select all

 ['ClamAV-clamd',
   &ask_daemon, ["CONTSCAN {}n", "/var/lib/clamav/clamd-socket"],
   qr/bOK$/, qr/bFOUND$/,
   qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
3. /etc/postfix/main.cf bearbeiten und folgende Zeile hinzufügen:

Code: Select all

content_filter = smtp-amavis:[127.0.0.1]:10024
4. /etc/postfix/master.cf bearbeiten und folgendes hinzufügen:

Code: Select all

smtp-amavis     unix -        -       n     -       2  smtp
  -o smtp_data_done_timeout=1200
  -o smtp_send_xforward_command=yes

127.0.0.1:10025 inet n        -       n     -       -  smtpd
  -o content_filter=
  -o local_recipient_maps=
  -o relay_recipient_maps=
  -o smtpd_restriction_classes=
  -o smtpd_client_restrictions=
  -o smtpd_helo_restrictions=
  -o smtpd_sender_restrictions=
  -o smtpd_recipient_restrictions=permit_mynetworks,reject
  -o mynetworks=127.0.0.0/8
  -o strict_rfc821_envelopes=yes
  -o smtpd_error_sleep_time=0
  -o smtpd_soft_error_limit=1001
  -o smtpd_hard_error_limit=1000
5. /etc/clamd.conf bearbeiten und die Zeilen auskommentieren, die clamd per TCP lauschen lassen würden - uns genügt der Socket völlig :wink:

6. /etc/freshclam.conf bearbeiten - wichtig sind folgende Zeilen:

Code: Select all

DatabaseMirror db.de.clamav.net
Checks 12
7. und ab die Post...

Code: Select all

rcfreshclam start
rcclamd start
rcamavis start
Zur Kontrolle, ob amavisd-new jetzt auch weisungsgemäß an Port 10024 lauscht:

Code: Select all

 netstat -tulpen | grep amavisd
tcp        0      0 127.0.0.1:10024         0.0.0.0:*               LISTEN      0          7354648    25203/amavisd (mast
OK, da isser. Also fix jetzt auch Postfix losjagen:

Code: Select all

rcpostfix restart
Jetzt müsste sich folgendes Bild ergeben:

Code: Select all

netstat -tulpen
tcp        0      0 127.0.0.1:10024         0.0.0.0:*               LISTEN      0          9354       5623/amavisd (maste
tcp        0      0 127.0.0.1:10025         0.0.0.0:*               LISTEN      0          14032      7030/master
tcp        0      0 0.0.0.0:25              0.0.0.0:*               LISTEN      0          13918      7030/master
Zum Testen am besten mal den EICAR-Test runterladen (in ge-zip-ter Form, so prüft man gleich, ob das Ding auch Archive durchwühlt) und per Mail an ein Postfach auf dem Server schicken. Sollte eigentlich eine Warnung an die virusadmin-Adresse geben und die Mail sollte im Quarantäneverzeichnis verschwinden 8)