Exim4/ClamAV rewrite subject

Da es ja von AntiVir keine Lizenzen mehr Ihres Linux Mailgate Virenscanners fuer Privatleute kostenlos gibt (zumindestens habe ichs auf der neuen Webseite nicht mehr gefunden), habe ich ja meinem Exim mal ClamAv beigebracht. Dazu reicht ein „apt-get install clamav-daemon clamav-freshclam“. Anschliessend in der exim4.conf „av_scanner=clamd:/var/run/clamav/clamd.ctl“ hinzufuegen. Der Pfad sollte natuerlich vom exim User beschreibbar und erreichbar sein (Changeroot!). Das wars schon fast. Da ich fetchmail benutze bringt es natuerlich nicht so viel, wenn der exim dann via deny acl alle virenverseuchten Mail vom fetchmail ablehnt. Daher habe ich eine Loesung ala Spamassassin mit veraendertem Subject eingerichtet. Folgende ACL erstellt einen neuen Header Eintrag wenn ein Virus gefunden wird und schreibt eine Warnung ins Maillog:

check_message:
warn message = X-New-Subject: *** VIRUS ($malware_name) *** $h_Subject
log_message = $sender_host_address tried sending $malware_name
demime = *
malware = *

Dieser Header ersetzt dann per System Filter den alten Betreff. In die exim4.conf muss hierzu ein weiterer Eintrag „system_filter=/etc/exim4/filter.conf“. In diese Datei kommt dann noch folgender Code:

if „${if def:header_X-New-Subject: {there}}“ is there
then
headers remove Subject
headers add „Subject: $h_X-New-Subject:“
headers remove X-New-Subject
endif

Nach dem obligatorischen Neustart von Exim werden alle Mails von ClamAV auf Viren gescannt. Wird ein Virus gefunden sieht der Betreff der eingehenden Mails in etwa so aus:

Betreff: *** VIRUS (Eicar-Test-Signature) *** piwj

Schreibe einen Kommentar