So konfigurieren Sie MTA-STS- und TLS-Berichte für Ihre Domain mit Apache unter Ubuntu 18.04

Der Autor hatElectronic Frontier Foundation Inc ausgewählt, um eine Spende im Rahmen desWrite for DOnations-Programms zu erhalten.

Einführung

Mail Transport Agent Strict Transport Security (MTA-STS) ist ein neuer Internetstandard, mit dem Sie striktes Force-TLS für E-Mails aktivieren können, die zwischen unterstützten E-Mail-Anbietern gesendet werden. Es ähneltHTTP Strict Transport Security (HSTS), bei dem eine Force-TLS-Richtlinie festgelegt und dann für einen bestimmten Zeitraum zwischengespeichert wird, wodurch das Risiko von Man-in-the-Middle- oder Downgrade-Angriffen verringert wird.

MTA-STS wird durch das SMTP-TLS-Reporting (TLSRPT) ergänzt, das Aufschluss darüber gibt, welche E-Mails erfolgreich über TLS zugestellt werden und welche nicht. TLSRPT ähneltDMARC reporting, jedoch für TLS.

Der Hauptgrund für die Implementierung von MTA-STS für Ihre Domain besteht darin, sicherzustellen, dass vertrauliche E-Mails, die an Sie gesendet werden, sicher über TLS übertragen werden. Andere Methoden zur Ermutigung von TLS für die E-Mail-Kommunikation, wie beispielsweise STARTTLS, sind weiterhin anfällig für Man-in-the-Middle-Angriffe, da die ursprüngliche Verbindung unverschlüsselt ist. MTA-STS stellt sicher, dass nach dem Herstellen mindestens einer sicheren Verbindung standardmäßig TLS verwendet wird, wodurch das Risiko dieser Angriffe erheblich verringert wird.

Ein Beispiel für die Verwendung von MTA-STS- und TLS-Berichten ist die Erstellung eines sicheren E-Mail-Systems für den Kundenservice für Ihr Unternehmen. Kunden können Support-Tickets per E-Mail senden, die vertrauliche persönliche Informationen enthalten, für die eine sichere TLS-Verbindung erforderlich ist. MTA-STS hilft, die Sicherheit der Verbindung zu gewährleisten, und TLSRPT liefert tägliche Berichte, in denen alle E-Mails identifiziert werden, die nicht sicher gesendet wurden. So erhalten Sie einen entscheidenden Einblick in laufende oder frühere Angriffe auf Ihr E-Mail-System.

In diesem Lernprogramm erfahren Sie, wie Sie MTA-STS und TLSRPT für Ihren Domänennamen konfigurieren und anschließend Ihren ersten TLS-Bericht interpretieren. Während dieses Tutorial die Schritte für die Verwendung von Apache unter Ubuntu 18.04 mit einem Let's Encrypt-Zertifikat behandelt, funktioniert die MTA-STS / TLSRPT-Konfiguration auch für Alternativen wie Nginx unter Debian.

Voraussetzungen

Bevor Sie mit diesem Handbuch beginnen, benötigen Sie:

  • Ein Domainname, der bereits für den Empfang von E-Mails konfiguriert ist und entweder Ihren eigenen Mailserver oder einen gehosteten Mail-Dienst verwendet, z. B.G Suite oderOffice 365. In diesem Lernprogramm werden durchgehendyour-domain verwendet. Dies sollte jedoch durch Ihren eigenen Domainnamen ersetzt werden. Sie müssen im Rahmen des Lernprogramms eine Unterdomäne einrichten, damit Sie auf die DNS-Einstellungen für Ihre Domain zugreifen können.

  • Ein Ubuntu 18.04-Server, der gemäß denInitial Server Setup with Ubuntu 18.04 eingerichtet wurde, einschließlich eines Sudo-Nicht-Root-Benutzers.

  • Ein Apache-Webserver, der mit den folgendenHow to Install the Apache Web Server on Ubuntu 18.04 eingerichtet und konfiguriert wurde.

  • Ein konfigurierter Certbot-Client, um ein Let's Encrypt-Zertifikat zu erhalten, indem SieHow To Secure Apache with Let’s Encrypt on Ubuntu 18.04 folgen.

Sobald Sie diese bereit haben, melden Sie sich bei Ihrem Server als Nicht-Root-Benutzer an, um zu beginnen.

[.note] #Note: Nachdem Sie die Implementierungsschritte für MTA-STS und TLSRPT abgeschlossen haben, müssen Sie möglicherweise bis zu 24 Stunden warten, um Ihren ersten TLS-Bericht zu erhalten. Dies liegt daran, dass die meisten E-Mail-Anbieter einmal täglich Berichte senden. Sie können das Lernprogramm ab Schritt 5 fortsetzen, sobald Sie Ihren ersten Bericht erhalten haben.
#

[[Schritt-1 - Erstellen einer MTA-STS-Richtliniendatei]] == Schritt 1 - Erstellen einer MTA-STS-Richtliniendatei

MTA-STS wird mithilfe einer Nur-Text-Konfigurationsdatei aktiviert und konfiguriert, die Sie auf Ihrer Website hosten. Unterstützte Mailserver stellen dann automatisch eine Verbindung zu Ihrer Website her, um die Datei abzurufen, wodurch MTA-STS aktiviert wird. In diesem ersten Schritt werden Sie die verfügbaren Optionen für diese Datei verstehen und die für Ihre Datei am besten geeignete auswählen.

Öffnen Sie zunächst eine neue Textdatei in Ihrem Home-Verzeichnis, damit Sie Ihre gewünschte Konfiguration notieren können:

nano mta-sts.txt

Wir werden zuerst ein Beispiel durchgehen, und dann werden Sie Ihre eigene Konfigurationsdatei schreiben.

Es folgt ein Beispiel für eine MTA-STS-Konfigurationsdatei:

Beispiel einer MTA-STS-Konfigurationsdatei

version: STSv1
mode: enforce
mx: mail1.your-domain
mx: mail2.your-domain
max_age: 604800

Diese Beispielkonfigurationsdatei gibt an, dass alle E-Mails, die von unterstützten Anbietern anmail1.your-domain undmail2.your-domain gesendet werden, über eine gültige TLS-Verbindung zugestellt werden müssen. Wenn keine gültige TLS-Verbindung zu Ihrem Mailserver hergestellt werden kann (z. B. wenn das Zertifikat abgelaufen ist oder selbst signiert wurde), wird die E-Mail nicht zugestellt.

Dies macht es für einen Angreifer viel schwieriger, Ihre E-Mails in einer Situation wie einem Man-in-the-Middle-Angriff abzufangen und zu bearbeiten. Dies liegt daran, dass bei ordnungsgemäß aktiviertem MTA-STS die Übertragung von E-Mails nur über eine gültige TLS-Verbindung möglich ist, für die ein gültiges TLS-Zertifikat erforderlich ist. Es ist für einen Angreifer schwierig, ein solches Zertifikat zu erhalten, da dies normalerweise einen privilegierten Zugriff auf Ihren Domainnamen und / oder Ihre Website erfordert.

Wie im Beispiel weiter oben in diesem Schritt gezeigt, besteht die Konfigurationsdatei aus einer Reihe von Schlüssel / Wert-Paaren:

  • version:

    • Purpose: Geben Sie die Version der zu verwendenden MTA-STS-Spezifikation an.

    • Accepted Values: Derzeit istSTSv1 der einzige akzeptierte Wert.

    • Example:version: STSv1

  • mode:

    • Purpose: Geben Sie an, in welchem ​​Modus MTA-STS aktiviert werden soll.

    • Accepted Values:

      • enforce: Erzwingen Sie, dass alle eingehenden E-Mails von unterstützten Anbietern gültiges TLS verwenden.

      • testing: Nur-Bericht-Modus. E-Mail wird nicht blockiert, aber TLSRPT-Berichte werden weiterhin gesendet.

      • none: Deaktivieren Sie MTA-STS.

    • Example:mode: enforce

  • mx:

    • Purpose: Geben Sie an, welche Mailserver E-Mails für Ihre Domain verarbeiten dürfen. Dies sollte mit den in Ihrenmx-Datensätzen angegebenen Servern übereinstimmen.

    • Accepted Values: Vollqualifizierter Domänenname eines Mailservers oder eines Platzhalterhosts. Es müssen mehreremx:-Werte verwendet werden, um mehrere Mailserver anzugeben.

    • Example:mx: mail1.your-domain,mx: mail2.your-domain,mx: *.example.org

  • max_age:

    • Purpose: Geben Sie die maximale Lebensdauer der MTA-STS-Richtlinie in Sekunden an.

    • Accepted Values: Jede positive ganze Zahl bis 31557600.

    • Example:max_age: 604800 (1 Woche)

