Curitiba/PR Contato
Administração e Suporte em Ti

DNSSEC (Domain Name System Security Extensions), são especificações IETF (Internet Engineering Task Force) para proteger certos tipos de informações fornecidas pelo DNS (Domain Name System).

Fornece uma resolução de nomes mais seguro, reduzindo o risco de manipulação de dados e domínios forjados.

Realizar procedimentos como usuário root no servidor Linux

yum install -y epel-release
yum makecache fast

Agora, instalamos o haveged do repositório EPEL usando o  yum .

yum install -y haveged

Ative e inicie haveged.service .

systemctl enable --now haveged.service

Edite o arquivo de configuração BIND.

vi /etc/named.conf

Encontre e defina as seguintes diretivas nele.

    dnssec-enable yes;
    dnssec-validation yes;
    dnssec-lookaside auto;

Crie uma chave de assinatura de zona (ZSK) com os comandos a seguir.

cd /var/named
dnssec-keygen -a NSEC3RSASHA1 -b 2048 -n ZONE dominio.com.br
Generating key pair…………………….+++ ….+++
Kdominio.com.br.+007+43214

Crie uma chave de assinatura de chave (KSK) com os seguintes comandos.

dnssec-keygen -f KSK -a NSEC3RSASHA1 -b 4096 -n ZONE dominio.com.br
Generating key pair……………………………………………………………………………………..++ ……………………………………………………………………………………………………………………………………………………………………….++
Kdominio.com.br.+007+41808

Inclua as chaves geradas no arquivo de zona do dominio.

 echo "\$include Kdominio.com.br.+007+41808.key" >> dominio.com.br.db
echo "\$include Kdominio.com.br.+007+43214.key" >> dominio.com.br.db

Assine a zona usando o comando dnssec-signzone

dnssec-signzone -A -3 $(head -c 1000 /dev/random | sha1sum | cut -b 1-16) -N INCREMENT -o Kdominio.com.br -t Kdominio.com.br.db

Verifying the zone using the following algorithms: NSEC3RSASHA1.
Zone fully signed:
Algorithm: NSEC3RSASHA1: KSKs: 1 active, 0 stand-by, 0 revoked
ZSKs: 1 active, 0 stand-by, 0 revoked
edgroliv.eti.br.db.signed
Signatures generated: 42
Signatures retained: 0
Signatures dropped: 0
Signatures successfully verified: 0
Signatures unsuccessfully verified: 0
Signing time in seconds: 0.177
Signatures per second: 236.737
Runtime in seconds: 0.204

Editamos a configuração da zona para usar o arquivo dominio.com.br.signed em vez do arquivo dominio.com.br .

vi /etc/named.conf

