Ganz schnell und schmerzlos: https://luxsci.com/smtp-tls-checker#results
Autor: kernel-error (Seite 10 von 48)
Haben wir uns schon über MTA STS / RFC 8461 unterhalten? Nicht? Dann dann wird es aber Zeit 🙂
MTA STS ist ein RFC von Ende 2018. So kann man eine Policy veröffentlichen um anderen Mailservern mitzuteilen, dass man seine E-Mails bitte nur per TLS (also mit Transportverschlüsselung) erhalten möchte und an welchen MX…
Eine ganz nette Idee nur…. Wenn man keine E-Mail ohne Transportverschlüsselung erhalten möchte, dann könnte man ja einfach keine E-Mails ohne Transportverschlüsselung annehmen?!?!? Natürlich sagt man anderen Mailservern zusätzlich noch an welchen sie bitte die Mails zustellen sollen, das es eine Transportverschlüsselung geben muss und alles nur mit einem gültigen Zertifikat ablaufen kann.
Fehlt da nicht noch etwas? Klar reporting… Dazu gibt es im Moment ein RFC: SMTP TLS Reportingdraft-ietf-uta-smtp-tlsrpt-23
Ein einfaches Onlinetool zum Testen gibt es ebenfalls: MTA-STS validator
Was muss man dafür nun tun? Ohne Frage muss der eigene Mailserver sauber TLS sprechen… Dann wirfst man einen TXT RR in die jeweilige DNS Zone:
$ dig IN TXT _mta-sts.kernel-error.de +short "v=STSv1;id=20190202111557Z;"
Die eigentliche Policy veröffentlich man nun per Webserver jeweils für die Zone unter: mta-sts.domain.tld https://mta-sts.kernel-error.de/.well-known/mta-sts.txt
Das Reporting lässt sich ebenfalls schnell per TXT RR in der DNS Zone einrichten:
$ dig IN TXT _smtp._tls.kernel-error.de +short "v=TLSRPTv1;rua=mailto:postmaster@kernel-error.de"
Beides ist sehr schnell und einfach eingerichtet. Postfix selbst berücksichtigt dieses leider noch nicht. Es gibt natürlich schon eine Implementierung, welche ich persönlich noch nicht ganz glücklich finde. Wer schon mal schauen will: https://github.com/Snawoot/postfix-mta-sts-resolver
Fragen? Dann einfach mal fragen 🙂
In den Niederlanden gibt es eine staatliche Initiative um das Internet Sicherer zu machen. Dazu gehören ebenfalls verschiedene Onlinetools zum Testen seiner Systeme.
Ganz gelungen finde ich dabei das Tool zum Testen seines Mailserver. Wenn ich da einfach mal eine Domain eintrage: https://en.internet.nl/mail/bechtle.de/201507/ Fällt mir auf, dass ich da mal fragen sollte warum SSLv3 mit RC4 hier anscheinend noch OK ist.
Viele Spaß beim Selbstscan! Bei Fragen natürlich wie immer einfach fragen 🙂
Als kleines Update… Die Jungs haben auf meine Frag/Hinweiß geantwortet:
Guten Tag, vielen Dank für Ihre Anfrage und das damit verbundene Vertrauen in unser Unternehmen. In der Bechtle Gruppe sind die Kundensegmente zwischen Bechtle direct GmbH und der ARP GmbH so aufgeteilt, das jeder Kunde gemäß seinen Bedürfnissen optimal betreut werden kann. Während sich die BechtleAC direct GmbH ausschließlich auf Großkunden und Konzerne konzentriert, bietet die ARP GmbH allen Kundensegmenten ein großes Sortiment von IT-Hard- und Software sowie individuellen IT-Lösungen an. Neben der persönlichen Betreuung verfügt die ARP GmbH über einen preisgekrönten Online-Shop, der auf die individuellen Bedürfnisse jedes Kunden anpassbar ist. Bitte wenden Sie sich mit Ihrem Anliegen direkt an die ARP GmbH.
Hm… Ob sie das RFC beachten und ich den Postmaster erreiche?
*trommelwirbel*
Mar 6 08:14:49 smtp postfix/smtp[97730]: 5193FB4292: to=<postmaster@bechtle.com>, relay=mx.bechtle.com[178.249.84.24]:25, delay=17, delays=0.41/0.02/15/1.2, dsn=2.0.0, status=sent (250 2.0.0 2qygs8tdp2-1 Message accepted for delivery)
Zumindest nicht sofort abgewiesen 🙂
Allgemein sagt man das IPv6 immer vor IPv4 geht. IPv6 Verbindungen sollten also immer gegenüber IPv4 Verbindungen bevorzugt werden. Ich war also etwas erstaunt als ein Windows System mit konfiguriertem IPv6 ULA Netzwerk dauerhaft seine alte IPv4 Verbindung bevorzugte…
Alle Linux Systeme verhalten sich dagegen wie gewünscht. Eine kurze Suche förderte erst RFC 3484 und dann der ersetzende RFC 6724 zutage. Hier wird eine Tabelle definiert in welcher die Verschiedenen IPv6 Prefixe sowie das umgerechnete IPv4 Prefix ::ffff:0:0/96 sowie deren Priorisierung gegenübergestellt werden. Spannend ist dabei das in RFC 3484 die prefix policy wie folgt war:
1. IPv6 loopback
2. Native IPv6, ULAs, site-local, 6one
3. 6to4
4. IPv4compat
5. IPv5
6. Teredo
Dieses hat sich aber mit RFC 6724 in 2012 geändert zu:
1. IPv6 loopback
2. Native IPv6
3. IPv4
4. 6to4
5. Teredo
6. ULAs
7. site-local
8. 6bone
9. IPv6Combat
Früher war also alles besser? Naja… Wie man sehen kann wird inzwischen IPv4 for IPv6 ULA priorisiert. Öhm… Ich habe da jetzt Leute im Kopf die fragen wie man IPv6 bei seinem System abschalten kann, weil es ja nur Probleme macht *kopfschüttel*.
Wie ändert man nun also die Priorisierung?
Auf einem Windows lässt sich diese Liste wie folgt bewundern:
netsh int ipv6 show prefixpolicies
Auf einem Linux steht alles in: /etc/gai.conf und man kann es bewundern mit:
ip -f inet6 addrlabel show
Bei einem FreeBSD bekommt man die Liste wie folgt:
# ip6addrctl Prefix Prec Label Use ::1/128 50 0 0 ::/0 40 1 5580865 ::ffff:0.0.0.0/96 35 4 0 2002::/16 30 2 0 2001::/32 5 5 0 fc00::/7 3 13 0 ::/96 1 3 300 fec0::/10 1 11 0 3ffe::/16 1 12 0
Apple… Bei Apple ist es etwas spezieller! Daher erstmal zur Frage: „Wie gebe ich ULA eine höhere Prio als IPv4, damit mein schön konfiguriertes IPv6 ULA Netzwerk auf benutzt wird?“.
Ganz einfach für Windows:
netsh interface ipv6 set prefixpolicy fc00::/7 37 13
Bei den anderen Systemen (bis auf Apple) klappt das sehr ähnlich. Das finden diese User auch ohne das es copy&paste fertig ist, hm?
Apple…. Die Jungs nutzen RFC 6555 (Happy Eyeballs). Puhhh Joar die Idee dahinter ist nicht schlecht. Grob gesehen ist es so: Bei den meisten anderen RFCs wird nach einem AAAA RR geschaut und im Zusammenspiel mit der Prefix Policy geschaut ob man eine IPv6 Verbindung aufbauen kann. Klappt dieses nicht gibt es einen Fallback auf IPv4. Dieses setzt also voraus, dass eine IPv6 Verbindung nicht zustande kommt. Es kann also mal passieren, dass es dauert! Happy Eyeballs (was eine Name für ein RFC?!?!?) baut die IPv4 und IPv6 Verbindung gleichzeitig auf wenn es einen AAAA RR gibt. Klappt dieses „gut“ bleibt es bei IPv6 sonst hat man ja direkt schon die IPv4 Verbindung offen. Damit werden Wartezeiten minimiert. Eine ULA Verbindung wird dabei leider nicht gegen IPv4 priorisiert 🙁
Fragen? Dann fragen!
Ein Kollege hat mir folgenden curl Tipp gegeben:
➜ ~ curl v2.wttr.in
Das Ergebnis ist tatsächlich der Wetterbericht für die GeoIP Daten der abfragenden IP Adresse in der Konsole!
➜ ~ curl v2.wttr.in ┌┤ weather report for: Hilden, Germany ├───────────────────────────────┐ │ │ │ │ │ Thu 27 Feb Fri 28 Feb Sat 29 Feb │ │ ╷ ╷ │ │ │ │ │ │+6 ⡠⠔⠊⠉⠉⠉⠢⡀ │ │ ⡠⠒⠉⠉⠑⠢⡀ ⡠⠊ ⠑⢄ │ │ ⢀⡊ ⠑⢆ ⢀⠊ ⠑⠢⢄⣀ │ │ ⢀⠎ ⠑⠤⡠⠔⠁ ⠑⠢⣀ │ │ ⢀⠎ ⠑⡀ │ │0 ⡠⠃ ⠉⠂│ │⡇ ⣀⠤⠒⠉⠉⠒⢄ ⢀⠒⠑⠄ ⢀⠔⠒⠒⠒⠊ │ │⠡⣀ ⣀⠔⠊ ⠉⠊⠁ ⢣ ⡔⠁ │ │ ⠉⠉ ⢇ ⡜ │ │-5 ⠈⢆⢀⠎ │ │ │ │─────┴─────┼─────┴─────╂─────┴─────┼─────┴─────╂─────┴─────┼─────┴─────╂│ │ 6 12 18 6 12 18 6 12 18 │ │ │ │ 5.53mm|85% │ │ ▂_ ▇█▁ │ │ ▁███▂ ▇███_ │ │ ▂█████▂ ▁█████▃▁▁ │ │ ▄███████▃ ██████████▅▁ _____ │ │ ________ _▂▇██████████▅▃▂▁▁__ ▂████████████████████████▅▃│ │ │ │ │ │❄️ ❄️ ❄️ ❄️ ☁️ ❄️ ? ? ? ? ❄️ ❄️ ☁️ ☁️ ☁️ ☁️ ? ? ? ? ? ? ? ? │ │ → → ↗ ↑ ↑ ↑ ↗ ↗ → → → → ↗ ↑ ↑ ↖ ↑ ↑ ↗ ↗ ↗ ↗ ↗ → │ │ 15 14 12 15 22 27 25 24 28 28 23 17 12 11 13 20 21 19 17 16 23 25 20 18│ │ │ │? ? ? ? │ │ ─━━━━━━━━━━━ ─━━━━━━━━━━━ ─━━━━━━━━━━━ │ │ │ │ │ └────────────────────────────────────────────────────────────────────────┘ Weather: ? Light Rain, Rain, +3°C, 93%, ←19 km/h, 994hPa Timezone: Europe/Berlin Now: 15:04:14+0100 | Dawn: 06:49:42 | Sunrise: 07:23:08 Zenith: 12:45:09 | Sunset: 18:07:10 | Dusk: 18:40:36
Lustig oder?
Ich bin absolut überrascht. Das gesammte Thema war für mich nach der letzten Kommunikation „erledigt“. In den nächsten Jahren hätte ich nicht mehr mit einer Veränderung gerechnet…
Da kam heute aus dem Nichts folgende E-Mail:
Hallo Herr van de Meer, manchmal geschehen noch kleine Wunder. Ich habe heute ein .par File für unsere IPv6 Herausforderung bekommen und erfolgreich bei meiner Maschine testen können. Es ist jetzt also auch mit Samsung Maschinen möglich, eine „saubere und korrekte IP Adresse“ zuzuweisen. Wenn noch Bedarf besteht, stelle ich ihnen gerne ein Link zum Download zur Verfügung. Beste Grüße nach Bonn
Ich habe natürlich diesen Patch angefragt, blitzartig bekommen und eingespielt.
macbook-s-meer:~ kernel$ ping6 -c3 fd00:118f:335:62::253 PING6(56=40+8+8 bytes) fd00:118f:335:42:c3:51f8:2949:1641 --> fd00:118f:335:62::253 16 bytes from fd00:118f:335:62::253, icmp_seq=0 hlim=63 time=0.884 ms 16 bytes from fd00:118f:335:62::253, icmp_seq=1 hlim=63 time=0.703 ms 16 bytes from fd00:118f:335:62::253, icmp_seq=2 hlim=63 time=0.718 ms --- fd00:118f:335:62::253 ping6 statistics --- 3 packets transmitted, 3 packets received, 0.0% packet loss round-trip min/avg/max/std-dev = 0.703/0.768/0.884/0.082 ms
Das geht jetzt einfach! Das geht wirklich 🙂 Ich kann dem Drucker eine feste IP Adresse meiner Wahl geben.
Das ist eine Kontaktliste mit E-Mail Adressen, an welche man unbedingt Angebote schicken muss. Wer fragen zur Kontaktliste hat, bitte einfach melden!
hundebauch.balem@kernel-error.org
wurstmann@tagesmutter-rheinbach.de
kleinmann@tagesmutter-rheinbach.de
hundebauch.balem@tagesmutter-rheinbach.de
buchhaltung@tagesmutter-rheinbach.de
management@tagesmutter-rheinbach.de
hundebauch.balem@linux-rheinbach.de
buchhaltung@linux-rheinbach.de
wurstmann@kindertagespflege-sprockhoevel.de
kleinmann@kindertagespflege-sprockhoevel.de
hundebauch.balem@kindertagespflege-sprockhoevel.de
info@kindertagespflege-sprockhoevel.de
buchhaltung@kindertagespflege-sprockhoevel.de
management@kindertagespflege-sprockhoevel.de
ceo@kindertagespflege-sprockhoevel.de

Etwas über ein Jahr betreibe ich nun bereits meinen eigenen Matrix Homeserver. Als Client dazu nutze ich Riot. Diesen Client gibt es für alle gängigen Geräte, egal ob Smartphone, Laptop oder Browser. Nun ist er in der Version 1.0 veröffentlicht worden.
Nachdem Frankreich nun die Idee verfolgt Matrix zu nutzen. Bin ich sehr gespannt welche Auswirkungen dieses auf Matrix und natürlich Riot haben wird. Wir setzten diese Konstellation schon länger als alternative zu anderen Messangern für Familie, Freunde und Bekannte ein. Der neue Client gefällt allen wirklich gut und er ist sogar noch etwas einfacher und angenehmer zu bedienen als sein Vorgänger. Schaut euch Matrix / Riot doch einfach mal an, ich bin erreichbar über: @kernel-error:kernel-error.com
Sowohl mein Postfix als auch der Dovecot sprechen nun sauber TLS 1.3.
Wenn Postfix sowie Dovecot sauber gegen OpenSSL 1.1.1 gebaut sind fehlen nur zwei Configänderungen.
Dovecot spricht es meist sofort wenn man hier die minimale TLS Version ind der 10-ssl.conf:
ssl_min_protocol = TLSv1.1
Beim Postfix setzt man einfach die zu nutzenden TLS Versionen in der main.cf:
smtpd_tls_protocols = TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3 smtp_tls_protocols = TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3 smtpd_tls_mandatory_protocols = TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3 smtp_tls_mandatory_protocols = TLSv1.3, TLSv1.2, !TLSv1.1, !TLSv1, !SSLv2, !SSLv3
Schon spricht Postfix TLS 1.3 mit anderen Server und beide Dienste sind in der Lage dieses mit Clients zu sprechen!
Test für smtp:
$ openssl s_client -starttls smtp -crlf -connect smtp.kernel-error.de:25 --- No client certificate CA names sent Peer signing digest: SHA256 Peer signature type: RSA-PSS Server Temp Key: X25519, 253 bits --- SSL handshake has read 3944 bytes and written 404 bytes Verification: OK --- New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384 Server public key is 4096 bit Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE No ALPN negotiated Early data was not sent Verify return code: 0 (ok) ---
Test für imap:
$ openssl s_client -connect imap.kernel-error.de:993 -crlf --- No client certificate CA names sent Peer signing digest: SHA256 Peer signature type: RSA-PSS Server Temp Key: X25519, 253 bits --- SSL handshake has read 3944 bytes and written 404 bytes Verification: OK --- New, TLSv1.3, Cipher is TLS_AES_256_GCM_SHA384 Server public key is 4096 bit Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE No ALPN negotiated Early data was not sent Verify return code: 0 (ok) ---
So sieht ein Logfile doch schon viel mehr nach 2019 aus, oder?
Feb 15 16:05:43 smtp postfix/smtp[7475]: Verified TLS connection established to mx1.freebsd.org[2610:1c1:1:606c::19:1]:25: TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256
Bei Fragen, einfach fragen 🙂
Wenn wir schon bei online Tools sind, dann habe ich hier noch zwei.
Einmal ein Tool zum Testen ob eine Domain sauber MTA-STS macht (dazu muss ich auch noch etwas schreiben):
https://aykevl.nl/apps/mta-sts/
Wer schon immer mal wissen wollte wie viel privacy denn in seinem E-Mailclient steckt kann folgendes probieren:
https://www.emailprivacytester.com/
VIel Spaß 🙂