Sie können auch die offizielle Spezifikation für die Schlüssel / Wert-Paare inSection 3.2 of the MTA-STS RFC anzeigen.

[.warning] #Warning: Das Aktivieren von MTA-STS imenforce-Modus kann unerwartet dazu führen, dass einige E-Mails nicht an Sie gesendet werden. Stattdessen wird empfohlen, zunächstmode: testing und einen niedrigenmax_age:-Wert zu verwenden, um sicherzustellen, dass alles ordnungsgemäß funktioniert, bevor Sie MTA-STS vollständig einschalten.
#

Schreiben Sie die gewünschte MTA-STS-Richtliniendatei anhand der Beispieldatei weiter oben im Schritt sowie anhand der obigen Beispiele für Schlüssel- / Wertpaare und speichern Sie sie in der Datei, die Sie zu Beginn des Schritts erstellt haben.

Die folgende Beispieldatei ist ideal zum Testen von MTA-STS, da sie nicht dazu führt, dass E-Mails unerwartet blockiert werden. Sie hat einen Prozentsatz (t0) von nur 1 Tag. Wenn Sie sie deaktivieren, läuft die Konfiguration ab schnell. Beachten Sie, dass einige E-Mail-Anbieter TLSRPT-Berichte nur senden, wennmax_age größer als 1 Tag ist, weshalb 86401 Sekunden eine gute Wahl sind (1 Tag und 1 Sekunde).

Beispiel Test MTA-STS Konfigurationsdatei

version: STSv1
mode: testing
mx: mail1.your-domain
mx: mail2.your-domain
max_age: 86401

In diesem Schritt haben Sie die gewünschte MTA-STS-Konfigurationsdatei erstellt und in Ihrem Heimatgebiet gespeichert. Im nächsten Schritt konfigurieren Sie einen Apache-Webserver, um die Datei im richtigen Format bereitzustellen.

[[Schritt-2 - Konfigurieren von Apache, um Ihre mta-sts-Richtliniendatei zu bedienen]] == Schritt 2 - Konfigurieren von Apache für die Bereitstellung Ihrer MTA-STS-Richtliniendatei

In diesem Schritt konfigurieren Sie einen virtuellen Apache-Host für die Bereitstellung Ihrer MTA-STS-Konfigurationsdatei und fügen dann einen DNS-Eintrag hinzu, damit von einer Unterdomäne aus auf die Site zugegriffen werden kann.

Damit Ihre MTA-STS-Konfigurationsdatei automatisch von Mailservern erkannt wird, muss sie genau auf dem richtigen Pfad bereitgestellt werden:https://mta-sts.your-domain/.well-known/mta-sts.txt. Sie müssen die Subdomainmta-stsüber HTTPS und den Pfad/.well-known/mta-sts.txtverwenden, da sonst Ihre Konfiguration nicht funktioniert.

Dies kann erreicht werden, indem ein neuer virtueller Apache-Host für die Subdomainmta-stserstellt wird, der die MTA-STS-Richtliniendatei bereitstellt. Dieser Schritt baut auf der Basiskonfiguration auf, die Sie im vorausgesetzten SchrittHow to Install the Apache Web Server on Ubuntu 18.04 eingerichtet haben.

Erstellen Sie zunächst ein Verzeichnis für Ihren virtuellen Host:

sudo mkdir /var/www/mta-sts

Wenn Sie mehrere verschiedene Domänen auf Ihrem Webserver hosten, wird empfohlen, für jede Domäne einen anderen virtuellen MTA-STS-Host zu verwenden, z. B./var/www/mta-sts-site1 und/var/www/mta-sts-site2.

