¿Los registros SPF y DKIM TXT requieren cotizaciones?

15

He estado buscando durante algunas horas, pero varias fuentes dicen cosas diferentes.

https://support.wordfly.com/hc/en-us/articles/204767474-How-do-we-publish-DKIM-and-SPF-in-our-DNS- States No debería incluir citas, mientras que https: //stackoverflow.com/a/9784925/1293725 lee las cotizaciones deben incluirse en estos registros TXT.

Estos son solo algunos ejemplos de fuentes, pero hay muchos más.

Entonces, ¿deberían estos registros incluir citas o no?

Neograph734
fuente
2
Realmente depende de su sistema / configuración. Por ejemplo. Supongo que con wordfly está ingresando sus valores en un formulario web. El uso de citas en un formulario realmente puede arruinar las cosas. Por lo tanto, es probable que el proceso asuma comillas e ingrese los valores usando comillas en el DNS como debería en su nombre.
closetnoc
2
@closetnoc es correcto. Si usa comillas o no, probablemente tenga más que ver con el sitio / herramienta que usa para ingresarlas.
Vuelo de Sherwin el
Gracias, lo intentaré con las comillas incluidas primero y luego veré si el sistema arroja un error. Me pareció confuso ya que las fuentes indican que los espacios en los registros TXT hacen que cada palabra sea tratada como una cadena individual y no pude averiguar si ese era el comportamiento previsto para SPF y DKIM. Pero ahora entiendo que debe tratarse como una cadena.
Neograph734
1
Tenía citas, moví mi DNS a un nuevo proveedor (Azure DNS) y SPF dejó de funcionar. Se eliminaron las citas y todo volvió a funcionar. Por lo tanto, depende del proveedor. Asegúrese de verificar el registro. La entidad para la que está creando el registro SPF generalmente tiene una herramienta / botón para hacerlo.
nmit026

Respuestas:

13

En el archivo de zona DNS (sin formato ) , el valor de un TXTregistro debe estar entre comillas dobles si contiene espacios (como suele ser el caso con los registros SPF y DKIM). De lo contrario, los espacios son delimitadores en el archivo de Zona DNS.

RFC 1305 define cómo se deben citar los valores en la zona bien. Con respecto a TXTlos registros de recursos:

3.3.14. Formato TXT RDATA

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

dónde:

TXT-DATA Uno o más <character-string>s.

[Página 20]

<character-string>se expresa de una o dos formas: como un conjunto contiguo de caracteres sin espacios interiores, o como una cadena que comienza con un "y termina con un". Dentro de una "cadena delimitada, puede aparecer cualquier carácter, excepto un" en sí mismo, que debe citarse usando \ (barra diagonal inversa).

[Página 35]


Sin embargo, como se menciona en los comentarios, a menudo usa otra herramienta para editar registros DNS (generalmente no edita el archivo de zona DNS directamente, aunque WHM le ofrece esta opción). Esta otra herramienta probablemente manejará las comillas y cualquier escape adicional que se requiera para que el registro sea válido. Si rodea manualmente el valor entre comillas al enviar el valor utilizando su editor / herramienta, estas comillas adicionales podrían escaparse y formar parte del TXTvalor de registro.

Por cierto, cuando realiza una búsqueda de DNS, está viendo el valor de cadena analizado / sin comillas.

Referencia adicional:
https://en.wikipedia.org/wiki/TXT_Record
https://tools.ietf.org/html/rfc1464

Señor White
fuente
Sí, después de leer los comentarios, también encontré un manual en el sitio de mi registrador, indicando que los registros deben ingresarse sin comillas (aunque los tenía con comillas anteriores y los validadores en línea los marcaron como válidos, por lo que quizás ambas cosas funcionaron en mi caso ) He cambiado al formato recomendado de mi registrador. ¡Gracias por toda la ayuda!
Neograph734
Sí, Cloudflare también tiene una nota específica sobre citas support.cloudflare.com/hc/en-us/articles/…
lkraav
¿Dónde se encuentra esta regla, "si un TXTvalor contiene un espacio, debe ser entre comillas dobles"? Suena como una buena regla, pero ¿de quién es esta regla? No puedo encontrar nada al respecto en RFC 1464 o en el artículo de Wikipedia que mencionaste. (RFC 1464 menciona las comillas dobles internas que se escapan, pero eso es diferente.)
Garret Wilson
1
Ah, lo mejor que puedo decir es que este tipo de escape se define en RFC 1035 en la Sección 3.3 para la <character-string>producción, y más adelante en la sección 3.3.14 especifica que los TXTregistros tienen <character-string>datos y, por lo tanto, deben citarse. (También menciona esto para los HINFOregistros, sean cuales sean).
Garret Wilson
Sí, RFC 1305 parecería ser el lugar donde se define esto. Si edita la zona DNS sin procesar en WHM, se le indica que "debe seguir las convenciones de comillas y escapes descritas en RFC 1035". Actualizaré mi respuesta, gracias.
MrWhite