Szyfrowanie poczty wysyłanej do Ciebie można po cichu wyłączyć
Ogólne instrukcje. Otwórz ten artykuł z raportu PageCheck, aby zobaczyć go wypełnionego serwerami pocztowymi Twojej domeny i dokładnymi krokami dla Twojego dostawcy DNS.
Co to jest
Poczta między serwerami jest zwykle szyfrowana, ale tylko wtedy, gdy obie strony uzgodnią to po drodze, a atakujący pośrodku może tę propozycję usunąć: poczta zostaje wtedy dostarczona bez szyfrowania i nikt tego nie zauważa. MTA-STS to krótka publiczna polityka, która mówi serwerom wysyłającym, że Twoje serwery pocztowe zawsze obsługują szyfrowanie, więc nie wolno im dostarczać bez niego.
Co jest nie tak
example.com nie ma polityki MTA-STS, więc szyfrowanie wysyłanej do niej poczty można po cichu wyłączyć. Jej polityka DMARC już zatrzymuje pocztę podszywającą się pod nią; to następny krok.
Jak naprawić
Zacznij w trybie testing: serwery wysyłające tylko zgłaszają problemy i nadal dostarczają każdą wiadomość, więc nic nie może pójść źle, gdy sprawdzasz konfigurację.
1. Napisz plik polityki.
Zapisz to jako zwykły plik tekstowy o nazwie mta-sts.txt. Musi wymieniać każdy serwer pocztowy (MX) domeny:
mta-sts.txt
version: STSv1 mode: testing mx: mail.example.com max_age: 86400
2. Opublikuj go pod własnym adresem.
Plik musi otwierać się pod adresem https://mta-sts.example.com/.well-known/mta-sts.txt przez HTTPS, z ważnym certyfikatem i bez żadnego przekierowania – przekierowanie na www lub na główną stronę sprawia, że nadawcy go ignorują.
Jeśli Twój DNS jest w Cloudflare, najprostszym miejscem jest Cloudflare Worker (bezpłatny): Workers & Pages → Create → Create Worker, nazwij go mta-sts, zastąp jego kod kodem poniżej i kliknij Deploy. Następnie w Settings Workera → Domains & Routes → Add → Custom domain: mta-sts.example.com. Cloudflare tworzy dla niego rekord DNS i certyfikat.
Cloudflare Worker
export default {
async fetch() {
const policy = [
'version: STSv1',
'mode: testing',
'mx: mail.example.com',
'max_age: 86400',
].join('\r\n') + '\r\n';
return new Response(policy, { headers: { 'content-type': 'text/plain; charset=utf-8' } });
},
};
Na Twoim hostingu: dodaj subdomenę mta-sts.example.com z certyfikatem SSL, utwórz w niej folder o nazwie .well-known i wgraj tam mta-sts.txt.
- Plesk: Websites & Domains → Add Subdomain, potem SSL/TLS Certificates → Let's Encrypt, potem File Manager.
- cPanel: Domains → Create A New Domain, potem SSL/TLS Status → Run AutoSSL, potem File Manager.
3. Ogłoś politykę w DNS.
- Otwórz rekordy DNS swojej domeny tam, gdzie zarządzany jest jej DNS: zwykle u rejestratora domeny, w firmie hostingowej lub w Cloudflare.
- Dodaj rekord
TXTo nazwie_mta-stsi wartościv=STSv1; id=1, a potem zapisz.
4. Poproś o raporty.
Serwery wysyłające będą wtedy codziennie przysyłać e-mailem raport o każdym nieudanym szyfrowanym doręczeniu. Najpierw utwórz skrzynkę tls-reports@example.com (lub użyj innego adresu, który czytasz).
- Otwórz rekordy DNS swojej domeny tam, gdzie zarządzany jest jej DNS: zwykle u rejestratora domeny, w firmie hostingowej lub w Cloudflare.
- Dodaj rekord
TXTo nazwie_smtp._tlsi wartościv=TLSRPTv1; rua=mailto:tls-reports@example.com, a potem zapisz.
5. Sprawdź.
Otwórz https://mta-sts.example.com/.well-known/mta-sts.txt: powinien pokazać plik jako zwykły tekst. Potem uruchom ten test ponownie: czyta plik i porównuje jego wiersze mx z Twoimi serwerami pocztowymi.
6. Około dwa tygodnie później: wymuś ją. Gdy raporty nie pokazują nieudanych doręczeń, przestaw plik na tryb enforce z max_age wynoszącym tydzień:
mta-sts.txt
version: STSv1 mode: enforce mx: mail.example.com max_age: 604800
Potem zmień rekord TXT _mta-sts na v=STSv1; id=2, aby nadawcy pobrali nowy plik. Każda późniejsza zmiana pliku wymaga nowego id, a gdy zmienią się Twoje serwery pocztowe, najpierw zaktualizuj wiersze mx.
Set up MTA-STS (RFC 8461) for the mail domain example.com, starting in testing mode, and TLS-RPT (RFC 8460) reporting. Its MX hosts (look them up first; this is a placeholder): mail.example.com. Steps: 1. Serve this policy at https://mta-sts.example.com/.well-known/mta-sts.txt over HTTPS with a valid certificate for mta-sts.example.com, status 200, Content-Type text/plain, no redirect: version: STSv1 mode: testing mx: mail.example.com max_age: 86400 Use the web host (a subdomain with its own certificate) or a static host. 2. Add the TXT record _mta-sts.example.com = "v=STSv1; id=1". 3. Add the TXT record _smtp._tls.example.com = "v=TLSRPTv1; rua=mailto:tls-reports@example.com" (make sure that mailbox exists). 4. Verify: curl -sv https://mta-sts.example.com/.well-known/mta-sts.txt (200, no redirect, the policy text) and dig TXT _mta-sts.example.com +short. 5. Tell me to come back in two weeks: if the TLS reports show no failures, switch to mode: enforce with max_age: 604800 and change the TXT record to "v=STSv1; id=2". Every mx line must match an MX host exactly or by a one-label wildcard (*.example.com); a missing one makes enforcing senders refuse mail. Resources: - MTA-STS, RFC 8461 (IETF): https://datatracker.ietf.org/doc/html/rfc8461 - TLS-RPT, RFC 8460 (IETF): https://datatracker.ietf.org/doc/html/rfc8460
Temat: example.com – prośba o wdrożenie MTA-STS dla naszej poczty Dzień dobry, Test witryny (PageCheck) wykazał, że example.com nie ma polityki MTA-STS, więc szyfrowanie wysyłanej do nas poczty można po drodze po cichu wyłączyć. Proszę o wykonanie w tej kolejności: 1. Opublikować politykę MTA-STS w trybie testing pod adresem https://mta-sts.example.com/.well-known/mta-sts.txt (HTTPS, bez przekierowania), z naszymi serwerami pocztowymi: mail.example.com. 2. Dodać rekord TXT _mta-sts.example.com o wartości „v=STSv1; id=1”. 3. Dodać rekord TXT _smtp._tls.example.com o wartości „v=TLSRPTv1; rua=mailto:tls-reports@example.com”, dla raportów o nieudanych doręczeniach. Po około dwóch tygodniach bez błędów w raportach przestawić politykę na tryb enforce. Źródła: - MTA-STS, RFC 8461 (IETF): https://datatracker.ietf.org/doc/html/rfc8461 - TLS-RPT, RFC 8460 (IETF): https://datatracker.ietf.org/doc/html/rfc8460 Dziękuję!
Sprawdź swoją stronę, aby zobaczyć, czy ma ten problem. Sprawdź stronę