Als Nächstes müssen Sie das Verzeichnis.well-knownerstellen, in dem Ihre MTA-STS-Konfigurationsdatei gespeichert wird. .well-known ist ein standardisiertes Verzeichnis für bekannte Dateien, z. B. TLS-Zertifikatvalidierungsdateien,security.txt und mehr.

sudo mkdir /var/www/mta-sts/.well-known

Jetzt können Sie die in Schritt 1 erstellte MTA-STS-Richtliniendatei in das soeben erstellte Webserververzeichnis verschieben:

sudo mv ~/mta-sts.txt /var/www/mta-sts/.well-known/mta-sts.txt

Sie können überprüfen, ob die Datei korrekt kopiert wurde, wenn Sie dies wünschen:

cat /var/www/mta-sts/.well-known/mta-sts.txt

Dadurch wird der Inhalt der Datei ausgegeben, die Sie in Schritt 1 erstellt haben.

Damit Apache die Datei bereitstellen kann, müssen Sie den neuen virtuellen Host konfigurieren und aktivieren. MTA-STS funktioniert nur über HTTPS, sodass Sie ausschließlich Port443 (HTTPS) verwenden, anstatt auch Port80 (HTTP).

Erstellen Sie zunächst eine neue Konfigurationsdatei für den virtuellen Host:

sudo nano /etc/apache2/sites-available/mta-sts.conf

Wenn Sie wie beim virtuellen Host-Verzeichnis mehrere verschiedene Domänen auf demselben Webserver hosten, wird empfohlen, für jeden einen anderen Namen für den virtuellen Host zu verwenden.

Kopieren Sie dann die folgende Beispielkonfiguration in die Datei und füllen Sie die Variablen nach Bedarf auf:

~/etc/apache2/sites-available/mta-sts.conf



    ServerName mta-sts.your-domain
    DocumentRoot /var/www/mta-sts

    ErrorDocument 403 "403 Forbidden - This site is used to specify the MTA-STS policy for this domain, please see '/.well-known/mta-sts.txt'. If you were not expecting to see this, please use https://your-domain instead."

    RewriteEngine On
    RewriteOptions IgnoreInherit
    RewriteRule !^/.well-known/mta-sts.txt - [L,R=403]

    SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
    SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
    Include /etc/letsencrypt/options-ssl-apache.conf

Diese Konfiguration erstellt den virtuellen Host vonmta-sts, der beimta-sts.your-domain bereitgestellt wird. Außerdem werden alle Anforderungen, mit Ausnahme derjenigen, an diemta-sts.txt-Datei selbst weitergeleitet, an eine benutzerdefinierte403 Forbidden-Fehlerseite mit einer benutzerfreundlichen Erläuterung, wofür die Subdomain-Site bestimmt ist. Dies soll sicherstellen, dass Besucher, die versehentlich auf Ihre MTA-STS-Website stoßen, nicht versehentlich verwirrt werden.

Derzeit wird ein selbstsigniertes TLS-Zertifikat verwendet. Dies ist nicht ideal, da ein vollständig gültiges / vertrauenswürdiges Zertifikat erforderlich ist, damit MTA-STS ordnungsgemäß funktioniert. In Schritt 3 erwerben Sie ein TLS-Zertifikat mit Let's Encrypt.

Stellen Sie als Nächstes sicher, dass die erforderlichen Apache-Module aktiviert sind:

sudo a2enmod rewrite ssl

Aktivieren Sie danach den neuen virtuellen Host:

sudo a2ensite mta-sts

Führen Sie dann eine Syntaxprüfung der Apache-Konfigurationsdateien durch, um sicherzustellen, dass keine unerwarteten Fehler vorliegen:

sudo apachectl configtest

Wenn der Test fehlerfrei verläuft, können Sie Apache neu starten, um den neuen virtuellen Host vollständig zu aktivieren:

sudo service apache2 restart

Nachdem der virtuelle Apache-Host eingerichtet und konfiguriert wurde, müssen Sie die erforderlichen DNS-Einträge erstellen, damit mit dem vollqualifizierten Domänennamenmta-sts.your-domainauf ihn zugegriffen werden kann.

