¿Hay una forma para que un dominio good.com
le prometa que firmará todos sus registros DNS, y que cualquier registro sin firma para cualquier host *.good.com
debe ser rechazado? En otras palabras, ¿hay una manera para que una zona proporcione una declaración firmada que indique que está protegida por DNSSEC y sugiere que los clientes de DNSSEC pueden usar la comprobación estricta de firmas para los registros DNS en esa zona?
Esto sería análogo a un registro HSTS (donde un sitio solo participa en HTTPS y sugiere que los navegadores rechacen cualquier intento de conexión a través de HTTP inseguro), o una política de SPF que opte por un control estricto (indicando que los correos electrónicos que no No cumpla con la política de SPF).
Fondo (como yo lo entiendo). En principio, DNSSEC brinda protección contra ataques de intermediarios: el cliente puede verificar si la respuesta de DNS tiene una firma válida e ignorar todas las respuestas sin firmar y las respuestas con firmas no válidas. Desafortunadamente, en la práctica, este tiene un costo de compatibilidad inaceptable . Si trata todas las respuestas no firmadas como no válidas, entonces "interrumpe Internet": algunos sitios dejan de funcionar, ya sea porque el dominio no está firmando todos los registros de forma sistemática, o (me han dicho) porque las firmas de vez en cuando se eliminan mediante middleboxes. / p>
Como resultado, por razones prácticas de implementación, muchos clientes con capacidad DNSSEC en realidad no están validando : mire la firma, pero si falta la firma, todavía aceptan la respuesta DNSSEC. (Incluso la resolución de DNS pública de Google lo hará en algunos casos .)
Esto abre un desagradable ataque de hombre en el medio: el hombre en el medio simplemente elimina todas las firmas DNSSEC, y luego modifica los registros como quiera. Si el cliente acepta respuestas de DNS sin firmar, este ataque de hombre en el medio niega el valor de DNSSEC. Por supuesto, el otro lado de esta situación infeliz es que si el cliente rechaza todas las respuestas de DNS no firmadas, entonces podría estar seguro contra ataques de intermediarios, pero muchos sitios heredados dejarán de funcionar, lo que causará un costo de compatibilidad inaceptable. Al menos, este es mi entendimiento.
Podría imaginar que una mejor solución podría ser posible si los clientes conscientes de DNSSEC tuvieran una manera de indicar qué zonas deberían usar la validación estricta de firmas. En particular, si google.com
o good.com
tenía una forma de declarar "Garantizo que todos mis registros DNS se firmarán, y quiero que trate cualquier registro no firmado como no válido", entonces un cliente que coopera podría aplicar una validación estricta a Los registros DNS para *.good.com
, mientras que no se validan para otras zonas. Esto podría permitir una buena compatibilidad con los dominios heredados al tiempo que permite la comprobación estricta de las zonas que desean optar a ella, en otras palabras, proporciona una protección parcial contra los ataques de intermediarios sin "romper Internet".
¿Existe tal mecanismo?