// zone dominio.com.br
     zone "dominio.com.br" {
    type master;
    allow-transfer { 45.35.104.160; };
    also-notify { 45.35.104.160; };
    file "/var/named/dominio.com.br.db.signed";
       # DNSSEC keys Location
       key-directory "/var/named/";

       # Publish and Activate DNSSEC keys
       auto-dnssec maintain;

       # Use Inline Signing
       inline-signing yes;

// zone_end dominio.com.br

Altere o usuario dos arquivos…

chown named.named dominio.com.br.db* dominio.com.br.+007+4*

Reinicie named.service para carregar as alterações.

systemctl reload named.service

Verifique o registro DNSKEY usando o comando dig .

dig DNSKEY dominio.com.br +multiline

;; ANSWER SECTION:
dominio.com.br. 86400 IN DNSKEY 256 3 7 (
AwEAAdLr4iP48Hv36Se4GivLhsk/5xsHw558dueG2Jfh
1UZE3GpP9uc5Ldw/Hm4tcQhkFzgovzau6kSzkbUP7xE2
9Trl/+dpXBZ28GblK29PudUDUo8F8RY+KvdIyxQlTMJT
IC/CRxJbinZp+DHVR94zBaFRYPzjsocvaJSugZmLNVEJ
li9YNAmOYPWBz0qGkYsbr/LVoQxm7KiMg/aJkydHWbW0
SYEYw47JbqprPD5yHMKYTucS5TVOvcskjJXxW80uA6Vf
GGjYykdxQRMArdIixn2AWcQhcFnXMU7hlz75f0uKGpPd
C+WSqrDfYKoCGMuxxT6oRuiW3Oa4elpjDW3KKdU=
) ; ZSK; alg = NSEC3RSASHA1 ; key id = 43214

dominio.com.br. 86400 IN DNSKEY 257 3 7 (
AwEAAfBmjH3sDShGiOt0WwGgBKuN7RuPOmtfmlaH9KVI
xE8qMjwdxFQoolUvx3uBB5OQzTrFSvCihRTnSzLs2aqz
OAtdxNomk+tDD+QOVw5uHgpoFz7GYMkcXyrbmSWBslvU
8ZWtpBINy9Qc6YytzrlL2fmZ5S15Y+KvxP9Ci5xgcpRb
LeBWh1iCLfqyPCnJxmFihZHb49nceDugCupGQi9Y2I8f
hfAxKAm4tTiiFxISja19FAzKMQoKNc4XRW4VTzFVQX5k
T1f+QaTB4c2n+wfNTHKAnFoiFvdyHDmIGylkQEKPSemV
a0mIxMURWwqYil6Kcm3JHGbZ5XFWfQE3OU6mN3+XCFmn
j0itGXshwWHitNhknItFwYqt8NlgnSk9yiG/i2uXa8ko
IBDPPxHkgL22DXmEAfEGClTFuI9kSuDT+iiLggl7KswE
GLgKy0SEEJfmb1S8PjxmtH1EZlljOpyzESRGX1rFrhqq
bqtOcjbrQCfX0zFAUDSRR/Fyz/k3LrLRsImXQPXIGUDj
fB78xHWFQB8ckm7NWDfp9SSdKiPFPT4vskx93ZsFIhG9
wa0f6Ttn9/lPJ4q+3q0pl1S0ns7dxeKj0GRkszXbHbFu
/gpm2arhkepKuY9bLdGgPRnHFDOQRrID0rX6AVwtcU2E
MjAIYHzpmVN6rnu7KKmTAeoMl7r9
) ; KSK; alg = NSEC3RSASHA1 ; key id = 41808

Visualizando a chave DS, esta deverá ser informada no registro.br

(d=dominio.com.br; dig @127.0.0.1 +norecurse "$d". DNSKEY | dnssec-dsfromkey -f - "$d" | head -1)

dominio.com.br. IN DS 41808 7 1 E4B4D614D9F800C75E8C69A353398BF338F9F97z

Adicione a chave DS e atualize o serial do arquivo de zona do seu domínio antes de finalizarmos a configuração do dns Master

Reinicie o bind…

systemctl restart named.service

Agora o DNSSEC no servidor DNS escravo:

Copie os arquivos KSK e ZSK do servidor DNS master para o(s) servidor(es) DNS slave. E não esqueça de alterar o usuário dos arquivos no destino

scp Kdominio.com.br*  [email protected]:/var/named/

no(s) destino(s):

 chown named.named Kdominio.com.br*

Inclua as chaves KSK , ZSK e o registro DS em nosso arquivo de zona como feito no master.

$include Kdominio.com.br.+007+41808.key
$include Kdominio.com.br.+007+43214.key
dominio.com.br. IN DS 41808 7 1 E4B4D614D9F800C75E8C69A353398BF338F9F97z

Edite o arquivo de configuração BIND.

vi /etc/named.conf

// zone dominio.com.br
   zone "dominio.com.br" {
   type slave;
   masters { 172.107.46.199; };
   file "/var/named/slaves/dominio.com.br.db.signed";


   # DNSSEC keys Location
   key-directory "/var/named/";

   # Publish and Activate DNSSEC keys
   auto-dnssec maintain;
   
   # Use Inline Signing
   inline-signing yes;
   };
// zone_end dominio.eti.br

Reinicie named.service para carregar as alterações.

Visualize novamente a chave DS, se estiver tudo correto…

(d=dominio.com.br; dig @127.0.0.1 +norecurse "$d". DNSKEY | dnssec-dsfromkey -f - "$d" | head -1)

dominio.com.br. IN DS 41808 7 1 E4B4D614D9F800C75E8C69A353398BF338F9F97z

Agora valide utilizando as ferramentas do registro.br
https://registro.br/tecnologia/ferramentas/verificacao-de-ds/

Para finalizar, adicione a configuração DNSSEC na registro.br na seção de DNS do seu domínio