Die Vorgehensweise hängt vom verwendeten DNS-Hosting-Anbieter ab. Wenn Sie jedoch DigitalOcean als DNS-Anbieter verwenden, navigieren Sie einfach zu Ihrem Projekt und klicken Sie anschließend auf Ihre Domain.

Fügen Sie abschließend die erforderlichen DNS-Einträge für die Subdomainmta-stshinzu. Wenn Ihr Droplet nur IPv4 verwendet, erstellen Sie einenA-Datensatz fürmta-sts, der aufyour-server-ipv4-address zeigt. Wenn Sie auch IPv6 verwenden, erstellen Sie einenAAAA-Datensatz, der aufyour-server-ipv6-address verweist.

A screenshot of the DigitalOcean DNS control panel

In diesem Schritt haben Sie einen neuen virtuellen Apache-Host für Ihre MTA-STS-Unterdomäne erstellt und konfiguriert und anschließend die erforderlichen DNS-Einträge hinzugefügt, um den einfachen Zugriff darauf zu ermöglichen. Im nächsten Schritt erwerben Sie ein vertrauenswürdiges Let’s Encrypt-Zertifikat für Ihre MTA-STS-Unterdomäne.

[[Schritt 3 - Erwerb eines 39-s-Verschlüsselungszertifikats für Ihre mta-sts-Subdomain]] == Schritt 3 - Erwerb eines Verschlüsselungszertifikats für Ihre MTA-STS-Subdomäne

In diesem Schritt erwerben Sie ein TLS-Zertifikat von Let's Encrypt, damit Ihremta-sts.your-domain-Site korrekt über HTTPS bereitgestellt werden kann.

Dazu verwenden Siecertbot, die Sie als Teil des vorausgesetzten SchrittsHow To Secure Apache with Let’s Encrypt on Ubuntu 18.04 eingerichtet haben.

Führen Sie zunächstcertbot aus, um mithilfe der Apache-Plugin-Überprüfungsmethode ein Zertifikat für die Subdomainmta-stsauszustellen:

sudo certbot --apache -d mta-sts.your-domain

Dadurch wird automatisch ein vertrauenswürdiges Zertifikat ausgestellt und auf Ihrem Apache-Webserver installiert. Wenn der Certbot-Assistent nach der Konfiguration einer HTTP → HTTPS-Umleitung fragt, wählen Sie "Nein", da dies für MTA-STS nicht erforderlich ist.

Testen Sie abschließend Ihren neuen virtuellen Host, um sicherzustellen, dass er ordnungsgemäß funktioniert. Verwenden Sie einen Webbrowser, umhttps://mta-sts.your-domain/.well-known/mta-sts.txt aufzurufen, oder verwenden Sie ein Befehlszeilentool wiecurl:

curl https://mta-sts.your-domain/.well-known/mta-sts.txt

Dadurch wird die MTA-STS-Richtliniendatei ausgegeben, die Sie in Schritt 1 erstellt haben:

Outputversion: STSv1
mode: testing
mx: mail1.your-domain
mx: mail2.your-domain
max_age: 86401

Wenn ein Fehler auftritt, stellen Sie sicher, dass die Konfiguration des virtuellen Hosts aus Schritt 2 korrekt ist und dass Sie einen DNS-Eintrag für die Subdomainmta-stshinzugefügt haben.

In diesem Schritt haben Sie ein Let's Encrypt TLS-Zertifikat für die Subdomainmta-stsausgestellt und getestet, ob es funktioniert. Als Nächstes legen Sie einige DNS-TXT-Einträge fest, um MTA-STS und TLSRPT vollständig zu aktivieren.

[[Schritt 4 - Konfigurieren der DNS-Einträge, die zum Aktivieren von mta-sts und tlsrpt erforderlich sind]] == Schritt 4 - Konfigurieren der DNS-Einträge, die zum Aktivieren von MTA-STS und TLSRPT erforderlich sind

In diesem Schritt konfigurieren Sie zwei DNS-TXT-Einträge, mit denen die bereits erstellte MTA-STS-Richtlinie vollständig aktiviert und TLS-Berichterstattung (TLSRPT) aktiviert wird.

