Czy rekordy SPF i DKIM TXT wymagają wyceny?

16

Szukałem już kilka godzin, ale wiele źródeł mówi różne rzeczy.

https://support.wordfly.com/hc/en-us/articles/204767474-How-do-we-publish-DKIM-and-SPF-in-our-DNS- States Nie powinienem zawierać cytatów, podczas gdy https: //stackoverflow.com/a/9784925/1293725 czyta cytaty powinny być zawarte w tych rekordach TXT.

To tylko niektóre przykłady źródeł, ale jest ich o wiele więcej.

Czy te zapisy powinny zawierać cytaty, czy nie?

Neograph734
źródło
2
To naprawdę zależy od twojego systemu / konfiguracji. Na przykład. Zakładam, że z wordfly wpisujesz swoje wartości w formie internetowej. Używanie cytatów w formularzu może naprawdę zepsuć wszystko. Jest więc prawdopodobne, że proces przyjmuje cudzysłowy i wprowadza wartości, używając cudzysłowów w DNS, tak jak powinien w Twoim imieniu.
closetnoc
2
@closetnoc jest poprawny. To, czy korzystasz z cytatów, czy nie, prawdopodobnie ma więcej wspólnego z witryną / narzędziem, którego używasz do ich wprowadzania.
Sherwin Flight
Dzięki, spróbuję najpierw z cytatami i zobaczę, czy system zgłasza błąd. Stwierdziłem, że jest to mylące, ponieważ źródła wskazują, że spacje w rekordach TXT sprawiają, że każde słowo należy traktować jako pojedynczy ciąg i nie mogłem ustalić, czy takie było zamierzone zachowanie SPF i DKIM. Ale rozumiem teraz, że powinien być traktowany jako jeden ciąg.
Neograph734
1
Miałem oferty, przeniosłem mój DNS do nowego dostawcy (Azure DNS), a SPF przestał działać. Usunąłem cytaty i wszystko działało ponownie. To zależy od dostawcy. Upewnij się, że zweryfikowałeś rekord. Podmiot, dla którego tworzysz rekord SPF, zwykle ma do tego narzędzie / przycisk.
nmit026

Odpowiedzi:

13

W (surowym) pliku strefy DNS wartość TXTrekordu musi być ujęta w cudzysłów, jeśli zawiera spacje (jak to często bywa w przypadku rekordów SPF i DKIM). W przeciwnym razie spacjeogranicznikami w pliku strefy DNS.

RFC 1305 określa, w jaki sposób wartości powinny być cytowane w grzywnie dla strefy. W odniesieniu do TXTrekordów zasobów:

3.3.14 Format TXT RDATA

+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
/                   TXT-DATA                    /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

gdzie:

DANE TXT Jeden lub więcej <character-string>s.

[Strona 20]

<character-string>wyraża się na jeden lub dwa sposoby: jako ciągły zestaw znaków bez wewnętrznych spacji lub jako ciąg rozpoczynający się od „i kończący się na”. Wewnątrz „rozdzielanego łańcucha” może wystąpić dowolny znak, z wyjątkiem samego „, który musi być cytowany za pomocą \ (ukośnik odwrotny).

[Strona 35]


Jednak, jak wspomniano w komentarzach, często używasz innego narzędzia do edycji rekordów DNS (zwykle nie edytujesz bezpośrednio pliku strefy DNS, chociaż WHM daje tę opcję). To inne narzędzie prawdopodobnie poradzi sobie z cytatami i wszelkimi dodatkowymi znakami ucieczki wymaganymi do poprawności zapisu. Jeśli ręcznie otoczysz wartość w cudzysłowie, przesyłając wartość za pomocą edytora / narzędzia, te dodatkowe cudzysłowy mogą zostać usunięte i stać się częścią TXTwartości rekordu.

Nawiasem mówiąc, podczas wyszukiwania DNS widzisz przeanalizowaną / niecytowaną wartość ciągu.

Więcej informacji:
https://en.wikipedia.org/wiki/TXT_Record
https://tools.ietf.org/html/rfc1464

MrWhite
źródło
Tak, po przeczytaniu komentarzy znalazłem również instrukcję na stronie mojego rejestratora, stwierdzającą, że rekordy powinny być wprowadzane bez cytatów (chociaż miałem je wcześniej z cytatami, a weryfikatory online oznaczyły je jako ważne, więc być może oba sposoby działały w moim przypadku ). Zmieniłem zalecany format mojego rejestratora. Dzięki wszystkim za pomoc!
Neograph734,
Tak, Cloudflare ma również specjalną notatkę na temat cytatów support.cloudflare.com/hc/en-us/articles/…
lkraav
Gdzie znajduje się ta reguła: „jeśli TXTwartość zawiera spację, należy ją zacytować podwójnymi cudzysłowami”? Brzmi jak dobra reguła, ale czyja to reguła? Nie mogę nic na ten temat znaleźć w RFC 1464 ani w wspomnianym artykule w Wikipedii. (RFC 1464 wspomina o unikaniu podwójnych cudzysłowów, ale jest inaczej.)
Garret Wilson,
1
Ach, jak najlepiej mogę powiedzieć, że ten rodzaj ucieczki jest zdefiniowany w RFC 1035 w sekcji 3.3 dla <character-string>produkcji, a później w sekcji 3.3.14 określa, że TXTrekordy mają <character-string>dane i dlatego powinny być cytowane. (Wspomina to również o HINFOpłytach, cokolwiek to jest.)
Garret Wilson
Tak, RFC 1305 wydaje się być miejscem, w którym jest to zdefiniowane. Jeśli edytujesz surową strefę DNS w WHM, w rzeczywistości pojawia się monit, że „musisz przestrzegać konwencji cytowania i ucieczki opisanych w RFC 1035”. Zaktualizuję swoją odpowiedź, dzięki.
MrWhite,