[ DKIM ]

Zbadaj awarie DKIM dotyczące zakończeń linii

Zachowaj nieprzetworzony komunikat i odróżnij normalizację transportu od zmian białych znaków dozwolonych przez kanonizację.

Przez zespół badawczy EmailAuth

[Kluczowe punkty]

  • Normalizuj lokalne separatory linii przed podpisaniem przesłanego formularza.
  • Odróżnij zmiany w transporcie od normalizacji narzędzi eksportowych.
  • Samo dopasowanie skrótu treści nie ustanawia prawidłowego podpisu DKIM .
Na tej stronie

Problem z zakończeniem linii jest problemem na poziomie bajtu. Skopiowanie wiadomości do edytora, zobaczenie tych samych linijek i stwierdzenie, że nic się nie zmieniło, nie jest wiarygodne DKIM dochodzenie. Zachowaj oryginalne przedstawienie i określ, czy konwersja nastąpiła przed podpisaniem, w trakcie transportu, czy dopiero podczas gromadzenia dowodów.

Ustal oczekiwaną formę

Poczta internetowa używa separatorów wierszy CRLF. RFC 6376 §5.3 wymaga, aby podpisujący przed podpisaniem przekonwertował lokalne, gołe konwencje CR lub LF na sekwencję CRLF w standardzie SMTP. Konwersja powinna dotyczyć przesyłanej wiadomości, a nie tylko prywatnej kopii przekazywanej algorytmowi podpisującemu. Podpisanie jednego oświadczenia i przesłanie drugiego powoduje brak zgody podczas weryfikacji.

Kanonizacja ma węższe zasady niż ogólna normalizacja tekstu. Prosta kanonizacja ciała ignoruje końcowe puste linie i dostarcza wymagany końcowy CRLF. Zrelaksowana kanonizacja ciała usuwa również spacje na końcu linii i kompresuje spacje lub tabulatory w linii. Zwykle nie usuwa znaczących podziałów wierszy ani nie łączy zawiniętego tekstu. Algorytmy nagłówka i treści mogą się różnić, więc przeczytaj obie części c, zamiast zakładać pojedynczy tryb.

Najpierw chroń dowody

Zbieraj nieprzetworzone pliki wiadomości od osoby podpisującej i odbiorcy, korzystając z metod, których przekształcenia rozumiesz. Zachowaj oryginały i skróty tych plików tylko do odczytu. W kopii roboczej sprawdź liczbę CRLF, nagich LF i nagich CR za pomocą narzędzia rozpoznającego bajty. Widok przeglądarki tekstu nie jest wystarczający: wiele przeglądarek renderuje każdy formularz jako podział wiersza.

Zapytaj, w jaki sposób uzyskano próbkę. Archiwum, potok powłoki lub ustawienia kontroli źródła mogą normalizować zakończenia po dostarczeniu. Różnica w wyeksportowanych plikach nie oznacza, że ​​sama wiadomość SMTP uległa zmianie. Jeśli to możliwe, porównaj niezależne połowy na tej samej granicy i zachowaj procedurę wywozu wraz z dowodami.

Użyj małej kontrolowanej skrzynki

Przykładowe dane wejściowe: ciało składa się z alfa, CRLF, betai końcowy CRLF. Dodanie na końcu pustej linii zawierającej tylko CRLF jest normalizowane przez standardowe algorytmy treści. Zastąpienie podziału wiersza między alfa i beta spacją zmienia treść i nie jest tą samą operacją. Dodawanie spacji na końcu linii alfa różni się w przypadku prostej kanonizacji treści, ale jest normalizowane przez zrelaksowaną kanonizację treści.

Te przykłady wyjaśniają zasady; nie zastępują weryfikacji pełnego podpisu. Ważne skrót ciała to tylko jeden z elementów weryfikacji DKIM . Wybór nagłówka, odzyskanie klucza publicznego i podpis kryptograficzny również muszą się powieść.

Znajdź i popraw odpowiedzialny etap

Jeśli osoba podpisująca otrzyma dane lokalne tylko w formacie LF, przed podpisaniem sprawdź etap serializacji. Jeśli dane wyjściowe osoby podpisującej są prawidłowe, ale późniejsze nieprzetworzone przechwycenie jest inne, sprawdź zachowanie konwersji lub przebudowy tego przeskoku. Jeśli tylko wyeksportowane dowody różnią się, napraw metodę przechwytywania, zamiast modyfikować produkcyjne DNS lub klucze.

Wprowadź zmianę o wąskim zakresie, która zapewni, że osoba podpisująca i przesyłana wiadomość będą używać tej samej znormalizowanej reprezentacji. Nie wymyślaj niestandardowego weryfikatora, który akceptuje dowolne przekształcenia linii, aby próbka przeszła pomyślnie. Taki weryfikator nie testowałby już opublikowanych zasad DKIM .

Sprawdź więcej niż jedną wiadomość

Po zmianie wyślij mały pakiet zawierający zwykły tekst, puste linie końcowe, kod HTML i załączniki. Zapisz wybraną kanonizację, zebrane skróty nieprzetworzonego pliku i wynik weryfikacji zaufanego odbiorcy. Zachowaj oczekiwaną reprezentację wyjściową jako element regresji. Przydatna rozdzielczość identyfikuje odpowiedzialną konwersję i pokazuje, że nowe komunikaty docierają do odbiorcy w zamierzonej formie.

Trzymaj liczbę bajtów oddzielnie od wniosków

