DNS SERVFAIL e incorreto Sinalizar apenas via TCP: Servidores DNS quebrados?

1

É uma configuração ruim retornar os servidores de nomes raiz na seção adicional para uma consulta CNAME que aponta para outro domínio? Particularmente, o que estou vendo é um CNAME hospedado pela Network Solutions com o CNAME apontando para um domínio diferente & TLD.

Eu pergunto se esta é uma configuração ruim porque todos esses registros adicionais resultam em exceder o tamanho do pacote UDP forçando a consulta a ser refeita com o TCP.

dig www.unitedstatesartists.org +trace

Uma resposta do servidor de nomes:

example.org. 86400  IN      NS      ns15.worldnic.com.
example.org. 86400  IN      NS      ns16.worldnic.com.
;; Received 95 bytes from 199.249.120.1#53(b2.org.afilias-nst.org) in 79 ms

;; Warning: Message parser reports malformed message packet.
;; Truncated, retrying in TCP mode.
www.example.org. 7200 IN    CNAME   load-01-123.us-west-1.elb.amazonaws.com.
.  518400  IN      NS      a.root-servers.net.
.  518400  IN      NS      b.root-servers.net.
.  518400  IN      NS      c.root-servers.net.
.  518400  IN      NS      d.root-servers.net.
.  518400  IN      NS      e.root-servers.net.
.  518400  IN      NS      f.root-servers.net.
.  518400  IN      NS      g.root-servers.net.
.  518400  IN      NS      h.root-servers.net.
.  518400  IN      NS      i.root-servers.net.
.  518400  IN      NS      j.root-servers.net.
.  518400  IN      NS      k.root-servers.net.
.  518400  IN      NS      l.root-servers.net.
.  518400  IN      NS      m.root-servers.net.
;; Received 526 bytes from 205.178.190.8#53(ns15.worldnic.com) in 173 ms

Retornar os registros adicionais ou não é aleatório. Às vezes, quando eles não retornam o adicional, ainda há uma resposta truncada e tentativas de digitação no TCP.

example.org. 86400  IN      NS      ns15.worldnic.com.
example.org. 86400  IN      NS      ns16.worldnic.com.
;; Received 95 bytes from 199.19.56.1#53(a0.org.afilias-nst.info) in 82 ms

;; Warning: Message parser reports malformed message packet.
;; Truncated, retrying in TCP mode.
www.example.org. 7200 IN    CNAME   load-01-123.us-west-1.elb.amazonaws.com.
;; Received 107 bytes from 205.178.190.8#53(ns15.worldnic.com) in 164 ms

Atualização 2010-12-08

Com mais testes encontrados:

  • A Network Solutions responde com um SERVFAIL (falha do servidor) com uma consulta recursiva (padrão da escavação, se não + rastreamento), mas ainda fornece a resposta correta.
  • Configurar dig's + norecurse funciona bem, mas nem sempre. Às vezes, um SERVFAIL é retornado - Não é bom. Detalhes de possivelmente porque segue abaixo
  • A inclusão da
  • Network Solutions dos servidores raiz na seção autoritativa e adicional faz com que o truncamento do UDP e o TCP sejam concluídos.

Visão geral da seguinte captura:

  • Registro de solicitação não recursiva de ns15
  • Resposta ns15 inclui servidores raiz em auth e adicionais e marca a resposta como truncada
  • Solicitação não recursiva é repetida no TCP devido ao UDP truncado
  • Resposta semelhante de ns15 usando TCP, exceto que "recursão desejada" está definida incorretamente e o código "falha do servidor" também é definido

Já criamos um ticket com eles, mas veremos se ele vai para qualquer lugar. Segue-se os pacotes DNS dos detalhes do tshark anteriores:

Primeira pergunta (via UDP):

Domain Name System (query)
    Transaction ID: 0x27ef
    Flags: 0x0000 (Standard query)
        0... .... .... .... = Response: Message is a query
        .000 0... .... .... = Opcode: Standard query (0)
        .... ..0. .... .... = Truncated: Message is not truncated
        .... ...0 .... .... = Recursion desired: Don't do query recursively
        .... .... .0.. .... = Z: reserved (0)
        .... .... ...0 .... = Non-authenticated data OK: Non-authenticated data is unacceptable

Primeira resposta (via UDP):

Domain Name System (response)
    [Request In: 1]
    [Time: 0.078623000 seconds]
    Transaction ID: 0x27ef
    Flags: 0x8600 (Standard query response, No error)
        1... .... .... .... = Response: Message is a response
        .000 0... .... .... = Opcode: Standard query (0)
        .... .1.. .... .... = Authoritative: Server is an authority for domain
        .... ..1. .... .... = Truncated: Message is truncated
        .... ...0 .... .... = Recursion desired: Don't do query recursively
        .... .... 0... .... = Recursion available: Server can't do recursive queries
        .... .... .0.. .... = Z: reserved (0)
        .... .... ..0. .... = Answer authenticated: Answer/authority portion was not authenticated by the server
        .... .... .... 0000 = Reply code: No error (0)

Segunda pergunta (via TCP):

Domain Name System (query)
    Length: 56
    Transaction ID: 0xbc37
    Flags: 0x0000 (Standard query)
        0... .... .... .... = Response: Message is a query
        .000 0... .... .... = Opcode: Standard query (0)
        .... ..0. .... .... = Truncated: Message is not truncated
        .... ...0 .... .... = Recursion desired: Don't do query recursively
        .... .... .0.. .... = Z: reserved (0)
        .... .... ...0 .... = Non-authenticated data OK: Non-authenticated data is unacceptable

Segunda resposta (via TCP, observe "desejo de recursão"):

Domain Name System (response)
    [Request In: 6]
    [Time: 0.147357000 seconds]
    Length: 107
    Transaction ID: 0xbc37
    Flags: 0x8102 (Standard query response, Server failure)
        1... .... .... .... = Response: Message is a response
        .000 0... .... .... = Opcode: Standard query (0)
        .... .0.. .... .... = Authoritative: Server is not an authority for domain
        .... ..0. .... .... = Truncated: Message is not truncated
        .... ...1 .... .... = Recursion desired: Do query recursively
        .... .... 0... .... = Recursion available: Server can't do recursive queries
        .... .... .0.. .... = Z: reserved (0)
        .... .... ..0. .... = Answer authenticated: Answer/authority portion was not authenticated by the server
        .... .... .... 0010 = Reply code: Server failure (2)
    
por Rob Olmos 03.12.2010 / 11:29

1 resposta

5

Sim, é uma configuração e / ou implementação inadequadas - não há motivo para um servidor autoritário retornar referências de raiz em uma resposta válida.

Além disso, estou vendo outros erros que simplesmente não deveriam acontecer a partir desses dois servidores da Worldnic:

  • às vezes, ele fornece a resposta correta , mas com um código de erro SERVFAIL e sem o conjunto% bit_de% definido.

  • As respostas UDP são sempre truncadas em 512 bytes, mesmo com EDNS0 ( RFC 2671 ) especificado. Isso significa que o DNSSEC não funcionará com este servidor de nomes

  • Não é apenas a seção AA que é um problema, ela está colocando os servidores de nomes raiz na seção ADDITIONAL de uma resposta autoritativa ( AUTHORITY bit set).

por 04.12.2010 / 09:33