Archive

Posts Tagged ‘registro DS’

DNSSEC I

13/01/2009 1 comment

O Nic.br está oferecendo um DPN para exercícios com o DNSSEC. Trata-se do sec3.br. É de graça e vale a pena pegar um domínio. Vou exibir minha experiência com o DNSSEC usando o pegasus.sec3.br que peguei por lá.

Veja aqui boas referências iniciais e na apresentação Tutorial DNSSEC, que parece estar sempre atualizada dá para completar o exercício sem problemas. Uma detalhada referência está em DNSSEC HOWTO, a tutorial in disguise. Há um e-mail de suporte. O pouco que usei desse suporte levou-me a imaginar que é melhor saber tudo sobre DNSSEC antes de solicitá-lo.

Há um conjunto de ferramentas interessantes em DNSSEC Tools. Quando houver bastante tempo disponível, vale a pena dar uma estudada.

Suponhamos que a zona do pegasus.sec3.br esteja assim definida, no arquivo pegasus.sec3.br.zone:


$TTL 1d

@ IN SOA sn01.pegasus.sec3.br. suporte.pegasus.sec3.br. (
     2008070308 ; Versao
     3600       ; refresh (1 hora)
     1800       ; retry (30 minutos)
     604800     ; expire (7 dias)
     1800 )     ; default TTL (30 minutos)

     IN NS sn01.pegasus.sec3.br.
     IN NS sn02.pegasus.sec3.br
     IN NS sn03.pegasus.sec3.br.
     IN NS sn04.pegasus.sec3.br.
     IN NS sn05.pegasus.sec3.br.
     IN NS sn06.pegasus.sec3.br.

     IN A 192.168.1.1
     IN MX 0 pegasus.sec3.br.

pegasus.sec3.br. IN TXT “v=spf1 a mx -all”

www IN CNAME pegasus.sec3.br.
mcw IN CNAME pegasus.sec3.br.
ftp IN CNAME pegasus.sec3.br.
sn01 IN A 172.16.2.2
sn02 IN A 10.0.1.1
sn03 IN A 10.1.1.1
sn04 IN A 10.2.1.1
sn05 IN A 10.3.1.1
sn06 IN A 10.4.1.1

Há 7 etapas envolvidas no processo de preparar uma zona para o DNSSEC:

  1. Geração da chave KSK: Esta operação é executada uma única vez, desde que os resultados sejam preservados, pois as chaves nunca expiram. Executei o seguinte comando:


    dnssec-keygen -f KSK -a RSASHA1 -b 2048 -n ZONE pegasus.sec3.br

    Como resultado, se separamos um diretório para cada zona, veremos os respectivos arquivos da chave pública e privativa:


    [root@testejb pegasus.sec3.br]# ls
    Kpegasus.sec3.br.+005+07609.key Kpegasus.sec3.br.zone.+005+07609.private
    pegasus.sec3.br.zone

  2. Incluir o arquivo da chave pública KSK no arquivo de zona: Também, somente executada uma única vez. Inclua no final do arquivo de zona:



    ;; KSKs
    $include Kpegasus.sec3.+005+23658.key

  3. Assinar a zona: Esta operação deve ser executada à primeira vez logo após a inclusão do arquivo com a chave pública KSK e todas as vezes em que houver alteração na zona e/ou vencimento da assinatura. Portanto, guarde-o (eu guardo em um .txt no próprio diretório da zona). Executei o comando, onde -e 20090630200000 é a data de vencimento das chaves:


    dnssec-signzone -z -e 20090630200000 -o pegasus.sec3.br pegasus.sec3.br.zone

  4. Tratar os registros DS: Ao terminar a assinatura da zona o arquivo onde estão os registros DS é criado: dsset-pegasus.sec3.br.. Pegue as duas linhas desse arquivo e inclua no arquivo de zona pegasus.sec3.br.zone, LOGO após o último NS. Altere o sequencial da zona e assine a zona novamente, com o mesmo comando acima. Veja que irá precisar de incluir (à primeira vez) o registro DS no Registro.br. O conteúdo do arquivo dsset-pegasus.sec3.br., é mostrado abaixo e em vermelho os respectivos dados que deverão ser colocados no Registro DS 1 da zona, no Registro.br.

    pegasus.sec3.br. IN DS 22852 5 1 5773872FD2E2017C0007C8B6025F708DAB747CC2
    pegasus.sec3.br. IN DS 22852 5 2 934502EF4E4AE1F182A87F9370D86A184AEEF4C7D323AEDC80DD0FD2 BFA8C868.

  5. Assine novamente a zona: Após colocar os registros DSs, no arquivo pegasus.sec3.br.zone assine novamente a zona com o mesmo comando que usou para assinar á primeira vez , ou seja:

    dnssec-signzone -z -e 20090630200000 -o pegasus.sec3.br pegasus.sec3.br.zone. Observação: Não é necessário alterar o sequencial.

  6. Altere a referência do arquivo de zona no named.conf: Fique atento para que o novo arquivo de zona termine com .signed. Não é mandatório, mas o .signed permite, imediatamente, saber que a zona foi assinada. Faço isso, no master e em todos os secundários autoritativos. Reinicie os servidores de DNS, na ordem necessária.

  7. Alterar o registro DS do domínio, no Registro.br: Isso deve ser feito à primeira vez, somente. A figura abaixo mostra os campos a serem alterados, com base no conteúdo do arquivo dsset-pegasus.sec3.br., exibido no item 4, acima. Veja a ilustração na figura abaixo.

    Figura que ilustra os campos preenchidos, da zona, no Registro.br:
    registro-ds
  8. Alterando a zona: Ao fazer uma alteração em zona já assinada, altere o sequencial, comente as duas linhas com os registros DS, e reassine a zona, como feito acima. Em seguida, retire os comentários colocados nas linhas dos registros DS e assine novamente a zona (não precisa alterar o sequencial, nessa etapa.

Também, incluo meus domínios assinados, aqui, após a publicação do Registro.br.