Postfix/Spamassassin Konfiguration: Eingehende UND Ausgehende Nachrichten auf Spam prüfen

Hallo

Ich habe eine Frage zu Postfix/Dovecot/Spamassassin/Clamav Setup. Bis jetzt hab ich immer nur eingehende (weitergeleitet auf Konten meines Servers) Mails nach Spam geprüft und entsprechend in einen separaten Spam-Ordner (mit Dovecot Sieve) geschaufelt. Mit zunehmend Mail-Weiterleitungen anstatt Mailkonten auf meinem Server ist da aber das Problem, dass ich ebenfalls Spam weiterleite. Ich habe nun in postfix u.A. folgendes in master.cf konfiguriert:
Code:
smtp      inet  n       -       y       -       -       smtpd -o content_filter=spamassassin
spamassassin unix -     n       n       -       -       pipe user=vmail argv=/path/to/spamc -u ${recipient} -f -e  /path/to/sendmail -oi -f ${sender} ${recipient}
submission inet n       -       y       -       -       smtpd
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/dovecot-lda -f ${sender} -d ${recipient}
und u.A. in main.cf:
Code:
virtual_transport = dovecot
Damit werden auch wirklich eingehende (zu Usern auf dem Server) und ausgehende (welche an andere Server weitergeleitet werden) Mails auf Spam geprüft.

Nun 2 Fragen, neben der Frage ob dieses Vorgehen i.A. gut ist:

1) Mit dem -u ${recipient} gebe ich an, dass die Config Datei des Mail-Empfänger verwendet wird (siehe manpage hier: "-u: To have spamd use per-user-config files"). Das funktioniert gut bei eingehenden Mails: wenn eine Mail an "userxy@internaldomain.com" eingeht, verwendet Spamassassin die config Datei /home/userxy/.spamassassin/user_prefs. Wenn nun aber einer meiner Benutzer eine Mail ins Internet raus schicht (z.B. an "bla@externaldomain.com"), versucht Spamassassin immer auch diese Konfig-Datei zu finden: /home/bla/.spamassassin/user_prefs. Es gibt zwar kein Fehler dass diese nicht gefunden wird, aber könnte dies ein Sicherheitsproblem sein?

2) Was ist das richtige Vorgehen für Mails welche ins Internet rausgeschickt werden und vorher von meinem Server als Spam erkannt werden. Sollen diese direkt abgelehnt werden oder aber soll eine Meldung an den Absender? Hat dies jemand konfiguriert und könnte ein Konfig-Beispiel posten?

PS: Clamavis möchte ich nicht benutzen, da ich denke dass ich ohne diesen zusätzlichen Dienst auskommen sollte...

Vielen Dank für die Inputs!
 
A

aubergine

Guest
1. Du musst dafür eine Logik implementieren die authentifizierten User von anderen Mailclients zu unterscheiden. Am einfachsten ist das wenn die User Port 587 verwenden und für diesen der Check deaktiviert wird.

Beispiel:
Code:
smtp      inet  n       -       y       -       -       smtpd -o content_filter=spamassassin
spamassassin unix -     n       n       -       -       pipe user=vmail argv=/path/to/spamc -u ${recipient} -f -e  /path/to/sendmail -oi -f ${sender} ${recipient}
submission inet n       -       y       -       -       smtpd
        -o content_filter=
        -o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
        -o smtpd_tls_security_level=encrypt
dovecot   unix  -       n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/dovecot-lda -f ${sender} -d ${recipient}

2. Direkt beim Empfang mit einem Error 5xx ablehnen. Das hat zum Ergebnis dass du a) die Mail nicht noch einmal scannen musst und b) der Absender-Server einen entsprechende Fehlernachricht beim Absender einstellt. Bounce, Error oder Spam nach extern zustellen sollte in jedem Fall vermieden werden.

Das kannst du z.B. mit header_checks erreichen. Wenn von dir als Spam (mit >=x Punkten) erkannt dann REJECT


Sieh das bitte eher als Denkanstoß und nicht als Anleitung. Letztendlich muss das alles ineinander greifen und ich kenne deine Config nicht im Detail.
 

danton

Debian User
Falscher Ansatz, er möchte Mails an eMail-Adressen mit Weiterleitung statt Postfach auf Spam filtern. Hier ist aber das Filtern ausgehender Mails der falsche Zeitpunkt, da ist die Mail ja schon angenommen worden - sie muss dann zugestellt werden. Eine andere Methode ist es, Spammails gar nicht erst anzunehmen, sondern direkt abzuweisen. Eine Meldung an den Absender nach der Prüfung ist eine ganz schlechte Idee - bei gefälschten Absenderadressen gehen sie an den falschen und das ist auch ein guter Weg, um auf Blacklists zu landen.
Ich persönlich halte Mailweiterleitungen an Postfächer auf anderen Servern fast immer für eine schlechte Idee (außer man kontrolliert auch diese). Entweder man leitet zumindest einen Teil an Spam weiter oder lehnt auch einen Teil an Ham-Mails ab. Auch kann die Erreichbarkeit dank ggfl. vorhandenem SPF eingeschränkt sein - der weiterleitende Server steht ja normalerweise nicht in der Liste der Server, die berechtigt sind, für eine Domain Mails zu versenden. Daher gestatte ich auf meinem Server nur noch Weiterleitungen an andere Postfächer auf meinem Server.
 
Top