ClamAV Postfix Integration auf CentOS

ClamAV Postfix Integration auf CentOS

5
(2)

ClamAV ist ein Open-Source (GPL) Anti-Virus Toolkit für UNIX/Linux

Speziell für E-Mail-Scanning auf Mail-Gateways. Es bietet eine Reihe von Dienstprogrammen, einschließlich eines flexiblen und skalierbaren Multi-Threaded Daemon, sowie ein Kommandozeilen-Scanner als Fortgeschrittenes Werkzeug für die automatische Datenbankaktualisierungen. Der Kern des Pakets stellt eine Anti-Virus-Engine in Form einer gemeinsam genutzten Bibliothek zur Verfügung.

Dieser Artikel beschreibt die Integration von ClamAV auf einem CentOS 6 Mail Gateway (MTA) mit Postfix.

Als erstes wird der ClamAV Daemon aus dem EPL-Repo auf dem MTA installiert.

yum --enablerepo=epel -y install clamd clamsmtp

Nach der Installation wird der ClamAV-SMTP Daemon konfiguriert, bei den aufgeführten Zeilen das Kommentarzeichen-# entfernen (uncomment).

vi /etc/clamsmtpd.conf

Listen: 0.0.0.0:10025
Header: X-Virus-Scanned: ClamAV using ClamSMTP
Action: drop

Nun können die Dienste gestartet werden.

service clamsmtpd start

Mit freshclam die Antivirus-DB herunterladen.

freshclam

Den ClamAV Daemon starten

service clamsmtp-clamd start

Automatischer Systemstart aktivieren.

chkconfig clamsmtpd on
chkconfig clamsmtp-clamd on

Die Postfix content-filter Integration erfolgt in main.cf,  über Port 10025 zu ClamAV, aus master.cf über Port 10026 der Rücktransport zu Postfix.

vi /etc/postfix/main.cf

content_filter = scan:127.0.0.1:10025

vi /etc/postfix/master.ch

scan unix  -       -       n       -       16       smtp
   -o smtp_data_done_timeout=1200
   -o smtp_send_xforward_command=yes
   -o disable_dns_lookups=yes
127.0.0.1:10026 inet n       -       n       -       16       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_style=host
   -o smtpd_authorized_xforward_hosts=127.0.0.0/8

Postfix muss nun neu gestartet werden.

service postfix restart

Mit netstat kann die  Daemon Bereitschaft überprüft werden.

[root@mail ~]# netstat -talpn | grep clam
tcp      0      0 0.0.0.0:10025       0.0.0.0:*       LISTEN     21645/clamsmtpd

ClamAV kann mit telnet überprüft werden, wenn alles funktioniert sollte folgendes Resultat ausgegeben werden.

[root@mail ~]# telnet localhost 10025
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 smtp.passthru
ehlo localhost
250-smtp.passthru
250-SIZE 22000000
250-VRFY
250-ETRN
250-XFORWARD NAME ADDR PROTO HELO SOURCE PORT
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.

[root@mail ~]# telnet localhost 10026
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mail.odyssee.net ESMTP Postfix
ehlo localhost
250-mail.odyssee.net
250-PIPELINING
250-SIZE 22000000
250-VRFY
250-ETRN
250-XFORWARD NAME ADDR PROTO HELO SOURCE PORT
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.

Auch sollte das Mail Protokoll konsultiert werden.

tail -f /var/log/maillog

Bei den E-Mail Internetkopfzeilen (SMTP-Envelope) erscheint die X-Header Signatur.

SMTP-Internetkopfzeilen

Troubleshooting

Werden keine Mails mehr empfangen, ist wahrscheinlich folgender Fehler in maillog zu finden:

clamsmtpd: 100006: CLAMAV: couldn’t connect to: /var/run/clamd.clamsmtp/clamd.sock: No such file or directory
clamsmtpd: 100004: SERVER: couldn’t connect to: 127.0.0.1:10026: Transport endpoint is not connected

Der clamd deamon ist nicht mehr aktive. Um die clamav Services neu zu starten, können diese in der Console beendet, und anschlissend wieder gestartet werden:

service clamd stop
service clamsmtp-clamd stop
service clamsmtpd stop
service clamd start
service clamsmtp-clamd start
service clamsmtpd start

Nach dem clamd und clamsmtpd gestartet ist, können die aktiven Ports wie folgt überprüft werden:

ls -al /var/run/clamd.clamsmtp/clamd.pid
-rw-rw-r-- 1 clamsmtp mail 6 Oct 28 16:24 /var/run/clamd.clamsmtp/clamd.pid

netstat -tulpn
tcp     0     0 127.0.0.1:10025        0.0.0.0:*        LISTEN      21134/clamsmtpd
tcp     0     0 127.0.0.1:10026        0.0.0.0:*        LISTEN      21272/master

Weiter könnten noch Mails in der Queue liegen, diese mit dem Befehl mailq abgerfagt werden und postqueue abgearbeitet werden.

mailq
postqueue -f

Quelle: https://www.clamav.net/

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung 5 / 5. Anzahl Bewertungen: 2

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert