SlideShare a Scribd company logo
1 of 24
Download to read offline
Firewalls e DNS
Como e por que configurar corretamente

            Hugo Koji Kobayashi
            <koji at registro.br>


                 Registro.br

         GTS-9 - 30 de Junho de 2007




                                        1 / 24
Agenda




   Principais caracter´
                      ısticas do protocolo DNS original
   Extension Mechanisms for DNS (EDNS0)
   Firewalls e DNS




                                                          2 / 24
Parte I

Principais caracter´
                   ısticas do protocolo DNS original




                                                       3 / 24
DNS - Caracter´
              ısticas originais do protocolo




    Definido nas RFCs 1034 e 1035.
    Banco de dados distribu´ atrav´s de uma arquitetura hier´rquica,
                             ıdo      e                       a
    cujo principal prop´sito ´ a resolu¸˜o de nomes de dom´
                       o     e         ca                 ınio.
    Servidores aceitam consultas em transporte TCP/UDP, porta 53.
    Payload m´ximo em transporte UDP de 512 bytes.
             a
    Payload m´ximo por mensagem DNS em TCP de 64 Kbytes.
             a




                                                                       4 / 24
Formato da mensagem DNS




                 ID, flags e contadores

                 Pergunta ao servidor

                 RRs com resposta a pergunta

                 RRs indicando autoridade sobre a pergunta

                 RRs contendo informa¸oes adicionais
                                     c~




                                                        5 / 24
Funcionamento b´sico DNS
               a




                           6 / 24
Quando TCP ´ utilizado
           e




      Transferˆncias de zona (AXFR)
              e
      Respostas com payload maior do que 512 bytes:
       1. Consulta inicial via UDP.
                                                                          1
       2. Resposta maior do que 512 bytes, flag TC                             ´ marcado para indicar que
                                                                              e
          sua resposta est´ truncada.
                           a
       3. Cliente refaz consulta via TCP.




  1
  Servidor autoritativo procura evitar o uso do flag TC removendo RRs da se¸˜o Additional da mensagem
                                                                          ca
  DNS sempre que poss´ a fim de evitar que cliente precise refazer a consulta via TCP.
                        ıvel
                                                                                                       7 / 24
Parte II

Extension Mechanisms for DNS (EDNS0)




                                       8 / 24
EDNS0 - Extension Mechanisms for DNS



   Definido na RFC 2671
   Extens˜o ao protocolo DNS original para eliminar alguns limites do
         a
   protocolo.
   Permite:
     ◮   mais flags e RCODEs ao cabe¸alho DNS
                                     c
     ◮   novos tipos de labels
     ◮   payloads maiores em transporte UDP (limitado a 64 Kbytes)
   Define um novo pseudo-RR: OPT




                                                                        9 / 24
EDNS0 - pseudo-RR OPT



                               NAME       ‘‘.’’
                               TYPE       ‘‘OPT’’
                               CLASS      Tamanho do pacote UDP
                               TTL        RCODE estendido e Flags
                               RDATA      Pares {atributo,valor}



Pseudo-RR OPT
   N˜o armazena dados de DNS como outros RRs
    a
   N˜o ´ cacheado ou armazenado em arquivo, sendo utilizado apenas
    a e
   no momento da comunica¸˜o entre servidores
                          ca



                                                                 10 / 24
EDNS0 - Como funciona?



   Depende de suporte tanto no cliente como no servidor.
   Cliente envia consulta UDP com pseudo-RR OPT na se¸˜o Additional
                                                     ca
   da mensagem DNS, informando qual o tamanho m´ximo de respostas
                                                a
   UDP que pode processar.
   Se servidor suportar EDNS0, pode aumentar o limite para o tamanho
   da resposta que vai retornar ao cliente, evitando re-query via TCP.
   Se servidor n˜o suportar EDNS0, envia resposta com at´ 512 bytes de
                a                                       e
   payload DNS.




                                                                   11 / 24
