[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Exim und Spamassassin: Crash, wenn viele Mails



Am 11.06.2005 um 17:07 schrieb Joerg Rossdeutscher:

Ich habe deine Mail hier neben dieser offen. Tut mir leid - ich sehe
nicht, dass da irgendwo spamassassin oder spamc aufgerufen würde.

Die SpamAssassin-Unterstützung ist in Exim 4.50 eingebaut (unter Debian nur in exim4-daemon-heavy). Du musst Exim nur mitteilen, wie Nachrichten an spamd weitergeleitet werden sollen. Dafür gibt es die Option spamd_address, die Entweder eine IP-Adresse oder einen Socket als Parameter haben möchte.

Wenn Du SpamAssassin auf dem Mailserver installiert und ENABLED=1 in / etc/default/spamassassin gesetzt hast, damit spamd gestartet wird, verwendest Du folgende Einstellung:

spamd_address = 127.0.0.1

Mehr dazu in der Exim-Dokumentation unter <URL:http://www.exim.org/ exim-html-4.50/doc/html/spec_40.html#SECT40.2>.

Wie in meiner ersten Mail beschrieben, würde ich für dem spamd einen eigenen Benutzer anlegen, damit mögliche Fehler in SpamAssassin nicht mit privilegierten Rechten ausgenutzt werden können.

Kannst du mir einen Tip geben? Den einzigen Verweis auf Spamassassin in
deiner Mail entdecke ich hier:

spamd_address = /var/run/spamassassin/spamd.sock

Wer verwendet wo diesen Socket?

Um Nachrichten nach unerwünschter Werbung zu durchsuchen, erweiterst Du die Access-Control-List in /etc/exim4/conf.d/40_exim4- config_check_data. Diese ACL wird von Exim nach dem Empfang einer Nachricht abgearbeitet. Hier ein Beispiel, das Du vor dem abschliessenden "accept" einfügen könntest:

warn
  message = X-Spam-Flag: YES
  !acl = acl_whitelist_local_deny
  condition = ${if <{$message_size}{200K}{yes}{no}}
  spam = nobody

Mit "warn" und "message" legst Du fest, dass dem Nachrichtenkopf das Feld "X-Spam-Flag: YES" hinzugefügt wird, falls es sich bei der zu überprüfenden Nachricht um unerwünschte Werbung handelt.

Die Zeile mit acl_whitelist_local_deny sorgt dafür, dass Nachrichten, die von in der Datei /etc/exim4/local_host_whitelist gelisteten Hosts stammen, nicht nach Spam durchsucht werden. In dieser Datei kannst Du zum Beispiel die Adresse Eures lokalen Netzes in der Form 192.168.1.0/24 eintragen. Anstelle dieser Zeile sind auch andere Bedingungen denkbar, z.B. "!hosts = +relay_from_hosts". ACLs sind relativ kompliziert, aber in der Exim-Dokumentation findest Du etliche Beispiele.

Die nächste Zeile bewirkt, dass nur Nachrichten, die kleiner als 200KB groß sind, überprüft werden. Größere Nachrichten enthalten selten Spam, verursachen bei der Überprüfung mit SpamAssassin aber eine hohe Last, so dass es Sinn macht, sie auszuschliessen.

Für den Aufruf von SpamAssassin ist die letzte Zeile verantwortlich. Wenn diese Bedingung wahr ist, wird der mit "message" festgelegte Kopf in die Nachricht eingefügt.

Attachment: PGP.sig
Description: Signierter Teil der Nachricht


Reply to: