[postfix-users] Submission port

Patrick Ben Koetter p at state-of-mind.de
Do Mär 22 09:20:20 CET 2012


* Matthias Schmidt <beta at admilon.net>:
> Guten Abend Patrick,
> 
> Am 19.03.2012 um 17:08 schrieb Patrick Ben Koetter:
> 
> > Guten Morgen Matthias,
> > 
> > * Matthias Schmidt <beta at admilon.net>:
> >> ich hab noch einen ... bevor ich jetzt anfange zu graben, frag erstmal:
> >> Mail and submission port alternativ mit und ohne TLS, sollte ja gehen.
> >> Hab's aber nicht hinbekommen mit meinem Datenbank Modul.
> >> Mit SSL: Verbindung verweigert, das Ding kann wahrscheinlich kein TLS ...
> >> Ohne SSL Login Fehler (TLS und Verschlüsselung stand auf may .. be ;-) Ich
> >> hab's wieder rausgemacht, also bitte nicht auf die letzten configs gucken,
> >> die ich gepostet hab, da steht wieder muss muss drin.
> > 
> > sende bitte mal "postconf -n" auf die Liste und erzähl wie Du die Architektur
> > (Postfix, Welches SASL, Datenbank) haben willst. Dann sehe ich mir das an. :)
> 
> Danke :-)
> also ich programier grad an einer 4D smtp Komponente, die Komponente hängt von einem Plugin ab, dass von 4D kommt.
> Das geht soweit auch alles ganz gut (25 und SSL 465), bis auf das Senden auf 587.

Sieh mal in die master.cf hinein. Da steht für 'submission' sicherlich etwas
in der Art:

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       -       -       -       smtpd
submission inet n       -       -       -       -       smtpd
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
  -o milter_macro_daemon_name=ORIGINATING

Das bedeutet, dass der smtpd-Server auf 587 nicht nur TLS, sondern auch SMTP
AUTH erwartet. Ausserdem erwartet der Server, dass die Session zwingend in TLS
geführt wird.

Um da hineinzusehen, solltest Du das openssl s_client Kommando bemühen:

openssl s_client -CAfile /etc/certificates/mcgregor.admilon.net.476EFD153EAF1C131C9885854A44E5635D465588.chain.pem \
        -starttls smtp -connect mcgregor.admilon.net:587

Damit kannst Du die TLS Session bzw. ihre Fehler debuggen. Wenn da am Ende ein
"Verify return code" den Wert 0 zurückliefert, ist die Verbindung im Grunde
korrekt und Dein Problem ist nicht der Postfix smtpd-Server auf dem submission
Port.

Eine korrekte TLS-Session sieht so aus:

---
New, TLSv1/SSLv3, Cipher is DHE-RSA-AES256-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: zlib compression
Expansion: zlib compression
SSL-Session:
    Protocol  : TLSv1
    Cipher    : DHE-RSA-AES256-SHA
    Session-ID: 451BAEC3BFEB2B5B70C3215D4BE988DF0A42A1D992440AA8CF1E41B3B4B511AD
    Session-ID-ctx: 
    Master-Key: FE9703C1A20A8FBA03CB6438F17069A08F50BB6A1F2E922525052CE082AC5D862836FFB8EE407F45349F377BACC89307
    Key-Arg   : None
    TLS session ticket:
    0000 - c1 54 49 59 90 19 fa 98-2a 96 2c e3 26 cf 3f 1f   .TIY....*.,.&.?.
    0010 - d1 7c 0a b0 c0 49 ce 54-ea 12 df d6 aa 9d 33 a4   .|...I.T......3.
    0020 - 9a 42 95 ed c7 9f 72 c0-8d 6e fa 9c ef 4b 6d 3b   .B....r..n...Km;
    0030 - a3 c0 8e 81 25 d3 4e 79-02 87 1b c4 1d c4 3d 2c   ....%.Ny......=,
    0040 - 82 3b 2d 2a d9 a1 26 42-a2 14 d3 87 73 f6 3a 81   .;-*..&B....s.:.
    0050 - c9 6c 2b 7e 5a 1a bf 12-51 69 60 65 a8 6d 60 df   .l+~Z...Qi`e.m`.
    0060 - d1 5c 3f e1 19 15 1b e1-6e 7b 1d e2 6a 62 56 3d   .\?.....n{..jbV=
    0070 - 80 e6 f9 23 4a d1 78 46-f8 90 3c bd 01 ac 8a d0   ...#J.xF..<.....
    0080 - 96 85 67 ad ef 48 7f c4-5d 66 49 3b 0a ad 81 a2   ..g..H..]fI;....
    0090 - 81 db f1 16 e8 db 10 08-18 1d 10 b9 ef 0a 9a 19   ................

    Compression: 1 (zlib compression)
    Start Time: 1332404241
    Timeout   : 300 (sec)
    Verify return code: 0 (ok)


> In der Zwischenzeit weiss ich, dass es nicht mit TLS 1.1 geht, soll aber mit 1.0 funktionieren.
> Mit meiner derzeitigen Einstellung (s.u.) geht es derzeit nicht (TLS ist erforderlich auf 587) (Fehler 61 - Verbindung verweigert)
> Wenn ich die Einstellung enforce auf no stelle und kommt dann ein Loginfehler.
> Das ganze ist ein Apple System (10.6.8. Server) mit OpenDirectory.
> Die Komponente soll am Ende mit any-server funktionieren.
> Ich werd da heut nicht mehr weiter graben, aber morgen ;-)
> Grüsse aus Japan
> Matthias
> 
> hier mein postconf -n:

Ich kürze mal ab, weil die Ausgabe gefühlt jede Postfix Option listet. Hast Du
das alles eingebaut? War das schon so?

p at rick


-- 
state of mind ()
Digitale Kommunikation

http://www.state-of-mind.de

Franziskanerstraße 15      Telefon +49 89 3090 4664
81669 München              Telefax +49 89 3090 4666

Amtsgericht München        Partnerschaftsregister PR 563



Mehr Informationen über die Mailingliste postfix-users