EDNS0 - Uso


   Transi¸˜o de IPv4 para IPv6:
          ca
   Existˆncia de records A e AAAA simultanemente, fazendo com que
        e
   respostas que contˆm glue records fiquem maiores.
                      e
   Por exemplo, o ”priming request”(consulta aos records NS da raiz)
   que atualmente tem 436 bytes de payload DNS, passaria a 811 bytes
   de payload DNS quando houver glue IPv6 para todos os 13 servidores
   da raiz.
   DNSSEC:
   EDNS0 ´ mandat´rio (bit “DNSSEC OK” (DO)).
          e        o
   Respostas maiores principalmente pelo tamanho de records RRSIG e
   DNSKEY.




                                                                  12 / 24
EDNS0 - Suporte em servidores




  Alguns exemplos de servidores que suportam EDNS0:
    Bind (desde 8.3.x - 2001)
    Microsoft DNS server (Windows 2003)
    NSD (auth only - desde 1.x - 2003)
    ANS/CNS




                                                      13 / 24
Parte III

Firewalls e DNS




                  14 / 24
Por que configurar corretamente?




   Garantir qualidade na resolu¸˜o DNS, ou seja, evitar atrasos e,
                                ca
   principalmente, a impossibilidade de resolu¸˜o de nomes
                                              ca
   Evitar overhead desnecess´rio em servidores DNS, tanto recursivos
                            a
   como autoritativos




                                                                       15 / 24
Firewalls e DNS



   Autoritativos:
     ◮   Consultas com destino ` porta 53 UDP e TCP do servidor autoritativo
                                 a
         e respectivas respostas devem ser permitidas.
   Recursivos:
     ◮   Consultas do servidor recursivo com destino ` porta 53 UDP e TCP de
                                                      a
         qualquer outro servidor e respectivas respostas devem ser permitidas.
     ◮   Consultas vindas de clientes autorizados com destino ` porta 53 UDP
                                                                a
         e TCP do servidor recursivo e respectivas respostas devem ser
         permitidas.
     ◮   Bloqueio `s demais consultas DNS direcionadas ao servidor recursivo.
                  a




                                                                          16 / 24
Open Recursive Resolvers


   S˜o servidores recursivos que aceitam consultas DNS vindas de
    a
   qualquer computador na Internet.
   Problemas:
     ◮   Ataques de envenenamento de cache, que levam o servidor recursivo a
         armazenar informa¸oes forjadas;
                             c˜
     ◮   Ter o servidor utilizado para ataques DDoS.
   Como resolver: a solu¸˜o recomendada ´ separar os servidores
                          ca                e
   autoritativos e recursivos em computadores distintos e limitar o
   acesso ao servidor recursivo a clientes de sua rede.
   Mais detalhes no documento do CERT.br “Recomenda¸oes para
                                                       c˜
   Evitar o Abuso de Servidores DNS Recursivos Abertos”:
   http://www.cert.br/docs/whitepapers/dns-recursivo-aberto/



                                                                         17 / 24
Firewalls e DNS/UDP > 512 bytes


Se seu servidor recursivo suporta EDNS0, verifique se seu firewall permite
datagramas UDP/DNS com mais de 512 bytes. Um teste pode ser feito
atrav´s da seguinte consulta (935 bytes de payload DNS):
     e

               dig @a.dns.br br ns +dnssec +bufsize=1000

Se a resposta n˜o for recebida, pode-se:
               a
    corrigir o comportamento do firewall;
    diminuir o payload m´ximo enviado via record OPT na configura¸˜o
                        a                                       ca
    EDNS0 do servidor para 512 bytes.




                                                                      18 / 24
Firewalls e fragmentos UDP


Se seu servidor recursivo suporta EDNS0 e o firewall suporta mensagens
DNS maiores que 512 bytes, verifique se seu firewall ´ capaz de fazer o
                                                     e
correto reassembly de datagramas UDP fragmentados. Um teste pode ser
feito atrav´s da seguinte consulta (2185 bytes de payload DNS):
           e

             dig @a.dns.br br dnskey +dnssec +bufsize=2500

Se a resposta n˜o for recebida, pode-se:
               a
    corrigir o comportamento do firewall;
    diminuir o payload m´ximo enviado via record OPT na configura¸˜o
                        a                                       ca
    EDNS0 do resolver. RFC EDNS0 sugere que se configure baseado em
    MTU de 1280 bytes.




                                                                   19 / 24
Firewalls e PMTU-D (1)



   A medida que DNSSEC for adotado, a quantidade de mensagens
   DNS maiores do que o MTU da rede tende a aumentar.
   Boa parte destas mensagens poder˜o ser transportadas via TCP.
                                   a
   Para garantir o funcionamento de PMTU-D em seus servidores, seu
   firewall e outros dispositivos de roteamento em sua rede n˜o devem
                                                            a
   descartar mensagens ICMP do tipo 3, c´digo 4 (”destination
                                           o
   unreachable”, ”fragmentation needed but don’t fragment bit set”).




                                                                   20 / 24
Firewalls e PMTU-D (2)




  1    Cliente faz consulta DNS via UDP e recebe resposta com bit TC=1. Servidor quer
       enviar resposta com payload de 2185 bytes.
  2    Cliente descarta resposta UDP e refaz a consulta usando TCP.
  3    Como MTU dos segmentos de rede do Cliente e Servidor ´ de 1500 bytes e o
                                                             e
       servidor implementa PMTU-D, este envia primeiro pacote IP com 1500 bytes e bit
       DF=1 (header IP).
  4    Quando pacote IP chega em GWISP, este descarta o pacote IP e retorna
       mensagem ICMP Can’t fragment (tipo 3, c´digo 4).
                                              o
  5    Por´m, como GWS filtra ICMP, servidor DNS n˜o o recebe e depois de algum
          e                                        a
       tempo tenta o envio novamente do pacote de 1500 bytes e bit DF=1, at´ a sess˜o
                                                                           e       a
       TCP expirar 2 . Resolu¸˜o DNS falha!
                             ca

  2
      Algumas implementa¸oes de PMTU-D detectam este tipo de situa¸˜o, mas ainda assim com perda de performance.
                        c˜                                        ca
                                                                                                                   21 / 24
Referˆncias
     e

   RFC 1034
   DOMAIN NAMES - CONCEPTS AND FACILITIES
   RFC 1035
   DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION
   RFC 1191
   Path MTU Discovery
   RFC 2181
   Clarifications to the DNS Specification
   RFC 2671
   Extension Mechanisms for DNS (EDNS0)
   RFC 2923
   TCP Problems with Path MTU Discovery
   RFC 4472 - Apˆndice B
                 e
   Operational Considerations and Issues with IPv6 DNS
   RFC 4821
   Packetization Layer Path MTU Discovery



                                                         22 / 24
Referˆncias
     e

   RFC 4033
   DNS Security Introduction and Requirements
   RFC 4034
   Resource Records for the DNS Security Extensions
   RFC 4035
   Protocol Modifications for the DNS Security Extensions
   Tutorial DNSSEC
   ftp://ftp.registro.br/pub/doc/tutorial-dnssec.pdf
   Recomenda¸oes para Evitar o Abuso de Servidores DNS Recursivos Abertos
             c˜
   http://www.cert.br/docs/whitepapers/dns-recursivo-aberto/
   Testing Firewalls for IPv6 and EDNS0 Support
   http://www.icann.org/committees/security/sac016.htm
   Testing Recursive Name Servers for IPv6 and EDNS0 Support
   http://www.icann.org/committees/security/sac017.htm
   Acommodating IPv6 Address RRs for the Root of the DNS
   http://www.icann.org/committees/security/sac018.pdf


                                                                            23 / 24
Obrigado!
Perguntas? Coment´rios?
                 a


                          24 / 24

More Related Content

What's hot

Material de apoio livro kurose cap01
Material de apoio   livro kurose cap01Material de apoio   livro kurose cap01
Material de apoio livro kurose cap01ErikHR
 
Instalação e configuração servidor dns - ubuntu server
Instalação e configuração servidor dns - ubuntu serverInstalação e configuração servidor dns - ubuntu server
Instalação e configuração servidor dns - ubuntu serverAparicio Junior
 
Para se configurar um servidor de dns no free bsd
Para se configurar um servidor de dns no free bsdPara se configurar um servidor de dns no free bsd
Para se configurar um servidor de dns no free bsdAnderson Batista Batista
 
Servidor DNS- BIND
Servidor DNS- BINDServidor DNS- BIND
Servidor DNS- BINDzbrendo
 
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª EdiçãoResolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª EdiçãoRonildo Oliveira
 
M4 tarefa video
M4 tarefa videoM4 tarefa video
M4 tarefa videogonxalox
 
DNS – domain name system
DNS – domain name systemDNS – domain name system
DNS – domain name systemMariana Amorim
 
Samba, Squid, FTP, DHCP1
Samba, Squid, FTP, DHCP1Samba, Squid, FTP, DHCP1
Samba, Squid, FTP, DHCP1SoftD Abreu
 
Redes prática - DNS Bind
Redes prática - DNS BindRedes prática - DNS Bind
Redes prática - DNS BindLuiz Arthur
 
Guia de configuração de um servidor linux para utilização em uma pequena empresa
Guia de configuração de um servidor linux para utilização em uma pequena empresaGuia de configuração de um servidor linux para utilização em uma pequena empresa
Guia de configuração de um servidor linux para utilização em uma pequena empresaSoftD Abreu
 
Samba, Squid, FTP, DHCP3
Samba, Squid, FTP, DHCP3Samba, Squid, FTP, DHCP3
Samba, Squid, FTP, DHCP3SoftD Abreu
 
pfSense - Proxy com arquivo arquivo pac e wpad
pfSense - Proxy com arquivo arquivo pac e wpadpfSense - Proxy com arquivo arquivo pac e wpad
pfSense - Proxy com arquivo arquivo pac e wpadCavalcante Treinamentos
 

What's hot (19)

Material de apoio livro kurose cap01
Material de apoio   livro kurose cap01Material de apoio   livro kurose cap01
Material de apoio livro kurose cap01
 
Instalação e configuração servidor dns - ubuntu server
Instalação e configuração servidor dns - ubuntu serverInstalação e configuração servidor dns - ubuntu server
Instalação e configuração servidor dns - ubuntu server
 
Para se configurar um servidor de dns no free bsd
Para se configurar um servidor de dns no free bsdPara se configurar um servidor de dns no free bsd
Para se configurar um servidor de dns no free bsd
 
Servidor DNS- BIND
Servidor DNS- BINDServidor DNS- BIND
Servidor DNS- BIND
 
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª EdiçãoResolução Parcial - Redes de Computadores - Kurose 6ª Edição
Resolução Parcial - Redes de Computadores - Kurose 6ª Edição
 
Camada de aplicacao parte2
Camada de aplicacao parte2Camada de aplicacao parte2
Camada de aplicacao parte2
 
M4 tarefa video
M4 tarefa videoM4 tarefa video
M4 tarefa video
 
(16) dns
(16) dns(16) dns
(16) dns
 
Cap2b
Cap2bCap2b
Cap2b
 
DNS – domain name system
DNS – domain name systemDNS – domain name system
DNS – domain name system
 
Instalação do Servidor Ubuntu 12.04 32 bits
Instalação do Servidor Ubuntu 12.04 32 bitsInstalação do Servidor Ubuntu 12.04 32 bits
Instalação do Servidor Ubuntu 12.04 32 bits
 
Samba, Squid, FTP, DHCP1
Samba, Squid, FTP, DHCP1Samba, Squid, FTP, DHCP1
Samba, Squid, FTP, DHCP1
 
Servico dns
Servico dnsServico dns
Servico dns
 
Lab 06 ping_com_udp
Lab 06 ping_com_udpLab 06 ping_com_udp
Lab 06 ping_com_udp
 
Redes prática - DNS Bind
Redes prática - DNS BindRedes prática - DNS Bind
Redes prática - DNS Bind
 
Guia de configuração de um servidor linux para utilização em uma pequena empresa
Guia de configuração de um servidor linux para utilização em uma pequena empresaGuia de configuração de um servidor linux para utilização em uma pequena empresa
Guia de configuração de um servidor linux para utilização em uma pequena empresa
 
Samba, Squid, FTP, DHCP3
Samba, Squid, FTP, DHCP3Samba, Squid, FTP, DHCP3
Samba, Squid, FTP, DHCP3
 
pfSense - Proxy com arquivo arquivo pac e wpad
pfSense - Proxy com arquivo arquivo pac e wpadpfSense - Proxy com arquivo arquivo pac e wpad
pfSense - Proxy com arquivo arquivo pac e wpad
 
Aula 5 infraestrutura - 28012012
Aula 5   infraestrutura - 28012012Aula 5   infraestrutura - 28012012
Aula 5 infraestrutura - 28012012
 

Viewers also liked

Viewers also liked (7)

Equipamentos activo
Equipamentos activoEquipamentos activo
Equipamentos activo
 
5 - segurança - firewall
5  - segurança - firewall5  - segurança - firewall
5 - segurança - firewall
 
7 - segurança - dmz vpn
7  - segurança -  dmz vpn7  - segurança -  dmz vpn
7 - segurança - dmz vpn
 
Firewall
FirewallFirewall
Firewall
 
FireWall
FireWallFireWall
FireWall
 
Firewall
Firewall Firewall
Firewall
 
Firewall
FirewallFirewall
Firewall
 

Similar to Como configurar firewalls e DNS corretamente

Similar to Como configurar firewalls e DNS corretamente (20)

R&c 05 14_3 - Protocolo IP (Parte 3)
R&c 05 14_3 - Protocolo IP (Parte 3)R&c 05 14_3 - Protocolo IP (Parte 3)
R&c 05 14_3 - Protocolo IP (Parte 3)
 
Dns Dhcp Proxy Server1
Dns Dhcp Proxy Server1Dns Dhcp Proxy Server1
Dns Dhcp Proxy Server1
 
Redes de computadores II - 5.Serviços em Redes TCP/IP
Redes de computadores II - 5.Serviços em Redes TCP/IPRedes de computadores II - 5.Serviços em Redes TCP/IP
Redes de computadores II - 5.Serviços em Redes TCP/IP
 
Aula 4 infraestrutura - 14012012
Aula 4   infraestrutura - 14012012Aula 4   infraestrutura - 14012012
Aula 4 infraestrutura - 14012012
 
Uma análise do protocolo DNS e suas extensões - Simpoets 2008 [Artigo]
Uma análise do protocolo DNS e suas extensões - Simpoets 2008 [Artigo]Uma análise do protocolo DNS e suas extensões - Simpoets 2008 [Artigo]
Uma análise do protocolo DNS e suas extensões - Simpoets 2008 [Artigo]
 
Parte2b
Parte2bParte2b
Parte2b
 
Giovaneli_-_Apresentação_ DNS ANYCAST.pdf
Giovaneli_-_Apresentação_ DNS ANYCAST.pdfGiovaneli_-_Apresentação_ DNS ANYCAST.pdf
Giovaneli_-_Apresentação_ DNS ANYCAST.pdf
 
DNS - Domain Name System
DNS - Domain Name SystemDNS - Domain Name System
DNS - Domain Name System
 
Protocolo FTP e DNS
Protocolo FTP e DNSProtocolo FTP e DNS
Protocolo FTP e DNS
 
Minicurso - Conceitos de Redes (2018)
Minicurso - Conceitos de Redes (2018)Minicurso - Conceitos de Redes (2018)
Minicurso - Conceitos de Redes (2018)
 
DNS - Aula
DNS - AulaDNS - Aula
DNS - Aula
 
Unidade1ainternet 110928173442-phpapp02
Unidade1ainternet 110928173442-phpapp02Unidade1ainternet 110928173442-phpapp02
Unidade1ainternet 110928173442-phpapp02
 
funcionamento da internet
funcionamento da internetfuncionamento da internet
funcionamento da internet
 
05 servidor dhcp
05   servidor dhcp05   servidor dhcp
05 servidor dhcp
 
05 servidor dhcp
05   servidor dhcp05   servidor dhcp
05 servidor dhcp
 
05 - Aervidor DHCP
05 - Aervidor DHCP05 - Aervidor DHCP
05 - Aervidor DHCP
 
DNS
DNSDNS
DNS
 
Protocolo dhcp
Protocolo dhcpProtocolo dhcp
Protocolo dhcp
 
Ac.m4 tarefa video-emil
Ac.m4 tarefa video-emilAc.m4 tarefa video-emil
Ac.m4 tarefa video-emil
 
Servidor dns
Servidor dnsServidor dns
Servidor dns
 

Como configurar firewalls e DNS corretamente

  • 1. Firewalls e DNS Como e por que configurar corretamente Hugo Koji Kobayashi <koji at registro.br> Registro.br GTS-9 - 30 de Junho de 2007 1 / 24
  • 2. Agenda Principais caracter´ ısticas do protocolo DNS original Extension Mechanisms for DNS (EDNS0) Firewalls e DNS 2 / 24
  • 3. Parte I Principais caracter´ ısticas do protocolo DNS original 3 / 24
  • 4. DNS - Caracter´ ısticas originais do protocolo Definido nas RFCs 1034 e 1035. Banco de dados distribu´ atrav´s de uma arquitetura hier´rquica, ıdo e a cujo principal prop´sito ´ a resolu¸˜o de nomes de dom´ o e ca ınio. Servidores aceitam consultas em transporte TCP/UDP, porta 53. Payload m´ximo em transporte UDP de 512 bytes. a Payload m´ximo por mensagem DNS em TCP de 64 Kbytes. a 4 / 24
  • 5. Formato da mensagem DNS ID, flags e contadores Pergunta ao servidor RRs com resposta a pergunta RRs indicando autoridade sobre a pergunta RRs contendo informa¸oes adicionais c~ 5 / 24
  • 7. Quando TCP ´ utilizado e Transferˆncias de zona (AXFR) e Respostas com payload maior do que 512 bytes: 1. Consulta inicial via UDP. 1 2. Resposta maior do que 512 bytes, flag TC ´ marcado para indicar que e sua resposta est´ truncada. a 3. Cliente refaz consulta via TCP. 1 Servidor autoritativo procura evitar o uso do flag TC removendo RRs da se¸˜o Additional da mensagem ca DNS sempre que poss´ a fim de evitar que cliente precise refazer a consulta via TCP. ıvel 7 / 24
  • 8. Parte II Extension Mechanisms for DNS (EDNS0) 8 / 24
  • 9. EDNS0 - Extension Mechanisms for DNS Definido na RFC 2671 Extens˜o ao protocolo DNS original para eliminar alguns limites do a protocolo. Permite: ◮ mais flags e RCODEs ao cabe¸alho DNS c ◮ novos tipos de labels ◮ payloads maiores em transporte UDP (limitado a 64 Kbytes) Define um novo pseudo-RR: OPT 9 / 24
  • 10. EDNS0 - pseudo-RR OPT NAME ‘‘.’’ TYPE ‘‘OPT’’ CLASS Tamanho do pacote UDP TTL RCODE estendido e Flags RDATA Pares {atributo,valor} Pseudo-RR OPT N˜o armazena dados de DNS como outros RRs a N˜o ´ cacheado ou armazenado em arquivo, sendo utilizado apenas a e no momento da comunica¸˜o entre servidores ca 10 / 24
  • 11. EDNS0 - Como funciona? Depende de suporte tanto no cliente como no servidor. Cliente envia consulta UDP com pseudo-RR OPT na se¸˜o Additional ca da mensagem DNS, informando qual o tamanho m´ximo de respostas a UDP que pode processar. Se servidor suportar EDNS0, pode aumentar o limite para o tamanho da resposta que vai retornar ao cliente, evitando re-query via TCP. Se servidor n˜o suportar EDNS0, envia resposta com at´ 512 bytes de a e payload DNS. 11 / 24
  • 12. EDNS0 - Uso Transi¸˜o de IPv4 para IPv6: ca Existˆncia de records A e AAAA simultanemente, fazendo com que e respostas que contˆm glue records fiquem maiores. e Por exemplo, o ”priming request”(consulta aos records NS da raiz) que atualmente tem 436 bytes de payload DNS, passaria a 811 bytes de payload DNS quando houver glue IPv6 para todos os 13 servidores da raiz. DNSSEC: EDNS0 ´ mandat´rio (bit “DNSSEC OK” (DO)). e o Respostas maiores principalmente pelo tamanho de records RRSIG e DNSKEY. 12 / 24
  • 13. EDNS0 - Suporte em servidores Alguns exemplos de servidores que suportam EDNS0: Bind (desde 8.3.x - 2001) Microsoft DNS server (Windows 2003) NSD (auth only - desde 1.x - 2003) ANS/CNS 13 / 24
  • 14. Parte III Firewalls e DNS 14 / 24
  • 15. Por que configurar corretamente? Garantir qualidade na resolu¸˜o DNS, ou seja, evitar atrasos e, ca principalmente, a impossibilidade de resolu¸˜o de nomes ca Evitar overhead desnecess´rio em servidores DNS, tanto recursivos a como autoritativos 15 / 24
  • 16. Firewalls e DNS Autoritativos: ◮ Consultas com destino ` porta 53 UDP e TCP do servidor autoritativo a e respectivas respostas devem ser permitidas. Recursivos: ◮ Consultas do servidor recursivo com destino ` porta 53 UDP e TCP de a qualquer outro servidor e respectivas respostas devem ser permitidas. ◮ Consultas vindas de clientes autorizados com destino ` porta 53 UDP a e TCP do servidor recursivo e respectivas respostas devem ser permitidas. ◮ Bloqueio `s demais consultas DNS direcionadas ao servidor recursivo. a 16 / 24
  • 17. Open Recursive Resolvers S˜o servidores recursivos que aceitam consultas DNS vindas de a qualquer computador na Internet. Problemas: ◮ Ataques de envenenamento de cache, que levam o servidor recursivo a armazenar informa¸oes forjadas; c˜ ◮ Ter o servidor utilizado para ataques DDoS. Como resolver: a solu¸˜o recomendada ´ separar os servidores ca e autoritativos e recursivos em computadores distintos e limitar o acesso ao servidor recursivo a clientes de sua rede. Mais detalhes no documento do CERT.br “Recomenda¸oes para c˜ Evitar o Abuso de Servidores DNS Recursivos Abertos”: http://www.cert.br/docs/whitepapers/dns-recursivo-aberto/ 17 / 24
  • 18. Firewalls e DNS/UDP > 512 bytes Se seu servidor recursivo suporta EDNS0, verifique se seu firewall permite datagramas UDP/DNS com mais de 512 bytes. Um teste pode ser feito atrav´s da seguinte consulta (935 bytes de payload DNS): e dig @a.dns.br br ns +dnssec +bufsize=1000 Se a resposta n˜o for recebida, pode-se: a corrigir o comportamento do firewall; diminuir o payload m´ximo enviado via record OPT na configura¸˜o a ca EDNS0 do servidor para 512 bytes. 18 / 24
  • 19. Firewalls e fragmentos UDP Se seu servidor recursivo suporta EDNS0 e o firewall suporta mensagens DNS maiores que 512 bytes, verifique se seu firewall ´ capaz de fazer o e correto reassembly de datagramas UDP fragmentados. Um teste pode ser feito atrav´s da seguinte consulta (2185 bytes de payload DNS): e dig @a.dns.br br dnskey +dnssec +bufsize=2500 Se a resposta n˜o for recebida, pode-se: a corrigir o comportamento do firewall; diminuir o payload m´ximo enviado via record OPT na configura¸˜o a ca EDNS0 do resolver. RFC EDNS0 sugere que se configure baseado em MTU de 1280 bytes. 19 / 24
  • 20. Firewalls e PMTU-D (1) A medida que DNSSEC for adotado, a quantidade de mensagens DNS maiores do que o MTU da rede tende a aumentar. Boa parte destas mensagens poder˜o ser transportadas via TCP. a Para garantir o funcionamento de PMTU-D em seus servidores, seu firewall e outros dispositivos de roteamento em sua rede n˜o devem a descartar mensagens ICMP do tipo 3, c´digo 4 (”destination o unreachable”, ”fragmentation needed but don’t fragment bit set”). 20 / 24
  • 21. Firewalls e PMTU-D (2) 1 Cliente faz consulta DNS via UDP e recebe resposta com bit TC=1. Servidor quer enviar resposta com payload de 2185 bytes. 2 Cliente descarta resposta UDP e refaz a consulta usando TCP. 3 Como MTU dos segmentos de rede do Cliente e Servidor ´ de 1500 bytes e o e servidor implementa PMTU-D, este envia primeiro pacote IP com 1500 bytes e bit DF=1 (header IP). 4 Quando pacote IP chega em GWISP, este descarta o pacote IP e retorna mensagem ICMP Can’t fragment (tipo 3, c´digo 4). o 5 Por´m, como GWS filtra ICMP, servidor DNS n˜o o recebe e depois de algum e a tempo tenta o envio novamente do pacote de 1500 bytes e bit DF=1, at´ a sess˜o e a TCP expirar 2 . Resolu¸˜o DNS falha! ca 2 Algumas implementa¸oes de PMTU-D detectam este tipo de situa¸˜o, mas ainda assim com perda de performance. c˜ ca 21 / 24
  • 22. Referˆncias e RFC 1034 DOMAIN NAMES - CONCEPTS AND FACILITIES RFC 1035 DOMAIN NAMES - IMPLEMENTATION AND SPECIFICATION RFC 1191 Path MTU Discovery RFC 2181 Clarifications to the DNS Specification RFC 2671 Extension Mechanisms for DNS (EDNS0) RFC 2923 TCP Problems with Path MTU Discovery RFC 4472 - Apˆndice B e Operational Considerations and Issues with IPv6 DNS RFC 4821 Packetization Layer Path MTU Discovery 22 / 24
  • 23. Referˆncias e RFC 4033 DNS Security Introduction and Requirements RFC 4034 Resource Records for the DNS Security Extensions RFC 4035 Protocol Modifications for the DNS Security Extensions Tutorial DNSSEC ftp://ftp.registro.br/pub/doc/tutorial-dnssec.pdf Recomenda¸oes para Evitar o Abuso de Servidores DNS Recursivos Abertos c˜ http://www.cert.br/docs/whitepapers/dns-recursivo-aberto/ Testing Firewalls for IPv6 and EDNS0 Support http://www.icann.org/committees/security/sac016.htm Testing Recursive Name Servers for IPv6 and EDNS0 Support http://www.icann.org/committees/security/sac017.htm Acommodating IPv6 Address RRs for the Root of the DNS http://www.icann.org/committees/security/sac018.pdf 23 / 24