Inhaltsverzeichnis
Postfix CentOS 7 - MTA-STS einsetzen
MTA-STS (SMTP MTA Strict Transport Security) ist ein neuer Standard (also noch in Entwicklung), der es ermöglicht, „downgrade“„-resistente E-Mails über SMTP zu versenden. In diesem Sinne ist es wie eine Alternative zu DANE. Dies geschieht durch die Integration in das Browser-Zertifizierungsstellenmodell.
MTA-STS (SMTP MTA Strict Transport Security) ist ein Mechanismus, der Folgendes ermöglicht:
- Mail Service Provider (SPs), um ihre Empfangsfähigkeit zu erklären.
- Transport Layer Security (TLS) sichere SMTP-Verbindungen und die Angabe, ob das Senden von SMTP-Servern die Zustellung an MX-Hosts verweigern soll.
- die TLS nicht mit einem vertrauenswürdigen Serverzertifikat anbieten.
MTA-STS (SMTP MTA Strict Transport Security) ist ein Internet Standard (RFC 8461), der hilft den Versand von E-Mails über z.B. ungesicherte/fremde Leitungen (Internet) abzusichern. Eine Domäne kann und sollte eine Policy für den Einsatz von TLS auf den E-Mail-Servern veröffentlichen. Absender können anhand dieser Policy feststellen, wie diese sich verhalten sollen, wenn der geordnete Aufbau einer TLS Verbindung zu den entsprechenden E-Mail-Servern nicht zustande kommt.
Die Domäne veröffentlicht unter einem speziellen DNS-Record im DNS eine Adresse, unter der Absender die Policy per HTTPS herunterladen können. Bei der Einführung von MTA-STS (SMTP MTA Strict Transport Security) sind also zwei Komponenten erforderlich:
- Festlegen und Veröffentlichung der Policy auf einer Webseite
- Der Verweis auf diese Webseite im DNS.
Quellen:
Ab hier werden zur Ausführung nachfolgender Befehle root
-Rechte benötigt. Um der Benutzer root
zu werden, melden Sie sich bitte als root
-Benutzer am System an, oder wechseln mit nachfolgendem Befehl zum Benutzer root
:
$ su - Password:
Konfiguration: MTA-STS Web-Seite
Nachfolgend soll die Konfiguration eines Apache HTTP Servers durchgeführt werden, um die MTA-STS (SMTP MTA Strict Transport Security) Web-Seite mit der Policy zur Anzeige zu bringen.
Voraussetzungen
Als Voraussetzung für die Installation von MTA-STS (SMTP MTA Strict Transport Security) ist folgende Komponente erforderlich:
- Lauffähiger Web-Server z.B. Apache HTTP Server
- Siehe auch den internen Link: Apache HTTP Server CentOS 7
/var/www/mta-sts
Zuerst muss auf dem Server auf dem der Apache HTTP Server läuft ein neues Verzeichnis angelegt werden, was mit nachfolgendem Befehl durchgeführt werden kann:
# mkdir /var/www/mta-sts
/var/www/mta-sts/mta-sts.txt
Anschließend kann mit nachfolgendem Befehl die MTA-STS (SMTP MTA Strict Transport Security) Web-Seite / Policy direkt in dem neu erstellten Verzeichnis, in einer einfachen Datei, mit nachfolgendem Namen
/var/www/mta-sts/mta-sts.txt
erstellt werden:
version: STSv1 mode: enforce mx: mx1.tachtler.net mx: *.tachtler.net mx: mx1.nausch.org mx: *.nausch.org max_age: 10368000
Erklärungen
In Abschnitt 3.2 beschreibt der SMTP MTA Strict Transport Security (MTA-STS) - RFC 8461 in welcher Form die Policy veröffentlicht wird. Der Domäneninhaber beschreibt die Policy mit jeweils einfachen Key/Value Paaren in einer Textdatei. Die Schlüssel sind:
Policy-Schlüssel | Policy-Wert |
---|---|
version | In der aktuellen Fassung unterstützt MTA-STS nur Version 1, was durch die Zeichenfolge STSv1 ausgedrückt wird. |
mode | In diesem Feld wird die Richtlinie veröffentlicht. Möglich Werte sind „enforce“, „testing“ oder „none“. |
mx | Diese Felder können öfter vorkommen und beschreiben die E-Mail-Server, die für die Domäne E-Mails annehmen dürfen. (Auch ggf. Backup-E-Mail-Server angeben!) |
max_age | Mit diesem Feld wird angegeben, wie lange die Policy gilt. Absender können die Richtline cachen, so dass die MTA-STS Policy nicht bei jedem Zustellversuch angefragt werden muss. |
Die Adresse für die Veröffentlichung der Policy ist auch im RFC vorgegeben. Deshalb bekommt ein Absender unter MTA-STS die entsprechende Richtlinie:
Nachfolgender Befehl zeigt nun den Inhalt des Verzeichnisses /var/www/mta-sts
:
# ls -la /var/www/mta-sts total 8 drwxr-xr-x 2 root root 24 Mar 12 08:02 . drwxr-xr-x. 14 root root 4096 Mar 12 08:02 .. -rw-r--r-- 1 root root 121 Mar 12 08:02 mta-sts.txt
/etc/httpd/conf.d/vhost.conf
Es soll ein virtueller Host im Apache HTTP Server eingerichtet werden.
Siehe dazu auch nachfolgende interne Links:
Dazu kann der Inhalt einer möglichen Konfigurationsdatei
/etc/httpd/conf.d/mta-sts.conf
wie nachfolgend dargestellt entsprechend erstellt werden:
(Komplette Konfigurationsdatei)
# # mta-sts.tachtler.net (MTA-STS Query) # <VirtualHost *:443> ServerAdmin webmaster@tachtler.net ServerName mta-sts.tachtler.net ServerPath / DocumentRoot "/var/www/mta-sts" <Directory "/var/www/mta-sts"> Options -Indexes +FollowSymLinks # Tachtler (enable for .htaccess file support) # AllowOverride AuthConfig AllowOverride None # Tachtler (enable for unlimited access) Require all granted </Directory> Alias /.well-known/mta-sts.txt /var/www/mta-sts/mta-sts.txt DirectoryIndex mta-sts.txt ErrorLog logs/mta-sts_error.log SetEnvIf X-Forwarded-For "^.*\..*\..*\..*" forwarded CustomLog logs/mta-sts_access.log combined env=!forwarded CustomLog logs/mta-sts_access.log combined_proxypass env=forwarded </VirtualHost>
HINWEIS - Zu beachten sind hier, die Zeilen mit den Inhalten
Alias /.well-known/mta-sts.txt /var/www/mta-sts/mta-sts.txt
- Verweis auf die Text-Datei!DirectoryIndex mta-sts.txt
- da hier die erste Seite der Anwendung eine Text-Datei ist!
Nach Durchführung der vorhergehenden Konfigurationsschritte, sollte einem Neustart nichts im Wege stehen und die Apache VHOST-Konfiguration angezogen werden:
# systemctl restart httpd.service
HINWEIS - Es erfolgen keine weiteren Ausgaben, wenn der Start erfolgreich war !
Aufruf MTA-STS Web-Seite
Der direkte Aufruf der MTA-STS (SMTP MTA Strict Transport Security) Web-Seite / Policy kann durch eingabe von nachfolgender URL nun erreicht werden:
Erstellung DNS-Einträge
Nachfolgend sind nun drei neue DNS-Record-Einträge zu veröffentlichen:
- Typ:
A
, für den Abruf der MTA-STS (SMTP MTA Strict Transport Security) Web-Seite. - Typ:
TXT
, für den Einsatz von MTA-STS (SMTP MTA Strict Transport Security). - Typ:
TXT
, SMTP-TLSRPT, zu Bestimmung der SMPT-TLS-Benachrichtigungs E-Mail-Adresse.
DNS-Eintrag: Web-Seite
Nachfolgend der Aufbau des benötigten DNS-Eintrags für
- Typ:
A
, für den Abruf der MTA-STS (SMTP MTA Strict Transport Security) Web-Seite.
mta-sts.tachtler.net. IN A 88.217.171.167
DNS-Eintrag: MTA-STS
Nachfolgend der Aufbau des benötigten DNS-Eintrags für
- Typ:
TXT
, für den Einsatz von MTA-STS (SMTP MTA Strict Transport Security).
_mta-sts.tachtler.net. IN TXT "v=STSv1; id=20190312010001;"
DNS-Eintrag: SMTP-TLSRPT
Nachfolgend der Aufbau des benötigten DNS-Eintrags für
- Typ:
TXT
, SMTP-TLSRPT, zu Bestimmung der SMPT-TLS-Benachrichtigungs E-Mail-Adresse.
_smtp._tls.tachtler.net. IN TXT "v=TLSRPTv1; rua=mailto:mta-sts@tachtler.net"
Test Werkzeuge
Nachfolgende externe Links führen zu verschiedenen Test Werkzeugen: