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

Re: debian bullseye, exim4 und TLS



Hi Lars,

On 18.12.21 12:19, Lars Schimmer wrote:
> Client ist default debian setup, kein Zertifikat, smarthost server 1 eingetragen.
> 
> Server ist public reachable, nur wenig Änderungen zur Standard Config, unter anderem Limits an Receipients, Size,...
> 
> Und für TLS wichtig: MAIN_TLS_ENABLE = true
> 
> Zertifikat habe ich ein wildcard von AlphaSSL und/oder ein mit dem debian exim cert gen (aus den Dokus) erstelltes probiert.
> 
> #Ports to listen on
>  daemon_smtp_ports = 25 : 465
>  tls_on_connect_ports = 465

Damit sollte der Exim-Client mMn. über Port 25 seine Mails am Smarthost abgeben, typischerweise mit opportunistic TLS, also
verschlüsselt wenn es passt (es sei denn Du erzwingst TLS per "tls_try_verify_hosts" (oder entsprechendem Macro).

Auf dem Server kanst Du die TLS-Verbindungseigenschaften mittels
"MAIN_LOG_SELECTOR = +smtp_protocol_error +smtp_syntax_error +tls_certificate_verified +tls_peerdn +tls_cipher +tls_sni" loggen,
das hilft vielleicht schon einmal, für etwas Überblick.

> Auf Port 25 kann der Client sich verbinden und sendet Mails ab.
> Auf Port 465 kommt ein connect, dann ein Timeout " An unexpected TLS packet was received." am Server.

Von welchem Client ist mir an dieser Stelle nicht klar? Thunderbird?

> ICh weiß, das dieses Setup vor Jahren (pre-Buster) mal problemlos war, auch mit Thunderbird. Aber seitdem ned mehr genutzt, jetzt muss wieder.
> 
> Ein
>  swaks -a -tls -q AUTH -s localhost:465 -au USER

Die Option "-tls" erzwingt STARTTLS, du solltest für Tests "-tlsc" oder in lang "--tls-on-connect" nutzen, so würde ich den Fehler auch erwarten.
Willst Du nur TLS testen geht auch openssl s_client --connect localhost:465 (oder mit korrektem Hostnamen, dass das Zertifikat auch validiert werden
kann.

> Wie kann ich das TLS on Connect auf Port 465 (oder 587, oder oder) zum funktionieren bekommen, wie kann ich mein Problem gut debuggen, lösen?
> 
> Oder: reicht STARTTLS auf Port 465/587 nach draussen offen aus ?
> Hötte schon gerne "tls on connect" aktiv auf den Ports, damit kein Plaintext funktioniert.

465 bzw 587 nutzen typischerweise TLS komplett (das heißt kein Upgrade der zunächst unverschlüsselten Verbindung auf TLS), das vermeidet Probleme mit
STARTTLS (siehe zB. https://www.feistyduck.com/bulletproof-tls-newsletter/issue_80_vulnerabilities_show_fragility_of_starttls).

> Oder wo ist mein Denkfehler?

Ich würde sagen, deine Konfigurationsausschnitte sind okay (vermutlich sollte es damit funktionieren), deine Tests (die du hier beschrieben hast)
passen nur nicht dazu. Für eine exaktere Analyse bräuchte man aber Logs und kompletten Testoutput.

hth,
Thomas


Reply to: