O que acontece quando o seu TTL é ferrado no seu registro DNS?

13

O que acontece quando alguém obtém acesso ao seu controle DNS e define um TTL de 100 anos no seu domínio, enquanto aponta o IP para algum site obscuro?

(e você descobre tarde demais, é claro)

Dirk Boer
fonte
10
O responsável é demitido.
Xavier Lucas
5
Apenas uma breve nota: O valor máximo TTL é 2 ^ 31-1, que é um pouco mais de 68 anos :) Veja RFC 2181 .
Sven

Respostas:

21

Ryan forneceu uma excelente resposta para uma interpretação da sua pergunta. No entanto, considerando nosso público-alvo e a situação das pessoas com maior probabilidade de se deparar com a pergunta, vou responder uma pergunta diferente.

O que uma empresa faz quando um TTL ruim é liberado?

Você tem algumas opções aqui. Em primeiro lugar, porém, você precisa identificar o vetor do problema e eliminá-lo. Tentar conter o dano é inútil quando você não tem controle sobre o problema que se repete.

  1. Esperar. Se não é um registro crucial, você provavelmente pode esperar. Como Ryan cobriu, o "dano máximo" não é de 68 anos, mas na prática provavelmente será de 7 dias. Esse é o padrão mais comum para a vida útil máxima de uma entrada de cache positiva (BIND, JunOS etc.). Mesmo nos casos em que isso não é exato, é de se esperar que o servidor esteja recebendo atualizações de segurança de rotina que forçam a reinicialização do processo. Falando como operador de vários clusters grandes, não acho provável que um MSO defina isso com um valor maior de propósito: serve apenas para gerar mais consultas externas (que odiamos). Você pode ter que seguir para as próximas etapas para empresas que usam software menos popular ou operadores que se odeiam.
  2. Irritar os operadores de cache DNS. Se você precisar limpar os registros do cache o mais rápido possível, sua única opção real é começar a procurar os maiores provedores de DNS recursivo em que você pode pensar e trabalhar o seu caminho. É provável que algumas dessas empresas o ignorem: ou acham que sua empresa é muito pequena para seus clientes se importarem ou instituem políticas próprias de limpeza de cache para minimizar o número de chamadas de suporte com as quais precisam lidar. No último caso, eles provavelmente encolherão os ombros e deixarão o problema se resolver no horário agendado. Sua empresa criou esse problema para si mesma, afinal.
  3. Faça com que os clientes do ISP incomodem o ISP por você. Se já se passaram alguns dias e um ISP grande está ignorando o registro em cache, tente fazer com que um de seus clientes se queixe e gere um ticket interno para essa empresa. Isso é mais difícil para eles ignorarem, mas não ganhará nenhum favor com a equipe de operações, pois, na perspectiva deles, você fez isso consigo mesmo. Se for uma ocorrência repetida, eles provavelmente começarão a cancelar esses tickets apenas para incomodá-lo.
  4. Aconselhe seus parceiros a ignorar o registro DNS. Se for um registro DNS de missão crítica consumido por seus parceiros e nenhuma das opções acima for aceitável (ou seja, você está perdendo receita a cada minuto), sua empresa não tem escolha a não ser trabalhar com seus parceiros para contornar o problema. Se eles não controlam seu cache local, isso geralmente é feito inserindo entradas na tabela de hosts dos sistemas afetados, pois evita a necessidade de modificar os programas que estão usando o registro DNS. Isso é viável se a perda de receita estiver vinculada a algumas poucas empresas que consomem os dados. Nos demais casos, você fica com as três primeiras opções.
Andrew B
fonte
3
Como exemplo da opção 2, o DNS público do Google possui esta página para limpar seu cache.
Bardi Harborow 12/02
16

Bem, primeiro de tudo, o manual de configuração do Bind que estou analisando afirma que TTL é um número inteiro de 32 bits assinado, expresso em segundos, dando a ele um máximo teórico de 2 ^ 31. Diz

TTLs válidos estão no intervalo 0-2147483647 segundos.

Ou aproximadamente 68 anos. Portanto, você provavelmente não pode defini-lo para 100 anos em primeiro lugar.

Então, digamos que você defina para 68 anos. Está bem claro o que aconteceria. Os resolvedores de DNS que respeitassem o TTL extremamente longo em seus registros DNS os armazenariam em cache pelo maior tempo possível. Alguns resolvedores de DNS não respeitam os TTLs e apenas implementam sua própria política de armazenamento em cache da maneira que desejarem.

A razão pela qual não podemos colocar um único número fixo no máximo é porque existem muitas implementações diferentes de DNS criadas por muitos fornecedores diferentes, e todas elas usam variáveis ​​ligeiramente diferentes. Por exemplo, um servidor DNS em execução no Juniper JunOS passará apenas para 604800 segundos ou 7 dias no TTL.

Ryan Ries
fonte
Então, na verdade, isso significa que quando alguém hackeia o controle DNS da empresa X o coloca em 68 anos e encaminha o IP para o pornhub, ele realmente destruiu o nome de domínio 'para sempre' ?? : X
Dirk Boer
11
Supondo que você tenha corrigido o problema, é improvável que os servidores DNS downstream passem 68 anos sem que seus caches sejam limpos, reiniciando, por exemplo. Também é provável que os resolvedores de DNS downstream implementem sua própria idéia de "MAXTTL", que limita mais os TTLs recebidos, como 3 dias em vez de 68 anos. Leia a RFC 2308 como um exemplo do que estou falando.
Ryan Ries
4
Em relação ao BIND especificamente, ele tem um limite padrão de 7 dias. max-cache-ttl: "Define o tempo máximo pelo qual o servidor armazenará respostas normais (positivas) em cache. O padrão é uma semana (7 dias)."
Håkan Lindqvist