Diese DNS-Einträge können mit einem beliebigen DNS-Hosting-Anbieter konfiguriert werden. In diesem Beispiel wird jedoch DigitalOcean als Anbieter verwendet.

Melden Sie sich zunächst bei Ihrem DigitalOcean-Kontrollfeld an und navigieren Sie zu Ihrem Projekt. Klicken Sie anschließend auf Ihre Domain.

Anschließend müssen Sie die folgenden zwei TXT-Datensätze hinzufügen:

_mta-sts.your-domain IN TXT "v=STSv1; id=id-value"
_smtp._tls.your-domain IN TXT "v=TLSRPTv1; rua=reporting-address"

id-value ist eine Zeichenfolge, mit der die Version Ihrer vorhandenen MTA-STS-Richtlinie identifiziert wird. Wenn Sie Ihre Richtlinie aktualisieren, müssen Sie auch den Wert vonidaktualisieren, um sicherzustellen, dass die neue Version von den E-Mail-Anbietern erkannt wird. Es wird empfohlen, den aktuellen Datumsstempel alsid zu verwenden, z. B.20190811231231 (23:12:31 am 11. August 2019).

reporting-address ist die Adresse, an die Ihre TLS-Berichte gesendet werden. Dies kann entweder eine E-Mail-Adresse sein, dermailto: vorangestellt ist, oder eine Web-URI, beispielsweise für eine API, die Berichte sammelt. Die Berichtsadresse muss keine Adresse inyour-domain sein. Sie können eine völlig andere Domain verwenden, wenn Sie dies wünschen.

Beispielsweise sind die folgenden zwei Beispieldatensätze beide gültig:

_mta-sts.your-domain IN TXT "v=STSv1; id=20190811231231"
_smtp._tls.your-domain IN TXT "v=TLSRPTv1; rua=mailto:tls-reports@your-domain"

Passen Sie die Variablen nach Bedarf an und stellen Sie diese DNS-TXT-Einträge in Ihrem DigitalOcean-Kontrollfeld (oder dem von Ihnen verwendeten DNS-Anbieter) ein:

A screenshot of the DigitalOcean control panel

A screenshot of the DigitalOcean control panel

Sobald diese DNS-Einträge festgelegt und weitergegeben wurden, wird MTA-STS mit der in Schritt 1 erstellten Richtlinie aktiviert und beginnt, TLSRPT-Berichte an der von Ihnen angegebenen Adresse zu empfangen.

In diesem Schritt haben Sie die DNS-Einträge konfiguriert, die für die Aktivierung von MTA-STS erforderlich sind. Als Nächstes erhalten Sie Ihren ersten TLSRPT-Bericht und interpretieren ihn.

[[Schritt 5 - Interpretieren Ihres ersten tlsrpt-Berichts]] == Schritt 5 - Interpretieren Ihres ersten TLSRPT-Berichts

Nachdem Sie MTA-STS und TLSRPT (TLS Reporting) für Ihre Domain aktiviert haben, erhalten Sie nun Berichte von unterstützten E-Mail-Anbietern. Diese Berichte enthalten die Anzahl der E-Mails, die über TLS erfolgreich zugestellt wurden oder nicht, sowie die Gründe für etwaige Fehler.

Verschiedene E-Mail-Anbieter senden ihre Berichte zu unterschiedlichen Zeiten. Beispielsweise sendet Google Mail seine Berichte täglich gegen 10:00 UTC.

Abhängig davon, wie Sie den TLSRPT-DNS-Eintrag in Schritt 5 konfiguriert haben, erhalten Sie Ihre Berichte entweder per E-Mail oder über eine Web-API. Dieses Tutorial konzentriert sich auf die E-Mail-Methode, da dies die am häufigsten verwendete Konfiguration ist.

Wenn Sie den Rest dieses Lernprogramms gerade abgeschlossen haben, warten Sie, bis Sie Ihren ersten Bericht erhalten, und fahren Sie fort.

Ihr täglicher TLSRPT-Bericht per E-Mail enthält normalerweise eine Betreffzeile ähnlich der folgenden:

Report Domain: your-domain Submitter: google.com Report-ID: <[email protected]>

