DNSSEC NSEC3 opt-out

5

Alguém pode, por favor, explicar, em linguagem simples, o significado do sinalizador de exclusão no NSEC3 RR. Eu li RFC 5155 e não entendi nada.

    
por Sandman4 10.05.2012 / 20:43

1 resposta

6

Os registros NSEC3 podem ser criados de duas maneiras diferentes: para todas as delegações ou apenas para delegações seguras. O sinalizador de desativação informa qual método está em uso. O motivo da sinalização é permitir que zonas muito grandes constituídas principalmente por delegações (ou seja, DPNs) não precisem gerar registros NSEC3 e seus registros RRSIG correspondentes para cada delegação. Isso é importante para um TLD como .com com cerca de 100.000.000 de delegações; assinar cada delegação faria um arquivo de zona extremamente massivo!

Não há diferença entre delegações seguras quando o bit de desativação está definido ou não.

Para delegações inseguras sem o conjunto de desativação definido, você recebe os registros NS de delegação, além do NSEC3 e do RRSIG para essa delegação. Aqui está um exemplo para house.gov, que é uma delegação insegura (nenhum registro DS fornecido) na zona .gov, que não usa o bit de desativação:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 9019
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 4, ADDITIONAL: 3
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1472
;; QUESTION SECTION:
;www.house.gov.         IN  A

;; AUTHORITY SECTION:
house.gov.      86400   IN  NS  chyron.house.gov.
house.gov.      86400   IN  NS  mercury.house.gov.
56j5jp60kq681hl5vtv287p7s16spmcp.gov. 86400 IN NSEC3 1 0 8 4C44934802D3 56K48N2V1IV9H7F4HJ05N62QI9C29JV2 NS
56j5jp60kq681hl5vtv287p7s16spmcp.gov. 86400 IN RRSIG NSEC3 7 2 86400 20120516040019 20120511040019 35464 gov. OlOx3rG7ShAptVt1XTqcXLOtInxEqyfg1b6+vBlWiqSBZ8pkfk/IOFOm 49lbKkrjY2ibw98GaMdjUYCUUDKOX+eTe+HTfxginIfJ3FWOxB+TPFn1 /UEu4QAgEkWdgpT6NbCge9vWnhSxTCYNxTolVuhWq+sp59zodbAMERVi rIdFyoNpX1zijU1tjm9j8a+jFeN7tjf2fgzJQPpk/qNMgmgfp2GerPUX 5kVkhjoXPgRkLmy2W5PwbgWP4zOTRFuLxz0PsRfoqLUHYYEXPMQ0jimW ESl1LDRnHjdQDTD1qYPBCiVNxufaewZMGhTwP901CH3FLr6Gku7ptYkD 5ukEFQ==

Se calcularmos o hash NSEC3 dado um sal de 4C44934802D3 e 8 iterações extras, é uma correspondência exata devido ao fato de que um registro NSEC3 é gerado para cada delegação:

$ nsec3.py -i 8 -s 4C44934802D3 house.gov
56J5JP60KQ681HL5VTV287P7S16SPMCP house.gov

Para delegações inseguras com o conjunto de bits de desativação, você não obterá um registro NSEC3 que forneça uma lista de tipos de registros de recursos disponíveis para esse domínio. Em vez disso, você obtém uma "prova de fechamento mais próxima", conforme descrito na seção 7.2.1 do RFC 5155 :

Este exemplo é uma delegação insegura na zona .com, que usa o sinalizador de desativação:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 48336
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 9, ADDITIONAL: 6
;; WARNING: recursion requested but not available

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags: do; udp: 512
;; QUESTION SECTION:
;www.yahoo.com.         IN  A

;; AUTHORITY SECTION:
yahoo.com.      172800  IN  NS  ns1.yahoo.com.
yahoo.com.      172800  IN  NS  ns5.yahoo.com.
yahoo.com.      172800  IN  NS  ns2.yahoo.com.
yahoo.com.      172800  IN  NS  ns3.yahoo.com.
yahoo.com.      172800  IN  NS  ns4.yahoo.com.
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN NSEC3 1 1 0 - CK0RFQAOES8CTVNVNH4G6Q85NOQAQ8I9 NS SOA RRSIG DNSKEY NSEC3PARAM
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 86400 IN RRSIG NSEC3 8 2 86400 20120515041703 20120508030703 23339 com. RiL6MRN/fPVBjpyANDKurwSgdwgkdsRdB4ADWK7YTJeY2KNnBpjOX+FT +2a/XZR2ylP+G47L8k+DrJCHuAkr1wOYcOj7goiqErDwu+Cm5HZosAL2 EyRqNOHHgTDXlG6PGgyEe2DO0jWgmkyYX7+o0jpYP0m6QNDaRuf166np nkA=
GP1945PGQIOH4O61BM3RUL2EVN04SPIA.com. 86400 IN NSEC3 1 1 0 - GPLVOUV0V27L8DPOOBNLQU1VHFRMMPUT NS DS RRSIG
GP1945PGQIOH4O61BM3RUL2EVN04SPIA.com. 86400 IN RRSIG NSEC3 8 2 86400 20120518085726 20120511074726 23339 com. VmtH/BYw8H98FJM7YLxLIG0cfReERp5eNh3+bCu7EfWgSuWXn6OXdd4b rIMloxDXe9v/fdyd7RqwDiNLMPMhp8wRJOhKcqT0MczHFEUzy0SnXM3d SABY5d1AJr8YJNL+ZOgbiT445gn7HBET3OL+G5MfZPti+yhBnUvGlPYx UQ8=

O primeiro registro NSEC3 é para o próprio domínio com (é bem fácil identificar, já que tem SOA, DNSKEY e NSEC3PARAM na lista de tipos RR. É o encloser provável mais próximo.

O segundo registro NSEC3 é "cover" do yahoo.com. Isso é para provar que um registro NSEC3 para yahoo.com não existe, pois não é uma delegação segura.

Aqui estão os hashes calculados para comparação:

$ nsec3.py com yahoo.com
CK0POJMG874LJREF7EFN8430QVIT8BSM com
GPIOV963K81D6QM6IOTOUFUAPRDA6K3V yahoo.com

A menos que você esteja executando uma zona de TLD ou outra zona com um grande número de delegações, não será necessário usar o sinalizador de desativação.

    
por 11.05.2012 / 11:27

Tags