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