Poczta do Ciebie przychodzi bez MTA-STS

Co to jest

MTA-STS (RFC 8461) to reguła, która mówi obcym serwerom pocztowym: „dostarczaj pocztę dla tej domeny tylko szyfrowanym połączeniem i tylko na te serwery”. Składa się z dwóch części: rekordu TXT _mta-sts w DNS i małego pliku tekstowego na Twojej stronie.

Patrzyliśmy tylko na publiczny DNS i ten publiczny plik z regułą. Nie widzimy, które serwery faktycznie wysyłają Ci pocztę ani jak ją dostarczają.

Dlaczego to problem

Poczta między serwerami jest szyfrowana „jeśli się da”. Atakujący na trasie może stłumić szyfrowanie i przeczytać albo podrobić wiadomość. Bez MTA-STS nadawca tego nie zauważy.

Jak to naprawić

1. Sprawdź swoje serwery MX

dig +short MX example.pl

2. Utwórz plik z regułą

Musi być dostępny pod adresem https://mta-sts.example.pl/.well-known/mta-sts.txt, z ważnym certyfikatem, odpowiedzią 200 bez przekierowań i typem text/plain. Zacznij w trybie testing:

version: STSv1
mode: testing
mx: mail.example.pl
max_age: 604800

Wierszy mx: może być kilka, po jednym na każdy serwer MX. Gwiazdka jest dozwolona tylko na początku nazwy (*.example.pl). max_age to czas w sekundach, przez który nadawca pamięta regułę. 604800 to tydzień.

3. Opublikuj rekord TXT

_mta-sts.example.pl.  TXT  "v=STSv1; id=20261109T000000"

Wartość id to dowolny ciąg znaków. Zmieniaj ją przy każdej zmianie pliku, inaczej nadawcy nie pobiorą nowej wersji.

4. Przejdź na enforce

Po kilku tygodniach bez problemów (najlepiej z raportami z TLS-RPT) zmień mode: testing na mode: enforce i zmień id.

Inne warianty tego ustalenia

Tryb testing

Reguła jest wdrożona, ale przy błędzie nadawca i tak dostarczy pocztę. Na razie nie chroni. Gdy raporty są czyste, przełącz na enforce.

Zbyt krótki max_age

Reguła działa, tylko szybko wygasa i nadawcy muszą ją często pobierać od nowa. Ustaw co najmniej tydzień (max_age: 604800). Zgłaszamy wartości poniżej jednego dnia (86400).

Serwera MX nie ma w regule

Któryś z Twoich serwerów MX nie pasuje do żadnego wiersza mx:. Poczta na niego zostaje bez ochrony, a w trybie enforce nadawcy odmówią dostarczenia. Wiersze mx: muszą obejmować każdy serwer z wyniku dig MX.

Rekord TXT bez reguły

W DNS jest rekord _mta-sts, ale pliku pod mta-sts.example.pl nie udało się pobrać ani odczytać (brak subdomeny lub certyfikatu, zły typ zawartości, błędny format). Nadawcy dostają wtedy niedziałającą regułę. Popraw plik albo usuń rekord.

Gdy host reguły odrzuci nasze zapytanie (401, 403, 429, 5xx albo kontrola ochronna CDN lub firewalla), nie zgłaszamy ustalenia. Nie potrafimy stwierdzić, że reguły brakuje, więc wiersz w monitoringu zostaje niezmierzony. Plik musi być publicznie czytelny bez logowania i bez kontroli botów, inaczej nadawcy poczty też go nie pobiorą.

Źródła