class: center, middle ![img33r](postbote1.webp) # Mehr zu Mailservern ## SPF und DMARC ### Hauke Goos-Habermann #### https://goos-habermann.de --- ### Über mich - Entwickler des
Softwareverteilungssystems m23
- Organisator der
Kieler Open Source und Linux Tage
-
Dienstleister zu m23, Linux und Freier Software
- Softwareentwicklung (PHP, BASH, C/C++, JS, Python und was sonst so gebraucht wird...) - Administration - Schulungen - Support - Beratung - quasi **alles**, *was mit Linux zu tun hat* - Wöchentlicher Livestream *"Jean und Hauke Show"* auf https://www.youtube.com/c/LinuxGuides - Community-Video-Serie *"Nicht der Weisheit letzter Schluß"* auf
tube.tchncs.de
und
YouTube
mit **beruflichen** oder **privaten Projekten** - Kümmert sich auch um Mailserver :-) --- ### SPF ![img33r](postbote2.webp) Das
**S**ender **P**olicy **F**ramework
legt fest, welche IP(s) einer Domain Mails versenden darf/dürfen. Beim Domain-Anbieter fügen wir einen neuen **DNS-Eintrag hinzu**: * Typ: TXT * Präfix: * Inhalt: v=spf1 a ip4:[IP des Servers] -all Erklärung * ***v=spf1***: Protokollversion aktuell immer *spf1* * ***a***: Es muß einen passenden A- oder AAAA-Record (FQDN ⇒ IP) im DNS geben * ***ip4:***: IPv4-Adresse, die Mails versenden darf * ***ip6:***: IPv6-Adresse, die Mails versenden darf * ***-all***: Der Filter **gilt immer** --- ### DMARC
**D**omain-based **M**essage **A**uthentication, **R**eporting and **C**onformance
baut auf SPF und **
DKIM (Video)
** auf und legt fest, was der empfangende Mailserver mit Mails machen soll, die **nicht** den **SPF-** und **DKIM-Anforderungen entsprechen**. Beim Domain-Anbieter fügen wir einen neuen **DNS-Eintrag hinzu**: * Typ: TXT * Präfix: _dmarc * Inhalt: v=DMARC1;p=reject;pct=100;rua=mailto:[gültige eMail@xyz] Erklärung * ***v=DMARC1***: Protokollversion aktuell immer *DMARC1* * ***p=...***: Policy = Wie soll mit nicht konformen Mails umgegangen werden? (none, quarantine oder reject) * ***pct=...***: Prozentsatz von *abzuweisenden* unkonformen eMails (kann genutzt werden, um DMARC schrittweise einzuführen) * ***rua=...***: eMail-Adresse, an die ein **zusammenfassender** Bericht geschickt werden soll * ***ruf=...***: eMail-Adresse, an die der **komplette** Bericht geschickt werden soll --- ### PIX-Workaround Sollten Eure Mails von einem Mailserver mit der Fehlermeldung ***
: host mail.x.y[1.2.3.4] said: 530 \#5.7.0 Must issue a STARTTLS command first (in reply to MAIL FROM command)*** abgewiesen werden, so kann die Aktivierung des PIX-Workarounds helfen: ```bash postconf "smtp_pix_workarounds=delay_dotcrlf" postconf "smtp_use_tls = yes" postconf "smtp_enforce_tls = no" postconf "smtpd_tls_security_level = may" service postfix restart ``` Der PIX-Workaround wird wohl besonders dann gebraucht, wenn auf der anderen Seite ein **Exchange-Server** ist, welcher die **PIPELINING-Erweiterung** des SMTP-Protokolls falsch umsetzt. Via PIPELINING kann der Mailclient mehrere Befehle senden, ohne auf die Antwort des Mailservers zu warten, wodurch ein schnelleres Versenden möglich ist. Die anderen Parameter sorgen dafür, daß die **TLS-Verschlüsselung** zwar **sehr empfohlen**, aber **nicht zwingend** ist. --- ### Testen ![img33l](postbote3.webp) *"Was nicht getestet wurde, ist per Definition kaputt."* Zum Testen der DNS-Einträge können öffentliche Webseiten genutzt werden. Z.B.: * **DKIM** * https://mxtoolbox.com/dkim.aspx * https://dmarcadvisor.com/de/dkim-check/ * **DMARC** * https://mxtoolbox.com/dmarc.aspx * https://easydmarc.com/tools/dkim-lookup ***Hinweis:*** Die Links sind nur Beispiele für **öffentlich verfügbare Dienste** zum Testen und da die **DNS-Eintrage ebenfalls öffentlich** sind, sehe ich die Verwendung solcher Dienste nicht sonderlisch kritisch. --- class: center, middle ### Informationen zu mir und meinen Dienstleistungen, m23, ... ### https://goos-habermann.de