Quais são os efeitos do servidor raiz L agora publicando DURZ?

Quais são os efeitos do servidor raiz L agora publicando DURZ?

Estou curioso para saber quais são os efeitos reais do servidor raiz Lpublicando DURZ hojevai ser. Na lista de discussão do nanog,alguém disseé importante avaliar os efeitos sistêmicos dos servidores de nomes raiz que publicam zonas assinadas, mesmo quando não usam DNSSEC. Enquanto isso, as informações publicadas pelo próprio RIPE sobre as alterações no servidor raiz K dizem que hánão há problema se seus resolvedores não usarem DNSSEC. Alguém pode esclarecer isso? O DNSSEC parece ser uma teia confusa e emaranhada.

Se não ativar o DNSSEC em meus resolvedores, tenho algo com que me preocupar com as próximas alterações nos servidores raiz?

Responder1

Vocêpoderiaveja algo, mas até certo ponto isso depende de qual software DNS você está executando.

Em particular, o BIND define o bit "DNSSEC OK" (também conhecido como DO) em consultas upstream, mesmo quando não solicita especificamente registros DNSSEC ou executa validação de DNSSEC.

Nessas circunstâncias, os servidores raiz podem enviar de volta registros DNSSEC adicionais quepoderiacausar problemas no caso improvável de você ter equipamentos de rede quebrados e/ou firewalls configurados incorretamente no caminho.

Esses problemas estão relacionados principalmente ao tamanho do pacote. Alguns kits não gostam de pacotes DNS UDP que excedam 512 bytes de comprimento, seja por meio de firmware com bugs ou configurações incorretas recomendadas pelo fornecedor. Veja meuRFC 5625para mais detalhes. Observe, porém, que a maioria dos problemas relacionados ao DNSSEC que relato nessa RFC estão relacionados a equipamentos de classe de consumidor e apenas em configurações incomuns.

Observe que se o seu kit tiver problemas com pacotes UDP grandes, a alternativa é usar o TCP. No entanto, alguns profissionais de segurança (equivocados) configuram seus firewalls para desativar o DNS de saída sobre TCP, o que interrompe o substituto. VeresseRascunho da IETF para obter mais informações sobre DNS sobre TCP.

A propósito, para testar a configuração da sua rede em busca de possíveis peculiaridades de DNS, eu recomendo fortemente oexcelente Netalyzrsite do ICSI na UC Berkeley.

Para ser claro, no entanto, a maioria dos especialistas em DNS estánãoesperando problemas significativos devido à introdução do DNSSEC. Vários TLDs (incluindo .org e .se) já foram assinados e a Internet não entrou em colapso por causa disso.

A DURZ é uma tentativa deliberada de implementar gradualmente as respostas maiores que o DNSSEC inevitavelmente produz, para que os raros sites que apresentam problemas de rede possam resolvê-los antes que toda a zona raiz passe para o DNSSEC no verão.

Responder2

Uma explicação do que pode dar errado, em pseudocódigo, para quem prefere linguagens de programação imperativas :-)

-- Pseudo-código (sintaxe mais ou menos parecida com Ada) para mostrar o que acontece com
-- um resolvedor DNS quando a raiz é assinada e as respostas se tornam
-- maior.

- Informações básicas:
-- https://www.dns-oarc.net/oarc/services/replysizetest
- RFC 5625
-- Relatório SSAC nº 35 http://www.icann.org/committees/security/sac035.pdf

--Stephane Bortzmeyer

-- Variáveis ​​usadas:
-- EDNS0: booleano, indica se o resolvedor envia solicitações EDNS0
-- EDNS0_Size: número inteiro positivo, o tamanho do buffer anunciado por EDNS0
-- DO_DNSSEC: booleano, o sinalizador DO indicando suporte DNSSEC pelo resolvedor
-- Min_Response_Size: inteiro, o mínimo (depois de descartar
-- RR desnecessário) tamanho da resposta DNS enviada pela autoridade
-- servidor
-- Clean_path_for_fragments: booleano, indica que fragmentos UDP
-- pode viajar do servidor de nomes oficial para o resolvedor
-- Clean_Path_For_EDNS0: booleano, indica que as respostas do EDNS0
-- (que pode ser maior que 512 bytes) pode viajar do
-- servidor de nomes oficial para o resolvedor
-- Can_TCP: booleano, indica que o resolvedor pode perguntar através do TCP
-- (o que implica um patch TCP limpo e um servidor de nomes autoritativo
-- que aceitam TCP)

-- O código pode ser executado várias vezes para uma solicitação, por
-- instância porque um resolvedor tenta primeiro com UDP e depois tenta novamente
- com TCP.

se UDP, então - protocolo de transporte mais comum para DNS
   se EDNS0 então
      se EDNS0_Size > MTU então
         -- BIND padrão, EDNS0_size = 4096 bytes
         se DO_DNSSEC então
            -- BIND padrão, mesmo que não esteja configurado para validação
            if Min_Response_Size > MTU then -- Não é o caso hoje com o root
               se Clean_Path_for_fragments então
                  OK;
               outro
                  -- Depois de um tempo o BIND mudará para no-EDNS0, recomeçará
                  Retry("As respostas não recebidas podem ser por causa do EDNS0");
               fim se;
            elsif Min_Response_Size > 512 então
               - Nenhuma fragmentação ocorrerá
               se Clean_Path_For_EDNS0 então
                  OK; -- Esse é o caso normal e típico para um BIND
                      -- resolvedor hoje, com a raiz assinada
               outro
                  Retry("As respostas não recebidas podem ser por causa do EDNS0");
               fim se;
            else -- Não ocorrerá hoje, as respostas da raiz já são> 512
               OK;
            fim se;
         outro
            -- Sem DNSSEC, as respostas serão mais curtas, mas algumas
            -- as respostas da raiz já são> 512
            se Min_Response_Size > MTU então
               -- Improvável, sem DNSSEC
               se Clean_Path_for_fragments então
                  OK;
               outro
                  Retry("As respostas não recebidas podem ser por causa do EDNS0");
               fim se;
            elsif Min_Response_Size > 512 então
               se Clean_Path_For_EDNS0 então
                  OK;
               outro
                  Retry("As respostas não recebidas podem ser por causa do EDNS0");
               fim se;
            else -- O caso mais comum hoje, o típico não assinado
                 -- a resposta é 100-200 bytes
               OK;
            fim se;
         fim se;
      elsif EDNS0_Size >= 512 then -- Mas menor que o MTU
         se DO_DNSSEC então
            se Min_Response_Size > EDNS0_Size então
               -- Isso pressupõe que os pacotes DNS com o bit TC definido cheguem
               - com segurança, nem sempre é verdade
               Retry("Truncamento");
            elsif Min_Response_Size >= 512 então
               se Clean_Path_for_EDNS0 então
                  OK;
               outro
                  Retry("As respostas não recebidas podem ser por causa do EDNS0");
               fim se;
            else -- Não ocorrerá com frequência hoje, algumas respostas da raiz já são> 512
               OK; -- Nem sempre, algumas middleboxes podem bloquear EDNS0
                   -- respostas, mesmo com tamanho 512 então
               se Clean_Path_For_EDNS0 então
                  OK;
               outro
                  Retry("As respostas não recebidas podem ser por causa do EDNS0");
               fim se;
            outro
               OK;
            fim se;
         fim se;
      else -- EDNS0 com tamanho 512 then
         Retry("Truncamento");
      outro
         OK;
      fim se;
   fim se;
senão - TCP
   se Can_TCP então
      OK; -- Mas maior latência e maior carga em servidores de nomes autorizados
   outro
      Error("Falha no retorno para TCP"); - Falha completa e total
   fim se;
fim se;

Responder3

Outra solução para testar sua configuração, que considero muito mais simples que o Netalyzr, éTeste de tamanho de resposta OARC.

informação relacionada