Domena, która nigdy nie wysyła poczty, i tak powinna być zablokowana, ponieważ atakujący podszywają się właśnie pod ciche domeny - dokładnie dlatego, że nikt ich nie pilnuje. W przypadku domeny zaparkowanej lub niewysyłającej możesz pominąć zwykłe powolne wdrażanie DMARC i od pierwszego dnia przejść od razu do p=reject, bo nie ma tu żadnej legalnej poczty, którą można by zepsuć. Pełna blokada to cztery rekordy: rekord SPF, który nie autoryzuje niczego, pusty klucz DKIM unieważniający wszystkie selektory, null MX odmawiający przyjmowania poczty przychodzącej oraz rekord DMARC ustawiony na odrzucanie.
Odczytujemy wyłącznie publiczny DNS. Nic nie zapisujemy, dopóki nie przypiszesz domeny do konta.
W przeciwieństwie do aktywnej domeny wysyłającej, gdzie zbyt szybkie przejście do odrzucania może odbić prawdziwe faktury i wiadomości resetujące hasło, domena niewysyłająca nie niesie żadnego ryzyka dla dostarczalności. Każda wiadomość podająca się za pochodzącą z niej jest z definicji sfałszowana. To sprawia, że agresywna polityka jest nie tylko bezpieczna, ale i poprawna od pierwszej minuty.
Dlaczego domeny zaparkowane w ogóle padają ofiarą podszywania
Spamerzy i phisherzy skanują sieć w poszukiwaniu domen bez polityki DMARC, ponieważ takie domeny zawodzą w stronę otwartą. Jeśli Twoja domena ma prawdziwą rejestrację, czystą reputację i nie ma opublikowanej polityki uwierzytelniania, odbiorca nie ma żadnej instrukcji, by odrzucić sfałszowaną wiadomość. Sfałszowana poczta często trafia do skrzynek odbiorczych i dziedziczy całe zaufanie, jakie niesie ze sobą nazwa domeny.
Domeny niewysyłające są szczególnie atrakcyjne. Pomyśl o rejestracjach obronnych dla marki, starych nazwach produktów, wariantach z literówkami Twojej głównej domeny oraz o domenach używanych wyłącznie wewnętrznie. Nikt nie wysyła z nich prawdziwej poczty, więc nikt nie zauważa, gdy robi to ktoś inny. Nie ma informacji zwrotnej o odbiciach, nie ma zgłoszenia do działu wsparcia, nie ma spadku reputacji, który zauważyłbyś na aktywnie używanej domenie. Nadużycie może trwać miesiącami.
Rozwiązaniem jest opublikowanie jawnej, restrykcyjnej polityki. Gdy każdy mechanizm uwierzytelniania mówi "ta domena nie wysyła niczego, odrzuć wszystko, co twierdzi inaczej", odbiorcy egzekwują to w Twoim imieniu. To najtańsza kontrola antyspoofingowa, jaką możesz wdrożyć, a szerzej omawiamy ją w jak zatrzymać podszywanie się pod Twoją domenę.
Gotowy do skopiowania zestaw rekordów blokujących
Oto kompletny zestaw dla domeny o nazwie example.com, która nigdy nie będzie wysyłać ani odbierać poczty. Opublikuj wszystkie cztery.
1. SPF, który nie autoryzuje żadnych nadawców
example.com. TXT "v=spf1 -all"
Mechanizm -all bez niczego przed nim to twarda odmowa dla każdego źródła. Mówi, że żaden adres IP nigdy nie jest legalnym nadawcą dla tej domeny. To przeciwieństwo niebezpiecznego +all, które autoryzuje cały internet. Jeśli chcesz poznać uzasadnienie, dlaczego +all jest dziurą w zabezpieczeniach, zobacz dlaczego +all w SPF jest niebezpieczne. Dla domeny zaparkowanej samo -all jest jedyną poprawną wartością SPF.
2. Klucz DKIM, który unieważnia wszystkie selektory
Opublikuj pusty klucz publiczny w stylu wieloznacznym, aby każdy podpis DKIM odwołujący się do tej domeny nie przeszedł weryfikacji:
*._domainkey.example.com. TXT "v=DKIM1; p="
Pusta wartość p= jest zgodnym z RFC 6376 sposobem zasygnalizowania, że klucz został unieważniony. Żaden podpis odwołujący się do selektora w tej domenie nie może zostać zweryfikowany względem pustego klucza publicznego, więc DKIM zawodzi. Znak wieloznaczny obejmuje każdą nazwę selektora, jaką atakujący mógłby wymyślić.
3. Null MX, który odmawia poczty przychodzącej
example.com. MX 0 .
Rekord null MX, zdefiniowany w RFC 7505, to pojedynczy MX z priorytetem 0 i celem . (korzeń, oznaczający "brak hosta"). Informuje serwery wysyłające, że ta domena nie przyjmuje żadnej poczty, więc odbicia i błędnie skierowane odpowiedzi są odrzucane już na poziomie SMTP, zamiast trafiać do kolejki. Usuwa też domenę jako użyteczny cel dla backscatteru.
4. DMARC od razu na odrzucanie
_dmarc.example.com. TXT "v=DMARC1; p=reject; adkim=s; aspf=s"
To rekord, który wykonuje najcięższą pracę. p=reject mówi odbiorcom, aby odrzucali każdą wiadomość, która nie przejdzie DMARC, a dla domeny niewysyłającej jest to każda wiadomość. Tagi ścisłego dopasowania adkim=s i aspf=s zacieśniają weryfikację, choć są tu jedynie zabezpieczeniem na wszelki wypadek, skoro i tak nic nigdy nie powinno przejść.
Zwróć uwagę, czego brakuje: nie ma adresu raportowania rua ani ruf i nie ma tagu pct. Na aktywnej domenie zbierałbyś raporty zbiorcze i stopniowo zaostrzał politykę - proces omówiony w jak przejść z DMARC none do reject. Na domenie zaparkowanej nie ma legalnego ruchu, z którego można się uczyć, więc monitorowanie w trybie p=none nie wnosi nic poza opóźnieniem. Jeśli mimo to chcesz mieć wgląd w to, kto próbuje podszywać się pod domenę, możesz dodać adres rua, ale polityka i tak powinna zaczynać się od odrzucania. Pełne znaczenie każdego poziomu polityki znajdziesz w polityka DMARC: none, quarantine i reject.
Zabezpiecz również subdomeny
DMARC ma tag polityki dla subdomen, sp, który reguluje pocztę podającą się za pochodzącą z subdomen Twojej domeny. Jeśli go pominiesz, subdomeny dziedziczą wartość p. W przypadku domeny zaparkowanej chcesz być precyzyjny, aby sfałszowany login.example.com był odrzucany równie stanowczo jak sama domena:
_dmarc.example.com. TXT "v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s"
Ustawienie sp=reject zamyka drzwi przed atakującymi, którzy próbują podszyć się pod zmyśloną subdomenę, aby prześlizgnąć się obok polityki obejmującej tylko domenę organizacyjną. Ma to znaczenie, ponieważ domena zaparkowana nie ma żadnych zdefiniowanych subdomen, które trzeba by legalnie chronić, więc całkowite odrzucanie jest bezpieczne.
Zarządzaj dziesiątkami zaparkowanych domen z jednego rekordu
Jeśli posiadasz dziesięć lub sto rejestracji obronnych, edytowanie czterech rekordów na każdej z nich jest żmudne i prowadzi do rozjazdów. Użyj delegacji CNAME, aby skierować każdą zaparkowaną domenę do jednego rekordu nadrzędnego, który kontrolujesz. Wybierz jedną domenę jako źródło prawdy, na przykład lockdown.example.com, i opublikuj tam właściwy DMARC:
_dmarc.lockdown.example.com. TXT "v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s"
Następnie na każdej zaparkowanej domenie opublikuj CNAME zamiast TXT:
_dmarc.parked-brand-a.com. CNAME _dmarc.lockdown.example.com.
Teraz każda zaparkowana domena rozwiązuje swoją politykę DMARC z jednego centralnego rekordu. Zmień rekord nadrzędny, a wszystkie zmienią się naraz. Ten sam wzorzec działa dla DKIM, gdzie delegacja CNAME jest już standardowym podejściem stosowanym przez wielu dostawców. Jeśli chcesz poznać mechanikę CNAME kontra TXT dla DKIM, zobacz DKIM: rekord CNAME kontra TXT.
Dwa zastrzeżenia. Po pierwsze, SPF nie da się delegować za pomocą CNAME na szczycie domeny w tak samo czysty sposób, ponieważ SPF jest wyszukiwany na samej domenie, a CNAME na szczycie kolidują z innymi rekordami szczytowymi, takimi jak null MX. Trzymaj v=spf1 -all opublikowane bezpośrednio jako TXT na każdej domenie, skoro jest to pojedyncza, statyczna linia, która nigdy się nie zmienia. Po drugie, cele CNAME dla DMARC muszą rozwiązywać się do prawidłowego rekordu TXT DMARC, więc dbaj o kondycję rekordu nadrzędnego.
Potwierdź blokadę darmowym narzędziem
Opublikowanie rekordów to dopiero połowa pracy. Literówki w DNS, zabłąkany dodatkowy rekord SPF albo dostawca, który przepisuje Twój MX, mogą po cichu zepsuć politykę. Przepuść domenę przez skaner i potwierdź cztery rzeczy: SPF brzmi dokładnie v=spf1 -all, DMARC pokazuje p=reject, MX to null MX, a żaden nieoczekiwany klucz DKIM nie publikuje prawdziwej wartości. Czysta domena zaparkowana powinna wypaść dobrze właśnie dlatego, że nie autoryzuje niczego.
Jeśli blokujesz domenę, ponieważ padła już ofiarą nadużyć, sprawdź również, czy jej nazwa nie znajduje się na jakichkolwiek listach blokujących, korzystając z jak sprawdzić, czy domena jest na czarnej liście, ponieważ sfałszowana domena może zebrać wpisy z kampanii prowadzonych w jej imieniu.
Najczęściej zadawane pytania
Czy naprawdę mogę zacząć od p=reject bez fazy monitorowania?
Tak, dla domeny, która rzeczywiście nie wysyła żadnej poczty. Powolne wdrażanie od p=none istnieje po to, by chronić legalne strumienie poczty, o których możesz nie wiedzieć. Domena zaparkowana ich nie ma, więc nie ma czego zepsuć i nie ma powodu, by czekać. Jeśli nie masz pewności, czy domena cokolwiek wysyła, uruchom najpierw krótkie p=none z adresem rua, a potem przełącz na odrzucanie.
Czy na domenie zaparkowanej potrzebuję wszystkich trzech: SPF, DKIM i DMARC?
Opublikuj je wszystkie. DMARC jest warstwą egzekwowania, ale ocenia wyniki SPF i DKIM. v=spf1 -all i pusty klucz DKIM sprawiają, że obie leżące u podstaw weryfikacje zawodzą czysto, więc nie ma ścieżki, którą sfałszowana wiadomość mogłaby przejść dopasowanie. Null MX to osobna kontrola, która odmawia poczty przychodzącej. Razem nie pozostawiają luki.
Po co publikować null MX, skoro domena nie wysyła poczty?
Wysyłanie i odbieranie to co innego. Nawet domena, która nigdy nie wysyła, może być sondowana pod kątem poczty przychodzącej, wykorzystywana do backscatteru albo obierana za cel przez serwery odbijające sfałszowane wiadomości z powrotem do niej. Null MX z RFC 7505 mówi światu, że domena nie przyjmuje żadnej poczty, co zatrzymuje te kolejki u źródła. Sygnalizuje też jasno, że domena jest celowo martwa.
Co jeśli później zechcę, aby domena wysyłała pocztę?
Usuń rekordy blokujące i zbuduj prawdziwe. Zastąpiłbyś v=spf1 -all rekordem SPF wymieniającym Twoje rzeczywiste źródła wysyłki, opublikowałbyś prawdziwy klucz DKIM dla swojego dostawcy, ustawiłbyś normalny MX, jeśli chcesz odbierać pocztę, i przeprowadziłbyś DMARC do odrzucania poprzez monitorowanie. Zacznij od jakich rekordów DNS potrzebuję do poczty oraz jak skonfigurować SPF.