¿El nombre de host distingue entre mayúsculas y minúsculas?

Respuestas:

24

Los nombres resueltos desde DNS no distinguen entre mayúsculas y minúsculas. Esto es importante para evitar confusiones. Si fuera sensible a mayúsculas y minúsculas, tendríamos ocho variantes de .com (.com, .Com, .cOm, .COm, .coM, .CoM, .cOM y .COM). Los códigos de país tendrían cuatro.

Si la resolución de nombres distingue entre mayúsculas y minúsculas para Ping, DNS no lo está haciendo.

BillThor
fuente
Aparentemente se vuelve algo complicado después de que se agreguen los Nombres de dominio internacionalizados. En contextos no ASCII, el caso puede ser importante.
Zoredache
1
@Zoredache: Parece que los dominios internacionalizados que utilizan el sistema IDNA deben ser codificables en Punycode, que implica la traducción a minúsculas. También hay restricciones adicionales para garantizar que los nombres sean visualmente distintos. Además, no desea obligar a los usuarios a asegurarse de que responden correctamente.
BillThor
6

Acabo de tener esto aquí en el trabajo. El DNS no debe ser sensible a mayúsculas y minúsculas ... el RFC lo especifica. https://tools.ietf.org/html/rfc4343 pero no dice que DEBE ser minúscula.

Así que tuvimos el placer de solucionar un host que no resolvió las cosas correctamente para nuestro dominio interno "t.local"

p123$ ping p123-db.t.local
PING p123-db.t.local (192.168.106.175) 56(84) bytes of data.
....works ok

p123$ ping P123-dB.T.lOcal
ping: unknown host P123-dB.T.lOcal

¿Por qué molestarse en resolver el caso mixto? Porque eso es lo que tcpdump mostraba como la consulta DNS porque eso era lo que pedía el software en ejecución. pgbouncer se configuró para usar "p123-db" en su configuración, y resolv.conf especificó un dominio de búsqueda de "t.local" Entonces, ¿qué está confundiendo el caso?

Resulta que glibc estaba alternando el caso al azar. El proceso se denomina "relleno 0x20" y se describió por primera vez en 2008 en "Uso del bit 0x20 en etiquetas DNS para mejorar la identidad de la transacción" http://tools.ietf.org/html/draft-vixie-dnsext-dns0x20-00

El objetivo principal es aumentar la entropía para que sea más difícil falsificar una respuesta: el caso de la pregunta debe coincidir con el caso de la respuesta.

Una buena discusión se puede encontrar aquí. https://developers.google.com/speed/public-dns/docs/security?csw=1#randomize_case


Por separado, ejecutamos powerDNS internamente, y eso hace búsquedas en una base de datos. Durante años, nadie ha usado un nombre de host o FQDN en el dominio t.local con una letra mayúscula, por lo que nunca notamos que nuestro dominio interno distingue entre mayúsculas y minúsculas.

Fue corregido por algunos ajustes en la consulta, pero esto habría roto las búsquedas de mayúsculas y minúsculas 0x20 como se indicó anteriormente: el cliente puede requerir que la respuesta se devuelva en el mismo caso en que se solicitó.

Respuesta corta : DNS no debe ser sensible a mayúsculas y minúsculas, pero la pregunta y la respuesta deberán ser idénticas en el futuro.

Criggie
fuente
2
La respuesta 4 años después de la pregunta, es sutilmente diferente. Me pregunto en otros 4 años la respuesta será "sí, DNS ahora
distingue entre
4

Acabo de terminar de solucionar un problema en un dispositivo SE Linux incorporado donde la resolución del nombre del host mostraba mayúsculas y minúsculas.

"ping MYHOST" haría ping a 127.0.0.1, mientras que "ping myhost" haría ping a la dirección IP correcta.

nslookup produjo resultados correctos para mayúsculas y minúsculas, lo que indica que el servidor DNS no tuvo la culpa.

Pero a diferencia de nslookup, que ignora el caché, "getent hosts MYHOST" emite "0.0.0.0" y "getent hosts myhost" emite la dirección IP correcta.

Entonces, nscd es aparentemente sensible a mayúsculas y minúsculas. Llamar a "hosts nscd -i" para borrar el caché solucionó el problema.

MYHOST en (mayúsculas) terminó en caché con 0.0.0.0 debido a un proceso que intentaba establecer una conexión con MYHOST antes de que se creara la entrada DNS, lo que sucede cuando el dispositivo remoto obtiene su asignación de DHCP.

Andrew Weimholt
fuente
0

Como mencionó BillThor, no es sensible a mayúsculas y minúsculas en el nivel de resolución de DNS o netbios.

Los diversos sistemas operativos tampoco tendrán un problema con la carcasa diferente.

Sin embargo, las aplicaciones pueden ser conscientes de ellos. Por ejemplo, las plataformas web en los distintos entornos pueden verificar la sensibilidad a mayúsculas y minúsculas. Ahora es más común por razones de optimización de motores de búsqueda (SEO) observar diferentes carcasas y redireccionamientos. Sin embargo, todo depende de la aplicación, por lo que la respuesta es que varía.

Sin embargo, en su mayor parte, el nombre de host no es una preocupación sensible a mayúsculas y minúsculas a nivel de aplicación.

Scott Forsyth - MVP
fuente