¿Qué sucede cuando tu TTL se arruina en tu registro DNS?

13

¿Qué sucede cuando alguien obtiene acceso a su control de DNS y establece un TTL de 100 años en su dominio, mientras señala su IP a algún sitio web oscuro?

(y lo descubres demasiado tarde, por supuesto)

Dirk Boer
fuente
10
El chico a cargo es despedido.
Xavier Lucas
55
Solo una breve nota: el valor máximo de TTL es 2 ^ 31-1, que es solo un poco más de 68 años :) Ver RFC 2181 .
Sven

Respuestas:

21

Ryan ha proporcionado una excelente respuesta a una interpretación de su pregunta. Sin embargo, dada nuestra audiencia objetivo y la situación de las personas con más probabilidades de tropezar con la pregunta, voy a responder una diferente.

¿Qué hace una empresa cuando un TTL malo sale a la naturaleza?

Tienes algunas opciones aquí. En primer lugar, sin embargo, debe identificar el vector del problema y eliminarlo. Intentar contener el daño no tiene sentido cuando no tienes control sobre el problema que se repite.

  1. Espere. Si no es un registro crucial, probablemente pueda esperar. Como Ryan ha cubierto, el "daño máximo" no es de 68 años, pero en la práctica es más probable que sea de 7 días. Este es el valor predeterminado más común para la vida máxima de una entrada de caché positiva (BIND, JunOS, etc.). Incluso en los casos en que esto no sea exacto, uno esperaría que el servidor reciba actualizaciones de seguridad de rutina que obliguen a reiniciar el proceso. Hablando como operador de varios grupos grandes, no creo que un MSO establezca esto a un valor mayor a propósito: solo sirve para generar más consultas externas (lo que odiamos). Es posible que tenga que pasar a los siguientes pasos para las empresas que utilizan software menos popular u operadores que se odian a sí mismos.
  2. Molestar a los operadores de caché DNS. Si necesita borrar el registro de la memoria caché lo antes posible, su única opción real es comenzar a comunicarse con los proveedores más grandes de DNS recursivo que se le ocurran y avanzar. Es probable que algunas de estas compañías lo ignoren: o piensan que su compañía es demasiado pequeña para que sus clientes se preocupen o instituyen sus propias políticas de depuración de caché para minimizar la cantidad de llamadas de soporte que tienen que atender. En el último caso, probablemente se encogerán de hombros y dejarán que el problema se solucione a la hora programada. Su empresa creó este problema por sí misma, después de todo.
  3. Haga que los clientes de ISP molesten a su ISP por usted. Si han pasado unos días y un gran ISP está ignorando el registro en caché, intente que uno de sus clientes se queje y genere un ticket interno para esa compañía. Esto es más difícil de ignorar para ellos, pero no te hará ganar ningún favor con su equipo de operaciones ya que desde su perspectiva te hiciste esto a ti mismo. Si esto se repite, probablemente comenzarán a cancelar estos boletos solo para molestarte.
  4. Aconseje a sus socios que omitan el registro DNS. Si se trata de un registro DNS de misión crítica consumido por sus socios y ninguna de las opciones anteriores es aceptable (es decir, está disminuyendo los ingresos por minuto), su empresa no tiene más remedio que trabajar con sus socios para evitar el problema. Si no controlan su caché local, esto generalmente se logra mediante la inserción de entradas en la tabla de hosts de los sistemas afectados, ya que evita la necesidad de modificar los programas que utilizan el registro DNS. Esto solo es viable si la pérdida de ingresos está vinculada a unas pocas compañías selectas que consumen los datos. En todos los demás casos, estás atrapado con las tres primeras opciones.
Andrew B
fuente
3
Como ejemplo para la opción 2, el DNS público de Google tiene esta página para borrar su caché.
Bardi Harborow
16

Bueno, en primer lugar, el manual de configuración de Bind que estoy viendo indica que TTL es un entero de 32 bits con signo, expresado en segundos, lo que le da un máximo teórico de 2 ^ 31. Dice

Los TTL válidos están en el rango de 0-2147483647 segundos.

O aproximadamente 68 años. Por lo tanto, probablemente no pueda establecerlo en 100 años en primer lugar.

Entonces, digamos que lo configuró en 68 años. Está bastante claro lo que sucedería. Los solucionadores de DNS que respetaban el TTL extremadamente largo en sus registros DNS los almacenarían en caché durante el mayor tiempo posible. Algunos solucionadores de DNS no respetan los TTL en absoluto y solo implementan su propia política de almacenamiento en caché como lo deseen.

La razón por la que no podemos poner un solo número fijo en los máximos es porque hay muchas implementaciones diferentes de DNS creadas por muchos proveedores diferentes, y todas usan variables ligeramente diferentes. Por ejemplo, un servidor DNS que se ejecuta en Juniper JunOS solo durará hasta 604800 segundos, o 7 días, en el TTL.

Ryan Ries
fuente
Entonces, ¿eso significa que cuando alguien piratea el control de DNS de la empresa X lo pone 68 años y reenvía la IP a pornhub, en realidad ha destruido el nombre de dominio 'para siempre'? : X
Dirk Boer
11
Suponiendo que haya corregido el problema, es poco probable que los servidores DNS posteriores pasen 68 años sin que se borren sus cachés, por ejemplo, reiniciando. También es probable que los solucionadores de DNS posteriores implementen su propia idea de "MAXTTL" que pone un límite más razonable a los TTL recibidos, como 3 días en lugar de 68 años. Lea RFC 2308 como un ejemplo de lo que estoy hablando.
Ryan Ries
44
En cuanto a BIND específicamente, tiene un límite predeterminado de 7 días. max-cache-ttl: "Establece el tiempo máximo durante el cual el servidor almacenará en caché las respuestas normales (positivas). El valor predeterminado es una semana (7 días)".
Håkan Lindqvist