Do syntetycznego ciała alfa<CRLF>beta<CRLF>, treść w formie sieci składa się z 13 oktetów: pięć liter, dwa oktety separatora, cztery litery i dwa końcowe oktety separatora. Eksport tych samych widocznych linii w formacie LF ma długość 11 oktetów. Ta różnica w liczbie jest powodem do zbadania odbioru lub serializacji, a nie dowodu, że przesłana poczta została uszkodzona. Zachowaj oryginalne pliki i metody gromadzenia, a następnie porównaj z zaufanym przechwytywaniem na odpowiedniej granicy. Ujęta w nawiasy etykieta CRLF reprezentuje bajty, a nie tekst dosłowny.

[Na wynos]

Normalizuj lokalne separatory linii przed podpisaniem przesłanego formularza. Odróżnij zmiany w transporcie od normalizacji narzędzi eksportowych. Samo dopasowanie skrótu treści nie ustanawia prawidłowego podpisu DKIM .

[ Według roli ]

Co to oznacza dla Ciebie

Wybierz swoją rolę, aby uzyskać praktyczne dalsze kroki.

Administrator IT / poczty

Zachowaj oktety

Ustal, czy zmiana nastąpiła w transporcie czy eksporcie.

Kolejne kroki

  1. Hashuj oryginalne pliki.
  2. Sprawdź normalizację przed podpisaniem.

CISO / SecOps

Nie osłabiaj weryfikacji

Akceptacja dowolnych przekształceń ukrywa zmiany integralności.

Kolejne kroki

  1. Zachowaj weryfikację opartą na standardach.
  2. Przejrzyj zachowanie przechwytywania.

Założyciel / Nietechniczny

Poproś o powtarzalną poprawkę

Zrzut ekranu lub edytowana próbka nie stanowią dowodu na naprawę trasy wysyłania.

Kolejne kroki

  1. Poproś o nowy test dostawy.
  2. Trzymaj dane klientów poza urządzeniami.

[ Często zadawane pytania ]

Często zadawane pytania

Co to jest CRLF?

Jest to dwubajtowa sekwencja powrotu karetki i nowego wiersza używana do oddzielania linii poczty internetowej.

RFC 2045 §2.1

Czy eksport dotyczący wyłącznie LF jest dowodem uszkodzonej dostawy?

Nie. Narzędzie do eksportu mogło znormalizować plik po dostarczeniu. Sprawdź metodę przechwytywania.

Czy tryb spokojny ignoruje wszystkie znaki nowej linii?

Nie. Zachowuje znaczącą strukturę linii, stosując określone reguły białych znaków i końcowych pustych linii.

RFC 6376 §3.4.4

Czy dodatkowe puste linie na końcu zawsze łamią DKIM ?

Standardowe algorytmy treści ignorują końcowe puste linie. Pozostałe zmiany wymagają jeszcze osobnej oceny.

RFC 6376 §3.4.3 RFC 6376 §3.4.4

Czy kanonizacja nagłówka i treści jest identyczna?

Nie. Znacznik c może wybierać różne algorytmy dla nagłówków i treści, a ich reguły są różne.

RFC 6376 §3.5

Czy powinniśmy najpierw obrócić klucz?

Nie z powodu wykazanej niedopasowania reprezentacji. Napraw granicę serializacji; nowy klucz nie może przywrócić zmienionych bajtów.

Czy dopasowanie bh wystarczy, aby udowodnić przepustkę DKIM ?

Nie. Podpis nagłówka i inne kontrole weryfikacyjne również muszą zakończyć się pomyślnie.

RFC 6376 §6.1.3

Co powinno zawierać urządzenie regresyjne?

Znane surowe dane wejściowe, oczekiwane znormalizowane dane wyjściowe, wybór kanonizacji i wiarygodne wyniki weryfikacji dla nowych komunikatów testowych.

[ Źródła ]

Źródła

  1. RFC 6376

    Sekcje §1 · §3.4 · §3.4.1 · §3.4.2 · §3.4.3 · §3.4.4 · §3.5 · §5.3 · §6.1.3

  2. RFC 2045

    Sekcje §2.1

  3. RFC 8601

    Sekcje §1.2

[ Słowniczek ]

Słowniczek

CRLF
Para powrotu karetki i przejścia do wiersza, dwa oktety używane do separacji linii poczty internetowej.

RFC 2045 §2.1

Kanonizacja
Zdefiniowane przygotowanie nagłówków lub treści przed haszowaniem i weryfikacją DKIM .

RFC 6376 §3.4

Hash ciała (bh)
Zakodowany skrót kanonizowanej treści z dowolnym mającym zastosowanie ograniczeniem długości.

RFC 6376 §3.5

Surowy dowód wiadomości
Zebrana serializowana wiadomość, której metoda przechwytywania i historia przechowywania muszą zostać zachowane.

Pochodzenie przedsiębiorstwa

Dlaczego najlepsze instytucje finansowe i rządy wycofali swoje panele bezpieczeństwa poczty e-mail.

Tradycyjne platformy uwierzytelniania poczty e-mail oferują pulpit nawigacyjny i proszą inżynierów o wykonanie pracy. W środowiskach o dużej stawce ręczny nadzór oznacza opóźnione egzekwowanie, zmianę konfiguracji i niemonitorowane domeny-cienie.

EmailAuth to platforma agentowego pochodzenia wiadomości e-mail. Nasi agenci egzekwują p=reject, dostosuj zewnętrznych nadawców i przenieś swoje domeny do pełnych adresów RFC 9989 zgodność, nowy standard DMARC , z możliwością kontroli przez człowieka.

Rządy Duże przedsiębiorstwa Instytucje finansowe poziomu 1

SaaS · Dedykowany najem · Lokalne rozwiązanie typu air-gapped · Szyfrowanie BYOK

Baza wiedzy