Systemd valida DNSSEC, pero no muestra las firmas DNSSEC a sus clientes
Durante las pruebas con DNSSEC para escribir mis artículos recientes sobre el tema, observaba comportamientos extraños cuando hacía los experimentos con mi portátil. Pedía toda la información de un dominio protegido por DNSSEC y recibía validación DNSSEC de mi resolver local, pero no me llegaban las firmas digitales asociadas. Algo incomprensible considerando que el resolver necesita disponer de esas firmas digitales para que poder hacer esa validación.
Nota
En una versión inicial de este artículo utilizaba mi dominio jcea.es para las demostraciones, pero dado que los servidores DNS autoritativos para un dominio no realizan verificaciones DNSSEC para dicho dominio (no activan el flag AD [1]), el resultado era confuso.
Es por eso que he actualizado este artículo para utilizar el dominio nic.fr.
Por ejemplo, esto es lo que veo desde mi portátil cuando pido ver las firmas digitales DNSSEC (los registros RRSIG del DNS):
jcea@jcea:~$ dig +dnssec nic.fr ; <<>> DiG 9.16.1-Ubuntu <<>> +dnssec nic.fr ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 20487 ;; flags: qr rd ra ad; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags: do; udp: 65494 ; OPT=5: 05 07 08 0a 0d 0e 0f (".......") ; OPT=6: 01 02 04 ("...") ; OPT=7: 01 (".") ;; QUESTION SECTION: ;nic.fr. IN A ;; ANSWER SECTION: nic.fr. 600 IN A 192.134.5.37 ;; Query time: 135 msec ;; SERVER: 127.0.0.53#53(127.0.0.53) ;; WHEN: mar jun 28 14:22:40 CEST 2022 ;; MSG SIZE rcvd: 74
Aquí vemos que el resolver local hace validación DNSSEC (el flag AD [1] al principio de la respuesta). Estupendo. ¡Pero no me sale la firma digital asociada!
| [1] | (1, 2, 3) El flag AD significa "authenticated data". Indica que el resolver que estamos usando está haciendo validación DNSSEC y que esa petición en concreto contiene firmas DNSSEC y son correctas. Si el dominio no usase DNSSEC, no aparecería ese flag. Si el dominio usase DNSSEC pero las firmas no fuesen correctas, el resolver local daría un error. |