[postfix-users] after queue Spammarkierung mittels spampd
Hallo liebe Postfixer,
ich habe Schwierigkeiten, spampd als after-queue-filter in postfix zu realisieren.
Folgende Fragen/Probleme ergaben sich im Laufe meiner Versuche:
1. Warum kommuniziert spampd bei mir nicht per lmtp, obwohl die Unterstützung dafür seit Version 2 vollständig integriert sein soll?: http://www.worlddesign.com/index.cfm/rd/mta/spampd.htm#usage
2. Was ist der Unterschied zwischen: content_filter=smtp:127.0.0.1:10025 und content_filter=abc:127.0.0.1:10025 master.cf: abc unix - - n - 10 smtp ??? In der Doku von content_filter steht immer nur, dass der erste Teil ein Service sein muss. Im ersten Fall ist aber in der master.cf kein smtp-Service definiert.?!
3. Ich bekomme im folgenden ein 5min Timeout, bevor scheinbar eine Verbindung ohne TLS versucht wird. Warum?
Hier meine relevanten Konfigurationen: postfix version 2.7.0
main.cf: smtp_tls_security_level = may smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_tls_auth_only = yes smtpd_tls_cert_file = /etc/ssl/certs/mail-cert.pem smtpd_tls_key_file = /etc/ssl/private/mail-cert.key smtpd_tls_mandatory_ciphers = medium smtpd_tls_mandatory_protocols = SSLv3, TLSv1 smtpd_tls_received_header = yes smtpd_tls_security_level = may smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache tls_random_source = dev:/dev/urandom
spampd: /usr/bin/perl -T /usr/sbin/spampd --L --tagall --port=10025 --host=127.0.0.1 --relayport=10026 --relayhost=127.0.0.1 --pid=/var/run/spampd.pid --children=3 --user=spampd --group=spampd --logsock=unix
zu 1.:
-o content_filter=lmtp:127.0.0.1:10025
/var/log/mail.log: Jun 17 12:41:14 mserver postfix/lmtp[26349]: 0BA654B947: to=mustermann@mserver.bbaw.de, relay=127.0.0.1[127.0.0.1]:10025, delay=0.06, delays=0.04/0.01/0.01/0, dsn=5.5.2, status=bounced (host 127.0.0.1[127.0.0.1] refused to talk to me: 502 5.5.2 Error: command not recognized)
zu 3.:
master.cf: smtp inet n - - - - smtpd -o smtpd_helo_restrictions=reject_non_fqdn_helo_hostname -o receive_override_options=no_address_mappings -o content_filter=spam:127.0.0.1:10025
spam unix - - n - 3 smtp -o smtp_send_xforward_command=yes -o disable_mime_output_conversion=yes -o smtp_generic_maps=
127.0.0.1:10026 inet n - n - 3 smtpd -o content_filter= -o local_recipient_maps= -o relay_recipient_maps= -o smtpd_helo_restrictions= -o smtpd_client_restrictions= -o smtpd_sender_restrictions= -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks,no_milters -o smtpd_recipient_restrictions=permit_mynetworks,reject -o mynetworks=127.0.0.0/8 -o smtpd_authorized_xforward_hosts=127.0.0.0/8
zugehöriges Log (man beachte die Zeitstempel): Jun 17 11:25:12 mserver postfix/smtpd[25995]: disconnect from server1.bbaw.de[194.95.188.x] Jun 17 11:25:12 mserver postfix/qmgr[24518]: E3E064B947: from=xxxxx@bbaw.de, size=1933, nrcpt=1 (queue active) Jun 17 11:25:12 mserver postfix/smtpd[25999]: connect from localhost[127.0.0.1] Jun 17 11:30:13 mserver postfix/smtpd[25999]: SSL_accept error from localhost[127.0.0.1]: -1 Jun 17 11:30:13 mserver postfix/smtpd[25999]: lost connection after STARTTLS from localhost[127.0.0.1] Jun 17 11:30:13 mserver postfix/smtpd[25999]: disconnect from localhost[127.0.0.1] Jun 17 11:30:13 mserver postfix/smtp[25998]: SSL_connect error to 127.0.0.1[127.0.0.1]:10025: -1 Jun 17 11:30:13 mserver postfix/smtp[25998]: E3E064B947: Cannot start TLS: handshake failure Jun 17 11:30:13 mserver postfix/smtpd[25999]: connect from localhost[127.0.0.1] Jun 17 11:30:13 mserver postfix/smtpd[25999]: 194234B94C: client=server1.bbaw.de[194.95.188.x] Jun 17 11:30:13 mserver spampd[24240]: processing message 20110617112350.e25e06d4.xxxxx@bbaw.de for mustermann@mserver.bbaw.de ORCPT=rfc822;mustermann@mserver.bbaw.de
Selbst ein »-o smtp_tls_security_level=none« für master.cf:spam hilft nicht.
Was mache ich falsch?
Danke und viele Grüße Lars
* Lars Täuber taeuber@bbaw.de:
Hallo liebe Postfixer,
ich habe Schwierigkeiten, spampd als after-queue-filter in postfix zu realisieren.
Folgende Fragen/Probleme ergaben sich im Laufe meiner Versuche:
- Warum kommuniziert spampd bei mir nicht per lmtp, obwohl die
Unterstützung dafür seit Version 2 vollständig integriert sein soll?: http://www.worlddesign.com/index.cfm/rd/mta/spampd.htm#usage
Weil du evtl. nicht lmtp: als Transport in Postfix benutzt. Aber in der Version würde ich das eher als smtpd_proxy_filter nutzen, wobei sich dabei LMTP verbietet.
Aber mal ehrlich: den 5 Jahre alten Schrott würde ich nicht nutzen wollen....
2.30 (31-Oct-05)
- Was ist der Unterschied zwischen:
content_filter=smtp:127.0.0.1:10025 und content_filter=abc:127.0.0.1:10025 master.cf: abc unix - - n - 10 smtp ???
Details, Details. Bei "smtp:127.0.0.1:10025" wird der normale smtp Service genommen. ALLES was smtp nutzt (mail nach extern) und die Mail an den content_filter "teilen" sich dann den Transport.
Daher ist die 2. Variante mit abc evtl. besser vom Scheduling. Aber Du willst ja eh LMTP nutzen?
content_filter=lmtp:[127.0.0.1]:10025
In der Doku von content_filter steht immer nur, dass der erste Teil ein Service sein muss. Im ersten Fall ist aber in der master.cf kein smtp-Service definiert.?!
Der ist immer standardmaessig definiert: smtp unix - - - - - smtp
main.cf: smtp_tls_security_level = may smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache smtpd_tls_auth_only = yes smtpd_tls_cert_file = /etc/ssl/certs/mail-cert.pem smtpd_tls_key_file = /etc/ssl/private/mail-cert.key smtpd_tls_mandatory_ciphers = medium smtpd_tls_mandatory_protocols = SSLv3, TLSv1 smtpd_tls_received_header = yes smtpd_tls_security_level = may smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache tls_random_source = dev:/dev/urandom
postconf -n ist besser.
zu 1.:
-o content_filter=lmtp:127.0.0.1:10025
OK
/var/log/mail.log: Jun 17 12:41:14 mserver postfix/lmtp[26349]: 0BA654B947: to=mustermann@mserver.bbaw.de, relay=127.0.0.1[127.0.0.1]:10025, delay=0.06, delays=0.04/0.01/0.01/0, dsn=5.5.2, status=bounced (host 127.0.0.1[127.0.0.1] refused to talk to me: 502 5.5.2 Error: command not recognized)
Würde denken daß der Empfängerprozess kein LMTP spricht...
Hallo Ralf,
danke für die schnelle Antwort.
Am Fri, 17 Jun 2011 15:02:13 +0200 Ralf Hildebrandt Ralf.Hildebrandt@charite.de schrieb:
- Lars Täuber taeuber@bbaw.de:
Hallo liebe Postfixer,
ich habe Schwierigkeiten, spampd als after-queue-filter in postfix zu realisieren.
Folgende Fragen/Probleme ergaben sich im Laufe meiner Versuche:
- Warum kommuniziert spampd bei mir nicht per lmtp, obwohl die
Unterstützung dafür seit Version 2 vollständig integriert sein soll?: http://www.worlddesign.com/index.cfm/rd/mta/spampd.htm#usage
Weil du evtl. nicht lmtp: als Transport in Postfix benutzt. Aber in der Version würde ich das eher als smtpd_proxy_filter nutzen,
Ich möchte lieber content_filter nutzen, das der Mailserver nicht der äußere ist. Er soll die Mails schnell annehmen und die Spamwahrscheinlichkeit markieren. Deshalb wollte ich after-queue filtern. Außerdem wollte ich amavisd-new nicht einsetzen.
Aber mal ehrlich: den 5 Jahre alten Schrott würde ich nicht nutzen wollen....
Gibt es Alternativen außer spamc? [SL]MTP-basiert gefiele mir besser.
- Was ist der Unterschied zwischen:
content_filter=smtp:127.0.0.1:10025 und content_filter=abc:127.0.0.1:10025 master.cf: abc unix - - n - 10 smtp ???
Details, Details. Bei "smtp:127.0.0.1:10025" wird der normale smtp Service genommen. ALLES was smtp nutzt (mail nach extern) und die Mail an den content_filter "teilen" sich dann den Transport.
Daher ist die 2. Variante mit abc evtl. besser vom Scheduling.
Ok, danke für die Erklärung.
Aber Du willst ja eh LMTP nutzen?
Nicht zwingend. Gerne auch STMP ohne TLS.
In der Doku von content_filter steht immer nur, dass der erste Teil ein Service sein muss. Im ersten Fall ist aber in der master.cf kein smtp-Service definiert.?!
Der ist immer standardmaessig definiert: smtp unix - - - - - smtp
Oh ja, ich hab' ihn gefunden.
/var/log/mail.log: Jun 17 12:41:14 mserver postfix/lmtp[26349]: 0BA654B947: to=mustermann@mserver.bbaw.de, relay=127.0.0.1[127.0.0.1]:10025, delay=0.06, delays=0.04/0.01/0.01/0, dsn=5.5.2, status=bounced (host 127.0.0.1[127.0.0.1] refused to talk to me: 502 5.5.2 Error: command not recognized)
Würde denken daß der Empfängerprozess kein LMTP spricht...
Hatte ich auch so interpretiert. Schade. Scheinbar ist die SMTP Implementation auch nicht TLS-save.
Gibt's andere, einfache Möglichkeiten als spamc oder amavisd-new?
Grüße Lars
* Lars Täuber taeuber@bbaw.de:
Weil du evtl. nicht lmtp: als Transport in Postfix benutzt. Aber in der Version würde ich das eher als smtpd_proxy_filter nutzen,
Ich möchte lieber content_filter nutzen, das der Mailserver nicht der äußere ist. Er soll die Mails schnell annehmen und die Spamwahrscheinlichkeit markieren. Deshalb wollte ich after-queue filtern.
Naja, gerade wiel er nicht der äußere ist, kannst Du smtpd_proxy_filter gefahrlos nutzen...
Außerdem wollte ich amavisd-new nicht einsetzen.
Aber mal ehrlich: den 5 Jahre alten Schrott würde ich nicht nutzen wollen....
Gibt es Alternativen außer spamc? [SL]MTP-basiert gefiele mir besser.
Ja, amavisd-new :)
Hatte ich auch so interpretiert. Schade. Scheinbar ist die SMTP Implementation auch nicht TLS-save.
Gibt's andere, einfache Möglichkeiten als spamc oder amavisd-new?
Du kannst content_filter mit pipe: und spamc/spamd bauen oder halt amavisd-new als was du willst (content_filter, smtpd_proxy_filter, milter) aber sonst gibts nichts was wirklich verbreitet und dementsprechend zuverlässig wäre. Vielleicht noch einen milter.
Teste doch erstmal wie sich der spampd überhaupt auf port 10025 meldet!
Hallo Ralf,
Am Fri, 17 Jun 2011 15:32:11 +0200 Ralf Hildebrandt Ralf.Hildebrandt@charite.de schrieb:
- Lars Täuber taeuber@bbaw.de:
Teste doch erstmal wie sich der spampd überhaupt auf port 10025 meldet!
er meldet genau das, was er bei gleichem Kommando von smptd:10026 zurückbekommt. Das scheint zu bedeuten, er ist nur so eine art echo für alle Befehle und wartet nur auf DATA , um dessen Inhalt an spamassassin weiterzugeben.
Wenn ich LHLO localhost eingebe, bekomme ich die gleiche Meldung, als wenn ich das für localhost:10026 tue: # telnet localhost 10025 Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mailhub2.bbaw.de ESMTP Postfix (Ubuntu) LHLO localhost 502 5.5.2 Error: command not recognized
Kann smptd kein lmtp?
Ansonsten: # telnet localhost 10025 Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mailhub2.bbaw.de ESMTP Postfix (Ubuntu) EHLO localhost 250-mailhub2.bbaw.de 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-XFORWARD NAME ADDR PROTO HELO SOURCE PORT 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN STARTTLS 220 2.0.0 Ready to start TLS
TLS müsste also auch funktionieren, oder? Da kenne ich mich in den Details nicht so aus.
Für's erste habe ich einen Workaround gefunden: spam unix - - n - 3 smtp -o smtp_discard_ehlo_keywords=starttls
allerdings verstehe ich nicht, warum dann -o smtpd_tls_security_level=none nicht funktioniert.
Grüße Lars
Am Fri, 17 Jun 2011 16:16:18 +0200 Lars Täuber taeuber@bbaw.de schrieb:
Für's erste habe ich einen Workaround gefunden: spam unix - - n - 3 smtp -o smtp_discard_ehlo_keywords=starttls
allerdings verstehe ich nicht, warum dann -o smtpd_tls_security_level=none nicht funktioniert.
Ich meinte latürnich: -o smtp_tls_security_level=none
Grüße Lars
* Lars Täuber taeuber@bbaw.de:
Hallo Ralf,
Am Fri, 17 Jun 2011 15:32:11 +0200 Ralf Hildebrandt Ralf.Hildebrandt@charite.de schrieb:
- Lars Täuber taeuber@bbaw.de:
Teste doch erstmal wie sich der spampd überhaupt auf port 10025 meldet!
er meldet genau das, was er bei gleichem Kommando von smptd:10026 zurückbekommt.
OK, d.h. ja daß er nur das transparent sprechen kann, wass Postfix kann, also geht nur SMTP!
Das scheint zu bedeuten, er ist nur so eine art echo für alle Befehle und wartet nur auf DATA , um dessen Inhalt an spamassassin weiterzugeben.
Ja genau
Wenn ich LHLO localhost eingebe, bekomme ich die gleiche Meldung, als wenn ich das für localhost:10026 tue: # telnet localhost 10025 Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mailhub2.bbaw.de ESMTP Postfix (Ubuntu) LHLO localhost 502 5.5.2 Error: command not recognized
Kann smptd kein lmtp?
nein.
# telnet localhost 10025 Trying ::1... Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. 220 mailhub2.bbaw.de ESMTP Postfix (Ubuntu) EHLO localhost 250-mailhub2.bbaw.de 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-XFORWARD NAME ADDR PROTO HELO SOURCE PORT 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN STARTTLS 220 2.0.0 Ready to start TLS
Evtl. musst du deinen hintenliegenden smtpd auf 10026 so ändern daß er kein TLS spricht.
TLS müsste also auch funktionieren, oder? Da kenne ich mich in den Details nicht so aus.
Für's erste habe ich einen Workaround gefunden: spam unix - - n - 3 smtp -o smtp_discard_ehlo_keywords=starttls
Jo, auch gut
allerdings verstehe ich nicht, warum dann -o smtpd_tls_security_level=none nicht funktioniert.
Bei dem auf 10026?
* Ralf Hildebrandt Ralf.Hildebrandt@charite.de:
220 2.0.0 Ready to start TLS
Evtl. musst du deinen hintenliegenden smtpd auf 10026 so ändern daß er kein TLS spricht.
kein TLS anbietet, sorry
Hallo Ralf,
Am Fri, 17 Jun 2011 16:29:52 +0200 Ralf Hildebrandt Ralf.Hildebrandt@charite.de schrieb:
- Ralf Hildebrandt Ralf.Hildebrandt@charite.de:
220 2.0.0 Ready to start TLS
Evtl. musst du deinen hintenliegenden smtpd auf 10026 so ändern daß er kein TLS spricht.
kein TLS anbietet, sorry
das ist natürlich die elegantere Methode. Danke.
Danke auch für die großartige Doku hier: http://www.arschkrebs.de/ !
Grüße Lars
Am Fri, 17 Jun 2011 16:24:59 +0200 Ralf Hildebrandt Ralf.Hildebrandt@charite.de schrieb:
-o smtpd_tls_security_level=none nicht funktioniert.
Bei dem auf 10026?
Nein, ich meinte: master.cf: spam unix - - n - 3 smtp -o smtp_tls_security_level=none
Schönes WoE Lars
participants (2)
-
Lars Täuber
-
Ralf Hildebrandt