Diese E-Mail enthält einen Anhang im Format.gz, bei dem es sich um ein komprimiertes Gzip-Archiv handelt, dessen Dateiname dem folgenden ähnelt:

google.com!your-domain!1565222400!1565308799!001.json.gz

Für den Rest dieses Tutorials wird diese Datei alsreport.json.gz bezeichnet.

Speichern Sie diese Datei auf Ihrem lokalen Computer und extrahieren Sie sie mit einem beliebigen Tool.

Wenn Sie ein Debian-basiertes Linux-System verwenden, können Sie den Befehlgzip -dausführen, um das Archiv zu dekomprimieren:

gzip -d report.json.gz

Dies führt zu einer JSON-Datei mit dem Namenreport.json.

Als Nächstes können Sie den Bericht entweder direkt als unformatierte JSON-Zeichenfolge anzeigen oder Ihren bevorzugten JSON-Prettifier verwenden, um ihn in ein besser lesbares Format zu bringen. In diesem Beispiel werdenjq verwendet, aber Sie können auch Pythonsjson.tool verwenden, wenn Sie dies wünschen.

[.note] #Note: Wenn Sie jq nicht installiert haben, können Sie es mitapt install jq installieren. Oder verwenden Sie für andere Betriebssysteme die erforderlicheninstallation instructions aus jq.
#

jq . report.json

Dies wird etwas Ähnliches wie das Folgende ausgeben:

Prettified report.json{
    "organization-name": "Google Inc.",
    "date-range": {
        "start-datetime": "2019-08-10T00:00:00Z",
        "end-datetime": "2019-08-10T23:59:59Z"
    },
    "contact-info": "[email protected]",
    "report-id": "2019-08-10T00:00:00Z_your-domain",
    "policies": [
        {
            "policy": {
                "policy-type": "sts",
                "policy-string": [
                    "version: STSv1",
                    "mode: testing",
                    "mx: mail1.your-domain",
                    "mx: mail2.your-domain",
                    "max_age: 86401"
                ],
                "policy-domain": "your-domain"
            },
            "summary": {
                "total-successful-session-count": 230,
                "total-failure-session-count": 0
            }
        }
    ]
}

Der Bericht zeigt den Anbieter, der den Bericht und den Berichtszeitraum erstellt hat, sowie die angewendete MTA-STS-Richtlinie. Der Hauptabschnitt, an dem Sie interessiert sein werden, ist jedochsummary, insbesondere die Anzahl der erfolgreichen und fehlgeschlagenen Sitzungen.

Dieser Beispielbericht zeigt, dass 230 E-Mails vom E-Mail-Anbieter, der den Bericht generiert hat, erfolgreich über TLS zugestellt wurden und 0 E-Mail-Zustellungen keine ordnungsgemäße TLS-Verbindung herstellen konnten.

Wenn ein Fehler auftritt, z. B. wenn ein TLS-Zertifikat abläuft oder ein Angreifer im Netzwerk ist, wird der Fehlermodus im Bericht dokumentiert. Einige Beispiele für Fehlermodi sind:

  • starttls-not-supported: Wenn der empfangende Mailserver STARTTLS nicht unterstützt.

  • certificate-expired: Wenn ein Zertifikat abgelaufen ist.

  • certificate-not-trusted: Wenn ein selbstsigniertes oder ein anderes nicht vertrauenswürdiges Zertifikat verwendet wird.

In diesem letzten Schritt haben Sie Ihren ersten TLSRPT-Bericht erhalten und interpretiert.

Fazit

In diesem Artikel haben Sie MTA-STS- und TLS-Berichte für Ihre Domain eingerichtet und konfiguriert und Ihren ersten TLSRPT-Bericht interpretiert.

Sobald MTA-STS aktiviert wurde und eine Weile stabil funktioniert, wird empfohlen, die Richtlinie anzupassen, den Wert vonmax_agezu erhöhen und schließlich in den Modus vonenforcezu wechseln, sobald Sie sicher sind, dass alle E-Mails von Unterstützte Anbieter werden erfolgreich über TLS bereitgestellt.

Wenn Sie mehr über die MTA-STS- und TLSRPT-Spezifikationen erfahren möchten, können Sie die RFCs für beide überprüfen: