Audyt SPF, DKIM i DMARC z użyciem Node.js z priorytetyzacją wyników
Przeprowadź audyt bezpieczeństwa SPF, DKIM i DMARC z użyciem Node.js, prawidłowo przekazuj selektory DKIM oraz przekształć uzyskane wyniki w plan naprawczy uporządkowany według rzeczywistego wpływu.
Cel: wywołanie narzędzia Node.js działającego po stronie serwera, które zwraca liczbowy wynik, dowody dotyczące poziomu weryfikacji oraz uporządkowaną listę ustaleń na temat sposobu, w jaki domena publiczna zapewnia bezpieczeństwo swojej poczty.
Niewystarczy jedynie sprawdzenie, czy istnieją trzy rekordy TXT. Operatorzy często publikują informacje SPF, pomijając DMARC, podpisują wiadomości DKIM przy użyciu selektora, którego nikt się nie spodziewał, lub wyglądają „autoryzowani” na papierze, pomijając jednocześnie mechanizmy kontroli transportu, takie jak MTA-STS.
Dlatego przydatna audytacja gromadzi dowody, odróżnia potwierdzone błędy od tych nieznanych oraz klasyfikuje sposoby ich naprawy. Poniższy przewodnik pokazuje, jak korzystać z API obejmującego routowanie, klasyczne rekordy autoryzacji, politykę transportu, raportowanie oraz wskaźniki marki z klienta Node.js – a także wyjaśnia, czego te wyniki nadal nie mogą potwierdzić co do umieszczenia wiadomości w skrzynce odbiorczej.
Co mówi nam każda weryfikacja bezpieczeństwa poczty
Pierwsze cztery elementy sterujące stanowią rdzeń mechanizmu autoryzacji. Późniejsze elementy poprawiają widoczność transmisji, egzekwowanie zasad oraz sygnalizację marki.
Należy zachować odrębność ról: SPF autoryzuje nadawcę wiadomości, DKIM weryfikuje podpis kryptograficzny wiadomości, a DMARC ocenia zgodność autoryzowanej tożsamości z adresem widocznym dla odbiorcy. Samo istnienie rekordu DNS nie gwarantuje, że każda prawidłowa wiadomość zostanie przyjęta.
Audyt domeny z Node.js
Hostowany punkt końcowy Domain Mail Security & Deliverability Audit (dostępny na platformie RapidAPI) przyjmuje szybkie żądania typu GET oraz POST w formacie JSON. Należy skopiować rzeczywisty adres hosta z fragmentu na platformie zamiast ręcznie wpisywać placeholder dla nazwy hosta.
const domain = "example.com"; const selectors = ["google", "selector1"]; const params = new URLSearchParams({ domain, dkim_selectors: selectors.join(","), }); const response = await fetch( `https://${process.env.RAPIDAPI_HOST}/api/v1/mail-security/audit?${params}`, { headers: { "x-rapidapi-key": process.env.RAPIDAPI_KEY, "x-rapidapi-host": process.env.RAPIDAPI_HOST, }, }, ); if (!response.ok) { const body = await response.text(); throw new Error(`Mail-security audit failed (${response.status}): ${body}`); } const audit = await response.json(); console.log({ domain: audit.domain, score: audit.score, summary: audit.summary, findings: audit.findings, });
Ochrona danych logowania: przechowuj klucz RapidAPI w zmiennej środowiskowej lub narzędziu do zarządzania sekretami. Nigdy go nie dodawaj do plików kodu ani nie wysyłaj w JavaScriptie przeglądarki.
Odpowiedzi zawierają domenę, czas trwania, wynik i ocenę, poszczególne sprawdzenia, podsumowanie oraz najważniejsze ustalenia — wystarczającą strukturę do tworzenia paneli kontrolnych, bramek wdrożeniowych, planowanych monitorów oraz zgłoszeń dotyczących napraw.
Dlaczego DKIM wymaga specjalnego traktowania
SPF znajduje się w domenie głównej, a DMARC w adresie _dmarc.example.com. Nazwy DNS DKIM zawierają selektor:
selector._domainkey.example.com
Selektory są wybierane przez dostawcę usług wysyłkowych lub administratora poczty. DNS nie udostępnia uniwersalnego katalogu wszystkich używanych selektorów, więc audytor nie może stworzyć kompletnego wykazu.
Gdy znany jest dostawca, do żądania należy dodać wiarygodne selektory — Google Workspace często używa google; inne rozwiązania mogą wykorzystywać selector1, selector2 lub nazwy z datą.
Jeśli żaden sprawdzony selektor nie zadziała, należy zgłosić unknown zamiast fail, a wynik traktować jako tymczasowy. W przypadku poważnego błędu DKIM potrzebne są dowody pochodzące z rzeczywistego podpisanego wiadomości lub selektora faktycznie skonfigurowanego przez nadawcę.
Zmień ustalenia na plan naprawczy
Surowy wydruk DNS nie stanowi planu naprawczego. Postępuj zgodnie z następującą kolejnością:
- Najpierw przywróć routowanie poczty. Uszkodzone lub brakujące rekordy MX blokują normalną dostawę.
- Napraw syntaksę i autoryzację SPF. Zachowaj jeden rekord SPF, usuń przestarzałe elementy include i przestrzegaj ograniczeń wyszukiwań.
Taka sekwencja pozwala uniknąć zamykania polityki przed zinwentaryzowaniem prawidłowych nadawców.
Wykorzystuj wynik jako sygnał, a nie ostateczną decyzję
Wyniki pomagają porównywać domeny, śledzić postępy w konfiguracji oraz reagować na słabe rezultaty. Nie gwarantują one dostarczenia wiadomości do skrzynki odbiorczej.
Umiejscowienie wiadomości zależy również od reputacji, skarg, odrzuceń, treści, częstotliwości wysyłania, zaangażowania odbiorców oraz zgodności z zasadami dla poszczególnych wiadomości — żadnego z tych elementów nie może wykryć publiczny DNS w połączeniu z testem MTA-STS HTTPS. Opisany tutaj audyt nie otwiera sesji SMTP, nie wysyła testów, nie czyta prywatnych konsol dostawcy ani nie rozszerza rekurencyjnie wszystkich wpisów SPF. Przed dokonywaniem ocen dostarczalności należy połączyć dowody dotyczące konfiguracji z nagłówkami, danymi telemetrycznymi dostawcy oraz kontrolowanymi wysyłkami.
Praktyczne sposoby wykorzystania wyników
- Audyty agencji: ustalenie powtarzalnego punktu odniesienia przed zaleceniem zmian.
- Wprowadzanie klientów do SaaS: ostrzeganie klientów o braku autoryzacji przed połączeniem domeny wysyłkowej.
- Weryfikacja dostawców: wykrywanie słabej lub niekompletnej ochrony poczty.
Dla monitorów należy przechowywać zarówno identyfikatory stabilnych ustaleń, jak i surowe dane dowodowe. Uruchamiaj alarmy w momencie rzeczywistej zmiany stanu bezpieczeństwa, a nie gdy wynik tylko lekko się zmieni.
Częste pytania dotyczące narzędzia do sprawdzania SPF, DKIM i DMARC
Czego sprawdza narzędzie do sprawdzania SPF, DKIM i DMARC?
Co najmniej rozwiązuje problemy z publicznym DNS dotyczące autoryzacji, podpisów i polityk. Pełniejsza weryfikacja może również sprawdzić routowanie MX, MTA-STS, TLS-RPT i BIMI, a następnie zwrócić zebrane dowody wraz z uporządkowanymi rekomendacjami.
Czy narzędzie może automatycznie znaleźć wszystkie rekordy DKIM?
Nie. Każde wyszukiwanie wymaga selektora skonfigurowanego przez stos wysyłkowy, a publiczna struktura DNS nie wymienia wszystkich używanych selektorów. Spróbuj selektorów opisanych w dokumentacji twojego dostawcy lub przeczytaj nagłówek DKIM-Signature z wiadomości, która już dotarła.
Czy spełnienie wymogów SPF, DKIM i DMARC gwarantuje dostarczenie e-maili?
Nie. Przeprowadzenie autoryzacji jest koniecznością z punktu widzenia standardów bezpieczeństwa, jednak umieszczenie wiadomości w skrzynce odbiorców nadal zależy od reputacji, historii skarg i nieudanych wysyłek, jakości treści, wzorców wysyłania, zaangażowania odbiorców oraz tego, czy każda wiadomość jest zgodna z wytycznymi.
Czy mogę zautomatyzować sprawdzania za pomocą API?
Tak. Wywoływanie narzędzia sprawdzającego po stronie serwera podczas procesu onboardingu, weryfikacji domeny, oceny dostawcy lub za pomocą monitora typu cron to powszechny wzorzec. Zachowuj zarówno normalizowane kody stanu, jak i surowe dane dowodowe, aby późniejsze porównania były możliwe do sprawdzenia.
Rozpocznij od bezpłatnej audytu bezpieczeństwa e-maili dla domeny
To samo rozwiązanie audytowe umożliwia pełną kontrolę w ramach jednego wywołania. Darmowa kwota Basic (pięćdziesiąt wywołań miesięcznie) wystarcza, aby przeanalizować pełny kształt odpowiedzi przed wyborem płatnego planu.
Skorzystaj z darmowego planu RapidAPI, aby wywołać endpoint, przejrzeć dowody dołączone do każdej weryfikacji oraz ustalić priorytety napraw na podstawie stwierdzonych problemów, a nie tylko liczbowej oceny.