• Nenhum resultado encontrado

Estudo e realização de uma instalação piloto de DNSSEC para o DNS de .PT

N/A
N/A
Protected

Academic year: 2021

Share "Estudo e realização de uma instalação piloto de DNSSEC para o DNS de .PT"

Copied!
66
0
0

Texto

(1)

Universidade de Lisboa

Faculdade de Ciˆencias

Departamento de Inform´

atica

ESTUDO E REALIZAC

¸ ˜

AO DE UMA

INSTALAC

¸ ˜

AO PILOTO DE DNSSEC PARA O

DNS DE .PT

Sara Cristina da Silva Monteiro

Mestrado em Engenharia Inform´

atica

(2)
(3)

Universidade de Lisboa

Faculdade de Ciˆencias

Departamento de Inform´

atica

ESTUDO E REALIZAC

¸ ˜

AO DE UMA

INSTALAC

¸ ˜

AO PILOTO DE DNSSEC PARA O

DNS DE .PT

Sara Cristina da Silva Monteiro

Projecto orientado pelo Prof. Dr. Miguel Pupo Correia e co-orientado por Dra Lu´ısa Gueif˜ao

Mestrado em Engenharia Inform´

atica

(4)
(5)

Declara¸

ao

Sara Cristina da Silva Monteiro, aluna no 29264 da Faculdade de Ciˆencias da Universidade de Lisboa, declara ceder os seus direitos de c´opia sobre o seu Relat´orio de Projecto em Engenharia Inform´atica, intitulado “Estudo e realiza¸c˜ao de uma instala¸c˜ao piloto de DNSSEC para o DNS de .PT” , realizado no ano lectivo de 2006/2007 `a Faculdade de Ciˆencias da Universidade de Lisboa para o efeito de ar-quivo e consulta nas suas bibliotecas e publica¸c˜ao do mesmo em formato electr´onico na Internet.

FCUL, 31 de Agosto de 2007

Lu´ısa Lopes Gueif˜ao, supervisora do projecto de Sara Cristina da Silva Mon-teiro, aluna da Faculdade de Ciˆencias da Universidade de Lisboa, declara concordar com a divulga¸c˜ao do Relat´orio do Projecto em Engenharia Inform´atica, intitulado “Estudo e realiza¸c˜ao de uma instala¸c˜ao piloto de DNSSEC para o DNS de .PT”. Lisboa, 31 de Agosto de 2007

(6)
(7)

Resumo

O DNS (Domain Name System - Sistema de Nomes de Dom´ınios) ´e uma das ferramentas fundamentais para o funcionamento da Internet que permite localizar e resolver nomes de dom´ınio em endere¸cos IP e vice-versa.

Com o crescimento da Internet e do n´umero de utilizadores os perigos e a neces-sidade para a consciencializa¸c˜ao da seguran¸ca aumentaram, revelando-se de extrema importˆancia a procura de solu¸c˜oes que garantam um ambiente mais seguro no servi¸co e na rede.

Nesse sentido desenvolveu-se internacionalmente o DNSSEC, um conjunto de extens˜oes realizadas ao protocolo DNS que permitem a verifica¸c˜ao da autenticidade e integridade dos dados e com o qual se pretende proteger a Internet e os seus utilizadores de determinado tipo de ataques.

Este projecto aborda o processo de an´alise e integra¸c˜ao das extens˜oes de segu-ran¸ca ao protocolo DNS no servi¸co de registo de dom´ınios sob a designa¸c˜ao .PT, prestado pela FCCN, com vista a alcan¸car melhorias de seguran¸ca a n´ıvel da rede nacional e contribuindo para tornar a Internet mais segura a n´ıvel global.

(8)
(9)

Abstract

In order to access Internet resources using the user-friendly domain names rather than IP addresses, users need a system to translate domain names into IP addresses. This translation is the primary task of the Domain Name System (DNS).

The Internet is the world’s largest computing network, with hundreds of million of users. As this community grows there is a need to be aware of threats and dangers and to find solutions for secure service and network environments.

In that sense, a community of Internet developers designed DNSSEC, a set of extensions to the DNS system to prevent some types of attacks against it, performing source authentication of domain name information and maintaining data integrity.

This project focus on the process of analysis and integration of the DNSSEC extensions in the .PT domain name service, handled by FCCN, in order to reach some security improvements in the national network and to give some contribution to a more secure world wide Internet.

(10)
(11)

Conte´

udo

Lista de Figuras vii

Lista de Tabelas ix 1 Introdu¸c˜ao 1 1.1 Enquadramento Institucional . . . 1 1.2 Organiza¸c˜ao do documento . . . 3 2 Objectivos 4 2.1 Ambito do projecto . . . .ˆ 4 2.1.1 Domain Name Service . . . 4

2.1.2 Vulnerabilidades de seguran¸ca . . . 7

2.1.3 Origem do DNSSEC . . . 11

2.1.4 Trabalho Relacionado . . . 12

2.2 Defini¸c˜ao dos Objectivos . . . 14

2.3 Planeamento . . . 14

2.3.1 Metodologia utilizada . . . 15

2.3.2 Calendariza¸c˜ao . . . 15

3 Trabalho Realizado 17 3.1 An´alise Funcional . . . 17

3.1.1 Criptografia e Assinaturas . . . 17

3.1.2 Extens˜oes ao protocolo DNS . . . 20

3.1.3 Algoritmos e tipos de s´ıntese de DNSSEC . . . 25

3.2 Adop¸c˜ao do DNSSEC . . . 27

3.2.1 Requisitos . . . 27

3.2.2 Novas Vulnerabilidades . . . 28

3.3 Implementa¸c˜oes Existentes . . . 30

3.4 Concretiza¸c˜ao e Testes . . . 30

3.4.1 Hierarquia org.pt assinada . . . 30

3.4.2 Resultados Obtidos . . . 33

3.5 Integra¸c˜ao com o sistema actual . . . 37

(12)

3.5.1 Gest˜ao atrav´es da interface ‘Online’ . . . 37

3.5.2 Integra¸c˜ao no protocolo EPP . . . 38

3.5.3 Informa¸c˜ao da autenticidade da delega¸c˜ao . . . 38

3.5.4 Comandos EPP . . . 38

3.6 Prepara¸c˜ao de um Workshop . . . 41

4 Sum´ario e Conclus˜oes 43 4.1 Conclus˜ao . . . 43 4.2 Trabalho Futuro . . . 44 Acr´onimos 46 Bibliografia 48 A Planeamento do Projecto i vi

(13)

Lista de Figuras

2.1 Estrutura em ´arvore do DNS . . . 5 2.2 Zona de dom´ınios . . . 6 2.3 Delega¸c˜ao de um subdom´ınio . . . 7 2.4 Vulnerabilidades do servi¸co DNS . . . 10 3.1 Criptografia . . . 18

3.2 Criptografia Assim´etrica . . . 18

3.3 Assinatura Digital . . . 20

3.4 Exemplo de um DNSKEY resource record . . . 21

3.5 Exemplo de um RRSIG resource record . . . 22

3.6 Exemplo de um NSEC resource record . . . 23

3.7 Exemplo de um DS resource record . . . 24

3.8 Segmento da zona pai assinada (zona org.pt) . . . 31

3.9 Dimens˜ao da zona vs. zona assinada . . . 33

3.10 Tempo de assinatura de uma zona . . . 34

3.11 DiG realizado a um dom´ınio assinado . . . 36

3.12 DiG realizado `a zona org.pt . . . 36

3.13 Gestor Online de dom´ınios .PT . . . 37

3.14 Comando EPP: <info> . . . 39

3.15 Comando EPP: <create> . . . 40

3.16 Comando EPP: <update> . . . 40

3.17 Convite de participa¸c˜ao no Workshop . . . 41

A.1 Calendariza¸c˜ao das tarefas (Gantt Project) . . . i

A.2 Mapa de Gantt . . . ii

(14)
(15)

Lista de Tabelas

2.1 Tipos de resource records (RRs) . . . 6

2.2 Projectos desenvolvidos e base de dados de teste . . . 12

3.1 Tipos de algoritmos . . . 26

3.2 Tipos de s´ıntese . . . 26

(16)
(17)

Cap´ıtulo 1

Introdu¸

ao

Este documento descreve o projecto realizado no ˆambito da disciplina Projecto em Engenharia Inform´atica (PEI1) do Mestrado em Engenharia Inform´atica da

Fac-uldade de Ciˆencias da Universidade de Lisboa.

Num mundo de comunica¸c˜ao global e distribu´ıda, ´e fundamental que os sistemas inform´aticos utilizados ofere¸cam cada vez mais garantias de seguran¸ca.

O projecto aborda a problem´atica da falta de seguran¸ca na utiliza¸c˜ao do servi¸co de nomes de dom´ınio (DNS) [1]. ´E apresentada uma solu¸c˜ao a algumas das vulnera-bilidades no sistema existente, utilizando a implementa¸c˜ao de extens˜oes de seguran¸ca ao DNS, DNSSEC [2].

O DNS n˜ao foi originariamente desenhado com preocupa¸c˜oes de seguran¸ca, mas perante a crescente importˆancia da informa¸c˜ao que este servi¸co fornece, tornou-se importante ao longo do percurso de expans˜ao da Internet assegurar a comunica¸c˜ao entre os sistemas inform´aticos.

O DNSSEC consiste num conjunto de normas internacionais que extendem a tecnologia DNS, fornecendo integridade e autentica¸c˜ao dos dados, com suporte a respostas assinadas criptograficamente.

Este trabalho tem como objectivo melhorar a seguran¸ca do DNS do servi¸co de registo de dom´ınios .PT [3] atrav´es da implementa¸c˜ao do DNSSEC.

1.1

Enquadramento Institucional

A FCCN [4] ´e uma institui¸c˜ao privada sem fins lucrativos designada de utilidade p´ublica que iniciou a sua actividade em Janeiro de 1987. Desde ent˜ao, com o apoio das Universidades e diversas institui¸c˜oes de I&D nacionais, a FCCN tem contribu´ıdo para a expans˜ao da Internet em Portugal.

1http://www.di.fc.ul.pt/disciplinas/pei/pei0607/

(18)

Cap´ıtulo 1. Introdu¸c˜ao 2

Como principal actividade a FCCN tem o planeamento, gest˜ao e opera¸c˜ao da Rede Ciˆencia, Tecnologia e Sociedade (RCTS), uma rede de alto desempenho para fins de investiga¸c˜ao e ensino nacional, constituindo-se assim uma plataforma de experimenta¸c˜ao para aplica¸c˜oes e servi¸cos avan¸cados de comunica¸c˜oes.

A RCTS ´e uma rede inform´atica que usa os protocolos da Internet para garantir uma plataforma de comunica¸c˜ao e colabora¸c˜ao entre as institui¸c˜oes do sistema de ensino, ciˆencia, tecnologia e cultura.

B-ON - Biblioteca Cient´ıfica Nacional, E-U - Campus Virtual, 6Net e mais recen-temente o Portal Internet Segura, s˜ao muitos dos in´umeros projectos desenvolvidos pela FCCN.

`

A FCCN, foi ainda delegada pela IANA - Internet Assigned Numbers Authority, organiza¸c˜ao depois substitu´ıda pelo ICANN - Internet Corporation for Assigned Names and Numbers, a responsabilidade pela gest˜ao do ccTLD (country code Top Level Domain) .PT, o servi¸co de registo de dom´ınios sob o dom´ınio nacional .PT.

A n´ıvel internacional, a FCCN tem vindo a participar activamente, na qualidade de membro e de interveniente, em reuni˜oes e grupos de trabalho de organiza¸c˜oes cre-denciadas no ˆambito da Internet como o ICANN e o CENTR - Council of European National Top level domain Registries.

No ˆambito das recomenda¸c˜oes emanadas por estas entidades, a FCCN pretende desenvolver trabalho no sentido de garantir tecnicamente, entre outros aspectos:

• A gest˜ao t´ecnica e administrativa do espa¸co de endere¸cos Internet sob .PT; • A correcta configura¸c˜ao e opera¸c˜ao do servidor prim´ario da zona DNS PT; • A manuten¸c˜ao de uma base de dados dos dom´ınios registados, acess´ıvel via

Internet;

• A disponibiliza¸c˜ao de dados estat´ısticos sobre o registo de dom´ınios de .PT; • A avalia¸c˜ao do servi¸co prestado `a comunidade.

O Servi¸co DNS de .PT consiste num servi¸co aut´onomo no ˆambito das actividades da FCCN e tem no seu grupo uma ´area t´ecnica de suporte ao seu trabalho de sistema de nomes de dom´ınios de .PT.

Enquadrado neste grupo, este est´agio consistiu numa primeira fase de cerca de 4 meses, no conhecimento dos diversos projectos da FCCN e no acompanhamento do trabalho do DNS de .PT, sendo posteriormente dedicado exclusivamente a este projecto.

Atento o facto do DNS ser o sistema de atribui¸c˜ao de endere¸cos IP a nomes de dom´ınios, desde logo se tornou evidente e motivador o desenvolvimento deste trabalho quer pela sua componente t´ecnica quer pelo impacto positivo e alargado que o funcionamento real de uma implementa¸c˜ao de DNSSEC potencia e garante.

(19)

Cap´ıtulo 1. Introdu¸c˜ao 3

1.2

Organiza¸

ao do documento

O relat´orio encontra-se organizado da seguinte forma:

• Cap´ıtulo 2 - “Objectivos” - apresenta os objectivos do projecto, o contexto subjacente, a metodologia utilizada e o planeamento realizado para o con-cretizar.

• Cap´ıtulo 3 - “Trabalho Realizado” - apresenta concretamente o que se fez e as ferramentas utilizadas. S˜ao aqui tamb´em apresentadas as possiblidades de tra-balho futuro e os poss´ıveis m´etodos de integra¸c˜ao das extens˜oes de seguran¸ca ao sistema actual.

• Cap´ıtulo 4 - “Sum´ario e Conclus˜oes” - apresenta um sum´ario do trabalho realizado, o que ainda est´a por realizar e as conclus˜oes tiradas com a realiza¸c˜ao do projecto.

(20)

Cap´ıtulo 2

Objectivos

Este cap´ıtulo introduz o contexto em que o projecto se enquadra, os conceitos importantes para a compreens˜ao do trabalho realizado, os objectivos e a motiva¸c˜ao que levou `a concretiza¸c˜ao deste trabalho. Apresenta tamb´em alguns trabalhos rela-cionados, com grande relevˆancia no ˆambito em que se insere este projecto.

Por fim, ´e apresentada uma sec¸c˜ao com a metodologia seguida no desenvolvi-mento do projecto bem como o planeadesenvolvi-mento efectuado para o concretizar.

2.1

Ambito do projecto

ˆ

2.1.1

Domain Name Service

A Internet existe desde que o protocolo TCP/IP (Transmission Control Proto-col/Internet Protocol) foi desenvolvido no in´ıcio dos anos 70. Tornou-se rapidamente o protocolo padr˜ao de rede no ARPANET. Desde ent˜ao a rede tem crescido de cen-tenas para milh˜oes de utilizadores.

Desde cedo que os computadores ligados entre si em rede tiveram a necessidade de sistemas que os permitissem identificarem-se rapidamente, para tal, todos os computadores passaram a ter um nome associado. Esses nomes na Internet no entanto eram inicialmente inclu´ıdos num ´unico ficheiro designado “hosts.txt”que tinha de ser instalado em todos os computadores que faziam parte da rede.

O Stanford Research Institute Network Information Center (SRI-NIC) tornou-se na autoridade respons´avel por gerir e distribuir esse ficheiro. Mais tarde, a necessi-dade de um ´unico dom´ınio para cada computador e um espa¸co de nomes hier´arquico preparou o lan¸camento de um novo protocolo de rede que viria preencher todos os requisitos da Internet em crescente expans˜ao.

(21)

Cap´ıtulo 2. Objectivos 5

Em adi¸c˜ao ao TCP/IP, dois grandes protocolos foram desenhados nos anos 80 para permitir que o crescimento da rede ocorresse com maior facilidade. Estes protocolos s˜ao o DNS (Domain Name Service) e BGP (Border Gateway Protocol). Juntos, estes trˆes protocolos compoˆem o n´ucleo de infrastrutura da Internet.

P. Mockpetris desenhou o sistema de servi¸co de nomes de dom´ınios (DNS) com vista `a estabilidade e robustez mas sem preocupa¸c˜oes de seguran¸ca [1]. A nova ideia surgiu por forma a n˜ao haver uma ´unica entidade respons´avel pelo ficheiro de nomes mas sim uma imensidade de entidades.

O novo sistema DNS, baseado no conceito de descentraliza¸c˜ao, tem trˆes grandes componentes: a base de dados; o servidor; e o cliente. A base de dados ´e distribu´ıda e cont´em os resource records (RRs) dos dom´ınios que definem a zonas de dom´ınios numa ´arvore DNS, como a apresentada na Figura 2.1. Estes RRs s˜ao registos de recurso que delegam a autoridade de configura¸c˜ao de uma zona a uma determinada entidade.

Figura 2.1: Estrutura em ´arvore do DNS

A tarefa de atribuir nomes a servidores e dom´ınios de rede ´e conseguida criando um rela¸c˜ao hier´arquica entre os dom´ınios, com os servidores como ´ultimos descen-dentes da cadeia e uma raiz (“root”) artificial como topo desta.

Adicionando etiquetas de nomes umas a seguir `as outras criando um caminho do servidor at´e `a raiz, numa forma de ´arvore hier´arquica, um identificador ´unico, memoriz´avel e de f´acil utiliza¸c˜ao ´e criado e designa-se de nome de dom´ınio.

O DNS providencia resolu¸c˜ao em ambas as direc¸c˜oes, isto ´e, dado um dom´ınio, devolve o endere¸co IP apropriado e vice versa, atrav´es da utiliza¸c˜ao dos resource

(22)

Cap´ıtulo 2. Objectivos 6

records. Estes RRs fazem parte da configura¸c˜ao dos dom´ınios e encontram-se ar-mazenados em ficheiros de zona que cont´em os dados necess´arios para resolver os pedidos de nomes associados ao dom´ınio da qual a zona ´e respons´avel. A Tabela 2.1 lista alguns dos principais tipos de RRs que se podem encontrar nos ficheiros de zona presentes nos servidores DNS:

SOA Autoridade para os dados do dom´ınio NS Servidor de nomes para o dom´ınio A Endere¸co IP (Internet Protocol)

PTR DNS Reverso, de endere¸cos IP para nomes CNAME Nome can´onico (Alias)

TXT Informa¸c˜oes textuais WKS Well-Known Services

HINFO Informa¸c˜ao do servidor (Host Information) MX Mail Exchanger

Tabela 2.1: Tipos de resource records (RRs)

O espa¸co de nomes de dom´ınio ´e uma especifica¸c˜ao de uma ´arvore estruturada (ver Figura 2.2). A raiz da ´arvore trata-se da raiz do dom´ınio seguida pelos seus filhos, os dom´ınios de topo (TLD), que podem conter diversos n´ıveis de subdom´ınios at´e um total de 127, e o nome completo de dom´ınio n˜ao pode ultrapassar os 255 caracteres.

(23)

Cap´ıtulo 2. Objectivos 7

Os nomes de dom´ınios consistem na concatena¸c˜ao das etiquetas de cada n´o (dom´ınios) separadas por ponto, no caminho que vai desde a folha, que representa a m´aquina actual, at´e `a raiz. Os dom´ınios s˜ao sub-´arvores do espa¸co de nomes.

No exemplo da Figura 2.2, “dnssec.org.pt” ´e o nome de dom´ınio de um n´o cujo nome ´e ‘dnssec’, o seu pai ´e ‘org’, o seu avˆo ´e ‘pt’ e o seu bisavˆo a raiz.

Uma zona ´e um conjunto de dom´ınios, subdom´ınios e m´aquinas, a quem foi delegada autoridade de gest˜ao pelo n´ıvel hierarquicamente superior e tamb´em inclui todos os nomes de dom´ınio de n´ıveis inferiores que ainda n˜ao tenham sido delegados. Na Figura 2.3 ´e exemplificada uma delega¸c˜ao de um subdom´ınio onde s˜ao indi-cados os RRs do servidor de nomes (NS) e o respectivo endere¸co IP.

Figura 2.3: Delega¸c˜ao de um subdom´ınio ´

E superior hier´arquico de todas as zonas, o n´ıvel m´aximo dos dom´ınios de topo, este denomina-se de raiz e ´e representa-se simbolicamente com um ponto.

Uma zona pode ter v´arios servidores de DNS e cada servidor de DNS servir mais do que uma zona. No entanto, um mesmo servidor DNS n˜ao pode servir duas zonas hierarquicamente relacionadas. Isto ´e, n˜ao pode ser servidor DNS da zona A e B simultaneamente, se a zona A delegou autoridade na zona B, ou se a zona B delegou autoridade na zona A.

2.1.2

Vulnerabilidades de seguran¸

ca

´

E do conhecimento geral que o servi¸co de nomes DNS, consistindo num protocolo de comunica¸c˜ao de elevada importˆancia para o funcionamento de infra-estruturas globais como a Internet, apresenta in´umeras fragilidades.

A resolu¸c˜ao de nomes ´e um dos aspectos mais cr´ıticos de interac¸c˜ao entre pessoas, servi¸cos e m´aquinas. No universo da Internet existem in´umeros servidores de nomes, com graus de abrangˆencia muito distintos, que est˜ao permanentemente envolvidos quando se trata de estabelecer uma interac¸c˜ao entre duas entidades, sejam elas pessoas, servi¸cos ou m´aquinas.

A interferˆencia com o servi¸co DNS permite realizar ataques de personifica¸c˜ao de m´aquinas ou servi¸cos. A personifica¸c˜ao de servi¸cos, ou m´aquinas onde os mesmos se executam, consiste em enganar os seus clientes e lev´a-los a comunicar com um

(24)

servi-Cap´ıtulo 2. Objectivos 8

dor impostor. Para isso h´a que conduzir a comunica¸c˜ao do cliente para o servidor impostor sem que o cliente e o servidor leg´ıtimo se apercebam.

Uma forma de efectuar personifica¸c˜oes de servidores ´e registando nomes DNS fraudulentos, aparentando representar uma entidade que efectivamente, n˜ao rep-resentam. ´E relativamente f´acil enganar utilizadores fornecendo-lhes nomes DNS cred´ıveis mas enganadores.

Uma outra forma de promover o uso de servidores falsos ´e interferir com o pro-cesso de resolu¸c˜ao de nomes DNS. Este processo ´e conhecido como DNS spoofing.

A especifica¸c˜ao inicial do DNS n˜ao contemplava quaisquer pol´ıticas ou mecan-ismo de seguran¸ca para evitar ataques `a resolu¸c˜ao de nomes. Pelo contr´ario, o seu desenho contemplou fundamentalmente aspectos de efic´acia, eficiˆencia e escal-abilidade. Por este facto, essa especifica¸c˜ao possu´ıa diversas vulnerabilidades de seguran¸ca que foram exploradas aos longo dos anos para induzir erros na resolu¸c˜ao de nomes DNS. Como reac¸c˜ao, apareceram diversas pol´ıticas e mecanismos que procuram eliminar e minizar esses riscos, como ´e o caso das extens˜ao de seguran¸ca DNSSEC [5].

A t´ecnica mais frequente para efectuar DNS spoofing passa pelo envenenamento de caches DNS (DNS cache poisoning). O princ´ıpio ´e simples: quando um servidor DNS pede a outro que lhe resolva um nome a resposta ´e autenticada de forma fraca. Qualquer um pode enviar respostas falsas para um servidor DNS e, se as mesmas forem aceites, introduzir resolu¸c˜oes de nomes erradas. Como os servidores DNS, por raz˜oes de eficiˆencia, v˜ao guardar essa informa¸c˜ao em cache (mem´oria tempor´aria) durante algum tempo, tempo esse que depende do servidor e da informa¸c˜ao afecta ao nome, enquanto a informa¸c˜ao errada estiver em cache esta ´ultima est´a “envenenada” e permite efectuar DNS spoofing.

O envenenamento da mem´oria de cache pode ser aplicado maliciosamente para fins como:

• Indisponibilidade do servi¸co (DoS - Denial of Service); • Personifica¸c˜ao de entidades de confian¸ca;

Transferˆencia de zona

Pelo papel importante que as zonas desempenham no DNS, pretende-se que estas estejam dispon´ıveis aos clientes DNS a partir de mais de que um servidor de DNS na rede para fornecer disponibilidade e tolerˆancia a falhas aquando da resolu¸c˜ao de consultas de nomes. Caso contr´ario, se for utilizado um servidor ´unico e este n˜ao estiver a responder, as consultas de nomes na zona poder˜ao falhar.

(25)

Cap´ıtulo 2. Objectivos 9

Para os servidores adicionais hospedarem uma zona, ´e necess´ario que as trans-ferˆencias de zona efectuem a replica¸c˜ao e sincronizem todas as c´opias da zona uti-lizada em cada servidor configurado para hospedar a zona.

Quando ´e adicionado um novo servidor de DNS `a rede e ´e configurado como um servidor secund´ario para uma zona existente, este efectua uma transferˆencia inicial total da zona para obter e replicar uma c´opia completa dos resource records da zona. Mas por vezes ocorrem ataques que visam a obten¸c˜ao da zona por meio de transferˆencia da mesma para futuras modifica¸c˜oes ou exposi¸c˜ao da informa¸c˜ao para interpreta¸c˜ao da arquitectura do sistema. Deve-se, portanto, limitar os sistemas que podem fazer a transferˆencia de zona dos seus servidores de nomes.

Envenenamento da mem´oria tempor´aria DNS

Seguindo o exemplo que se apresenta, vejamos como ´e que uma t´ecnica de DNS spoofing pode funcionar:

Um utilizador quer ligar-se a um servidor remoto ‘A’ com um cliente telnet. A aplica¸c˜ao do cliente telnet questiona o cliente DNS (Resolver) para determinar o endere¸co IP do servidor ‘A’. O cliente recebe uma resposta falsa do servidor DNS que o encaminha para um servidor remoto gerido pelo atacante (que alterou previamente na mem´oria cache do servidor DNS um endere¸co IP incorrecto). Por causa dos dados manipulados, a aplica¸c˜ao telnet inicia uma sess˜ao TCP com o servidor errado ‘B’. O utilizador n˜ao se apercebe e envia o seu login e password directamente para o atacante. O atacante atinge assim o seu objectivo e restaura a liga¸c˜ao. O utilizador recebe uma mensagem de erro e repete a sua tentativa de login, desta vez com sucesso, porque desta vez o cliente DNS obteve o endere¸co de IP correcto da resposta ao servidor ‘A’ que n˜ao se encontra manipulado.

O cen´ario demonstrado torna claro que quando um atacante corrompe um servi-dor DNS com informa¸c˜ao maliciosa pode redireccionar tr´afego sempre que quiser, para onde quiser. Isto ´e poss´ıvel porque quase todas as aplica¸c˜oes dependem da resolu¸c˜ao de nomes para endere¸cos providenciada pelo DNS. As t´ecnicas de redirec-cionamento do tr´afego da rede por manipula¸c˜ao da informa¸c˜ao do DNS s˜ao conheci-das como “DNS hijacking”, “DNS spoofing” ou “DNS poisoning”.

Ao longo dos anos os atacantes registaram os seus pr´oprios servidores de DNS e manipularam servidores DNS bem conhecidos. Um servidor DNS manipulado que est´a a responder a mensagens poder´a incluir dados na sec¸c˜ao adicional, que n˜ao est˜ao directamente relacionados com a resposta. O servidor de DNS n˜ao desempenha nenhuma verifica¸c˜ao para assegurar que esta sec¸c˜ao adicional est´a correcta ou at´e relacionada de algum modo com a resposta.

(26)

Cap´ıtulo 2. Objectivos 10

Tipos de Ataques DNS

O servi¸co DNS tem um determinado conjunto de vulnerabilidades, existindo alguns principais pontos de ataque, tais como:

• “Cache Spoofing” - Corrup¸c˜ao da informa¸c˜ao em cache consiste na introdu¸c˜ao de dados com falsa informa¸c˜ao na mem´oria de cache, de modo a possibili-tar que um atacante redireccione um determinado dom´ınio para um servidor pr´oprio, recebendo assim todas as informa¸c˜oes que os utilizadores enviarem, inclusivamente senhas de acesso.

• “Traffic diversion” - Dispers˜ao de tr´afego ´e um ataque que gera o consumo de largura de banda e sobrecarga na rede e dos recursos do sistema;

• “Distribuited denial-of-service (DDoS)” - Ataque distribu´ıdo de nega¸c˜ao de servi¸co nos servidores de nomes;

• “Buffer Overruns” - Consultas recursivas a um dom´ınio causando overflow do buffer provocando a paragem do sistema ou produ¸c˜ao incorrecta de resultados; Estes problemas de seguran¸ca necessitam de solu¸c˜ao de modo a assegurar um servi¸co mais confiado e fidedigno. A Figura 2.4 representa um fluxo de transmiss˜ao de dados DNS e ilustra como ´e que alguns dos ataques `as vulnerabilidades mais conhecidas do DNS actuam nos diversos componentes do sistema.

(27)

Cap´ıtulo 2. Objectivos 11

O DNSSEC previne um tipo de ataque espec´ıfico, o envenenamento de cache do DNS, para tal, permite que os servidores de DNS consigam autenticar as respostas das resolu¸c˜oes de nomes. Se um atacante conseguir falsificar um endere¸co IP de um determinado site, o servidor DNS usando o DNSSEC, poder´a verificar que a resposta n˜ao ´e a correcta e saber´a que deve descart´a-la e tentar descobrir o novamente o endere¸co real do site at´e obter uma resposta v´alida.

2.1.3

Origem do DNSSEC

Em resposta `as vulnerabilidades de seguran¸ca do DNS, o IETF (Internet En-gineering Task Force) formou um grupo de trabalho para adicionar extens˜oes da seguran¸ca (DNSSEC) ao protocolo existente [6].

Estas extens˜oes ao protocolo original consistem numa hierarquia de assinaturas criptogr´aficas que providenciam autentica¸c˜ao da origem dos dados e integridade nas mensagens DNS e autentica¸c˜ao da resposta da n˜ao existˆencia de um dom´ınio. Estas medidas protegem contra mem´orias cache e transmiss˜oes modificadas contribuindo para a seguran¸ca do utilizador final, e por consequˆencia aumenta a confian¸ca deste no uso da Internet e nos sistemas (detalhes na sec¸c˜ao 3.1.2).

A fim de ganhar aceita¸c˜ao, o grupo de trabalho reconheceu que o DNSSEC deve fornecer compatibilidade e deve ter a possibilidade de coexistir com implementa¸c˜oes de DNS n˜ao seguras. Isto permite que os dom´ınios migrem para DNSSEC quando estiverem preparados e permite menos complexidade quando forem efectuadas ac-tualiza¸c˜oes. Significa tamb´em que o software do lado do cliente, que n˜ao tenha suporte ao DNSSEC, consiga tamb´em processar correctamente os dados recebidos de um servidor de nomes com DNSSEC.

Apesar de estar em desenvolvimento h´a mais de 10 anos, o DNSSEC ainda n˜ao est´a a ser implementado na grande maioria das organiza¸c˜oes. Quanto maior a Internet se torna, maior ´e a complexidade que a implementa¸c˜ao do DNSSEC tem e este problema incluiu quest˜oes como desempenho, gest˜ao de chaves e aspectos organizacionais.

As raz˜oes do atraso de uma implementa¸c˜ao de DNSSEC em clientes de DNS re-side na necessidade de bibliotecas de programa¸c˜ao que providenciem os mecanismos definidos nos novos RFCs (Request for Comments). Infelizmente a biblioteca LWRL (Lightweight Resolver Library), que vem com a distribui¸c˜ao do BIND (Berkeley In-ternet Name Domain) vers˜ao 9, n˜ao ´e suficiente para estes requisitos.

O BIND, tendo sido inicialmente designado como Berkeley Internet Name Dae-mon, ´e uma ferramenta para o protocolo DNS das mais utilizado na Internet, es-pecialmente em sistemas do tipo Unix, sendo considerado, praticamente, como uma ferramenta padr˜ao. Foi criado por quatro estudantes da Universidade de Berkeley

(28)

Cap´ıtulo 2. Objectivos 12

com o objectivo de garantir competitividade com as ofertas de servidores DNS da Microsoft e actualmente ´e suportado e mantido pelo Internet Systems Consortium. Para a vers˜ao 9, o BIND foi praticamente redefinido, passando a suportar, entre outras funcionalidades, a extens˜ao DNSSEC e os protocolos TSIG [7] e IPv6. As extens˜oes de seguran¸ca DNSSEC foram financiadas por militares que perceberam a importˆancia da seguran¸ca nos servidores DNS. No entanto, as especifica¸c˜oes de Olaf Kolkman’s para DNSSEC na linguagem Perl [8] s˜ao as ´unicas a cumprir correcta-mente as especifica¸c˜oes do RFC.

A vers˜ao corrente do DNSSEC foi publicada em Mar¸co de 2005 e est´a dispon´ıvel nestes 3 documentos: RFC4033 [9], RFC4034 [10] e RFC4035 [11].

2.1.4

Trabalho Relacionado

Projectos piloto de concretiza¸c˜ao do DNSSEC foram bem cedo submetidos pela Holanda e pela Su´ecia. A Su´ecia foi o primeiro TLD (Top-level domain) a assinar a sua zona. Os projectos iniciais resultaram em experiˆencias pr´aticas de desenvolvi-mento, prepara¸c˜ao de material de treino e uma maior compreens˜ao de algumas das limita¸c˜oes da especifica¸c˜ao e esclarecimento de quest˜oes em aberto.

Esta experiˆencia tem sido expandida pela recente publica¸c˜ao do Sweden’s Na-tional Post and Telecom Agency, Post-och Telestyrelsen, dos seus testes de imple-menta¸c˜ao e administra¸c˜ao do DNSSEC num subdom´ınio do dom´ınio .SE.

A Tabela 2.2 apresenta alguns projectos j´a desenvolvidos:

Nome URL

DNSSEC(.se) http://dnssec.nic.se/

Infrastructure DNSsec et Applications http://www.idsa.prd.fr/index.php NeuStar Pilot in .US (concluded) http://www.potaroo.net/iepg/november

2004/DNSSECtrial-in-us.pdf

NIST Advanced Network http://www.antd.nist.gov/iipp.shtml Technologies Division, http://www-x.antd.nist.gov/dnssec Internet Infrastructure Protection,

Domain Name Security Project

NLnetLabs DNSSEC HOWTO https://www.ripe.net/projects/disi Root Server Testbed Network http://www.rs.net/

Internet2 Cross-Signing Pilot http://www.dnssec-deployment.org/internet2/ DNS Security (DNSSEC) Testbed http://www.pir.org/RegistrarResources/

DNSSecurityTestbed.aspx

registro.br DNSSEC http://registro.br/info/dnssec.html Tabela 2.2: Projectos desenvolvidos e base de dados de teste

(29)

Cap´ıtulo 2. Objectivos 13

Alguns dos desenvolvimentos principais desde o lan¸camento dos RFCs em Mar¸co de 2005 incluem o seguinte:

• .SE, o Registry nacional da Su´ecia [12] que foi o primeiro ccTLD a implementar DNSSEC na sua zona, lan¸cou o servi¸co comercial de DNSSEC [13];

• RIPE NCC, o fornecedor de servi¸cos da infraestrutura da Internet Europeia, implementou o DNSSEC na ´arvore reversa;

• O segundo ccTLD a disponibilizar o servi¸co de DNSSEC na sua zona foi o Registry de Puerto Rico (.PR) com toda a zona assinada;

• O Registry da Bulg´aria (.BG) tem mais de 30 delega¸c˜oes de zonas assinadas e seguras;

• NIC M´exico e Tecnol´ogico de Monterrey Campus Monterrey patrocinaram o DNSSEC M´exico experimental para permitir aos seus membros experimentar e tornar-se familiares com a tecnologia e para analisar as introdu¸c˜oes opera-cionais e t´ecnicas de uma distribui¸c˜ao do futuro DNSSEC em .MX;

• Internet2, um cons´orcio das principais universidades dos E.U., laborat´orios de pesquisa e parceiros internacionais, iniciaram um projecto piloto e orga-nizaram um grupo de trabalho que se encontra mensalmente por meio de video-conferˆencia e nos workshops e conferˆencias dos membros Internet2; • .ORG manteve um testbed para permitir aos seus registrars testarem sistemas

com suporte a DNSSEC;

• .AERO expressou o interesse em desenvolver o DNSSEC embora planos firmes ainda n˜ao tenham sido anunciados;

• A Microsoft anunciou planos para fornecer suporte DNSSEC nos seus servi-dores DNS no service pack 1 do Longhorn, espera-se que fique dispon´ıvel em 2008;

• O National Institute of Standards and Technology dos Estados Unidos (NIST), um dos parceiros da iniciativa de coordena¸c˜ao do desenvolvimento, realizou o lan¸camento de uma Publica¸c˜ao Especial 800-53, revis˜ao 1, Controlos Re-comendados da Seguran¸ca para Sistemas de Informa¸c˜ao Federal em Dezembro de 2006. O guia inclui um plano para uma distribui¸c˜ao inicial da tecnolo-gia DNSSEC dentro dos sistemas inform´aticos federais e especifica controlos m´ınimos da seguran¸ca necess´arios para complementar os Padr˜oes Federais de Processamento de Informa¸c˜ao (FIPS) requeridos pela Informa¸c˜ao Federal de Gest˜ao da Seguran¸ca (FISMA). As agˆencias federais dos Estados Unidos ter˜ao

(30)

Cap´ıtulo 2. Objectivos 14

um ano ap´os a publica¸c˜ao final para ficarem em conformidade com os novos padr˜oes. (Para mais informa¸c˜ao, ver a implementa¸c˜ao do projecto da FISMA, http://csrc.nist.gov/sec-cert/);

• O dom´ınio de topo do Brasil .br [14] j´a ´e uma zona assinada com DNSSEC desde o in´ıcio do mˆes de Junho, tratando-se do terceiro ccTLD operacional com extens˜oes de seguran¸ca ao DNS. O t´ecnico respons´avel Frederico Neves reporta que o ccTLD .br, assim como 4 das suas hierarquias (zonas filhas), foram assinadas a 4 de Junho e espera-se que zonas adicionais venham a ser assinadas num futuro pr´oximo. A chave p´ublica (KSK) encontrar-se em https://registro.br/ksk/, e a publica¸c˜ao de chaves DNSSEC de .br e as pol´ıticas de gest˜ao est˜ao dispon´ıveis em http://registro.br/info/dnssec-policy-en.html.

2.2

Defini¸

ao dos Objectivos

Uma vez apresentado o ˆambito do projecto, torna-se agora necess´ario definir qual o seu foco e o que se pretende atingir.

As vulnerabilidades de seguran¸ca do protocolo DNS base e os recentes desen-volvimentos nesta ´area por parte de outras entidades gestoras de dom´ınios de topo movem-nos no sentido de preparar de imediato todos os procedimentos necess´arios para fornecer este novo servi¸co aos detentores de dom´ınios .PT. No entanto, o DNSSEC ainda tem algumas quest˜oes por resolver e a sua adop¸c˜ao tem implica¸c˜oes a ter em conta para a garantia de um bom funcionamento do servi¸co e da rede nas organiza¸c˜oes.

Com este trabalho pretende-se fazer uma an´alise detalhada dos efeitos da im-plementa¸c˜ao do DNSSEC no servi¸co prestado pela entidade gestora do dom´ınio de topo .PT [3] bem como da necessidade de adop¸c˜ao de novos processos de trabalho. Este projecto ser´a a base de prepara¸c˜ao para a poss´ıvel entrada em produ¸c˜ao do novo servi¸co bem como a base de decis˜ao em se avan¸car nesse sentido.

2.3

Planeamento

Esta sec¸c˜ao explica como foi projectado, organizado e escalonado o trabalho. V´arios factores foram tidos em conta na defini¸c˜ao do projecto e o modo como este seria concretizado. Estes aspectos s˜ao fundamentais no desenvolvimento de um projecto e assentam nos fundamentos de engenharia de software.

(31)

Cap´ıtulo 2. Objectivos 15

2.3.1

Metodologia utilizada

Depois do est´agio ter sido atribu´ıdo seguiu-se um per´ıodo de levantamento de in-forma¸c˜ao e an´alise de solu¸c˜oes existentes para o problema da seguran¸ca do protocolo DNS e viabilidade da implementa¸c˜ao das extens˜oes de seguran¸ca (DNSSEC).

O estudo comparativo das v´arias implementa¸c˜oes j´a existentes permitiu uma maior consciencializa¸c˜ao do desenvolvimento deste protocolo, o que desencadeou todo o processo de an´alise t´ecnica e defini¸c˜ao de requisitos funcionais e t´ecnicos necess´arios `a instala¸c˜ao piloto de DNSSEC no sistema de registo de dom´ınios de .PT.

Tratando-se de uma instala¸c˜ao piloto e em processo de estudo comportamental n˜ao foi contactada nenhuma entidade externa para a ades˜ao a este servi¸co, mas foram criados internamente dom´ınios de teste com os quais se procedeu de forma a entender todos os requisitos necess´arios a ter em conta no lan¸camento oficial deste novo servi¸co.

Como j´a foi referido, a implementa¸c˜ao do servi¸co foi desenvolvida internamente na FCCN e implicou um processo cuidado e moroso para que a instala¸c˜ao piloto n˜ao interferisse de modo algum com a gest˜ao di´aria do funcionamento do DNS e que n˜ao provocasse a quebra do servi¸co de registo de dom´ınios.

2.3.2

Calendariza¸

ao

Inicialmente foram definidas tarefas e prazos a cumprir no planeamento do pro-jecto mas cedo se percebeu que o planeamento original teria que ser redefinido com tarefas mais adequadas ao tempo dispon´ıvel e `a complexidade do projecto. As tare-fas realizadas, n˜ao previstas inicialmente, foram as seguintes:

• Houve uma redifini¸c˜ao das tarefas de configura¸c˜ao passando da zona .pt para a hierarquia org.pt;

• Migra¸c˜ao dos servi¸cos de um servidor DNS para uma nova m´aquina;

• Disponibiliza¸c˜ao da zona .pt em forma hier´arquica em rela¸c˜ao `a zona de org.pt • Cria¸c˜ao de “scripts” automatizadas para assinaturas de dom´ınios massificadas; • Actualiza¸c˜ao das vers˜oes de instala¸c˜ao da ferramenta BIND (Berkeley Internet Name Domain) para vers˜ao 9.3.1 ou superior em algumas m´aquinas de modo a fornecerem suporte a DNSSEC;

(32)

Cap´ıtulo 2. Objectivos 16

Apesar das v´arias redefini¸c˜oes de tarefas o planeamento em termos de calen-dariza¸c˜ao n˜ao sofreu desvio significativo tendo este projecto sido conclu´ıdo pr´oximo da data inicialmente prevista (planeamento rectificado e o respectivo mapa de gantt s˜ao apresentados no anexo A).

(33)

Cap´ıtulo 3

Trabalho Realizado

Este cap´ıtulo descreve o trabalho realizado ao longo do projecto, apresentando as ferramentas utilizadas e desenvolvimentos efectuados, assim como a an´alise dos resultados obtidos.

3.1

An´

alise Funcional

Como j´a foi referido anteriormente, as extens˜oes de seguran¸ca ao protocolo DNS original vˆem implementar uma hierarquia de assinaturas criptogr´aficas que permitem garantir que os dados recebidos provieram de facto da origem esperada (autentica¸c˜ao da origem dos dados), que os dados n˜ao foram alterados por outrem durante a transmiss˜ao (integridade dos dados) e a n˜ao existˆencia de um nome ou tipo.

Antes de se entrar em mais detalhes nestas caracter´ısticas de seguran¸ca ´e necess´ario rever um conceito sempre associado `a autenticidade de informa¸c˜ao que ´e a utiliza¸c˜ao de criptografia de chave p´ublica.

3.1.1

Criptografia e Assinaturas

A criptografia ´e uma ciˆencia que permite escrever de forma a ocultar conte´udos. O objectivo da criptografia ´e permitir que um conjunto limitado de entidades, tipica-mente duas, possam trocar informa¸c˜ao que ´e inintelig´ıvel para terceiros ou que seja poss´ıvel guardar e transmitir informa¸c˜ao privada em redes abertas (como a Internet) sem o perigo de ser lida ou modificada por algu´em que n˜ao seja o destinat´ario final da mensagem.

A criptografia baseia-se no uso de cifras. Uma cifra ´e uma t´ecnica concreta de criptografia, isto ´e, uma forma espec´ıfica de ocultar informa¸c˜ao. Assim, uma cifra transforma um texto em claro num texto cifrado ou criptograma. A opera¸c˜ao

(34)

Cap´ıtulo 3. Trabalho Realizado 18

inversa ´e a decifra, que transforma um criptograma no texto em claro original como ilustra a Figura 3.1. Se a decifra for mal efectuada, ou porque o criptograma est´a corrompido ou porque houve uma m´a escolha de algoritmos ou chaves de decifra, ent˜ao o resultado ´e imprevis´ıvel.

Figura 3.1: Criptografia

A opera¸c˜ao da maioria das cifras e decifras ´e definida atrav´es da especifica¸c˜ao de um algoritmo e de uma chave. O algoritmo define o modelo de transforma¸c˜ao de dados, a chave ´e um parˆametro do algoritmo que permite variar o seu comportamento de forma complexa.

Criptografia assim´etrica

A criptografia assim´etrica, ou de chave p´ublica, utiliza um par de chaves distintas mas relacionadas: uma chave p´ublica para cifrar e uma chave privada para decifrar, e n˜ao ´e poss´ıvel, dada a chave p´ublica, calcular a correspondente chave privada (ver Figura 3.2).

As cifras permitem ainda efectuar a cifra ao contr´ario, cifrando com a chave privada e decifrando com a p´ublica, o que n˜ao tem grande interesse para esconder a informa¸c˜ao, mas ´e importante para garantir a sua autoria.

Figura 3.2: Criptografia Assim´etrica

Os pares de chaves assim´etricas s˜ao personalizados, ou seja, s˜ao associados a pessoas, servi¸cos ou servidores. A componente privada deve ser mantida em segredo,

(35)

Cap´ıtulo 3. Trabalho Realizado 19

devendo ser apenas do conhecimento e da utiliza¸c˜ao da entidade a que se encontra associada. A chave p´ublica pode (e deve) ser ampla e publicamente divulgada para poder ser utilizada por qualquer entidade.

Em termos operacionais as cifras assim´etricas tˆem como principal vantagem o facto de exigirem menos chaves para efectuar interac¸c˜oes seguras porque permite uma rela¸c˜ao de muitos para um.

Em termos administrativos os principais problemas subjacentes `a utiliza¸c˜ao de criptografia assim´etrica s˜ao:

• Confinamento rigoroso das chaves privadas aos leg´ıtimos detentores;

• Distribui¸c˜ao fidedigna de chaves p´ublicas a todos os que as pretendem usar; • Gest˜ao do tempo de vida dos pares de chaves;

Assinaturas digitais

Um dos maiores benef´ıcios da criptografia de chave p´ublica ´e a possibilidade do uso de assinaturas digitais. As assinaturas digitais permitem ao destinat´ario de uma mensagem verificar a autenticidade da origem da informa¸c˜ao, e verificar tamb´em se a informa¸c˜ao n˜ao foi alterada durante o trajecto. Logo, assinaturas digitais de chave p´ublica fornecem autentica¸c˜ao e integridade de dados.

Como mencionado, o objectivo das assinaturas digitais ´e ir mais longe na garantia de origem e assegurar a autoria de uma mensagem perante terceiros. Uma mensagem assinada digitalmente fica associada a uma e uma s´o entidade e a assinatura dever´a poder ser validada universalmente. A criptografia assim´etrica ´e a que melhor se adequa a este fim, uma vez que os pares de chaves tˆem um cariz pessoal, isto ´e, cada par de chaves pertence apenas a uma entidade.

Tecnicamente, e de uma forma simplificada, uma assinatura digital de um doc-umento consiste na cifra do mesmo com a chave privada do autor e n˜ao serve para esconder o documento original mas sim para garantir, a quem a decifrar com a chave p´ublica correspondente, que o documento n˜ao foi modificado.

Devido ao elevado custo computacional das cifras assim´etricas, n˜ao interessa cifrar a totalidade do documento a assinar mas sim um valor de pequena dimens˜ao que represente o mesmo, ou seja, uma s´ıntese (hash) do mesmo. Usando a s´ıntese, obt´em-se uma maior eficiˆencia na gera¸c˜ao e valida¸c˜ao de assinaturas digitais e obtˆ em-se assinaturas mais reduzidas.

Se, na valida¸c˜ao da assinatura, n˜ao for poss´ıvel verificar a equivalˆencia, significa que ou o texto e a informa¸c˜ao adicional foram alterados ou a assinatura foi alterada. A Figura 3.3 ilustra o processo de cria¸c˜ao de uma assinatura digital associada a um determinado documento.

(36)

Cap´ıtulo 3. Trabalho Realizado 20

Figura 3.3: Assinatura Digital

3.1.2

Extens˜

oes ao protocolo DNS

Estas extens˜oes ao protocolo original consistem numa hierarquia de assinaturas criptogr´aficas que providenciam autentica¸c˜ao da origem dos dados do DNS, integri-dade e autentica¸c˜ao da resposta da n˜ao existˆencia de um dom´ınio. Estas medidas protegem contra corrup¸c˜ao de mem´orias de cache e transmiss˜oes modificadas e con-tribuem para o aumento da confian¸ca na Internet e nos sistemas.

O DNSSEC n˜ao garante a confidencialidade dos dados nem protege contra ataques de nega¸c˜ao do servi¸co (DoS).

Cada dom´ınio, quer seja ´unico ou seja um TLD, pode ter um conjunto de resource records (RRs) a ele associado. Para um dom´ınio isolado, o resource record mais comum ´e o do tipo A (address) que faz corresponder a um dom´ınio o respectivo endere¸co IP, mas existem muitos outros. Quando um cliente de DNS pergunta por um dom´ınio a um servidor de DNS, o que recebe de volta s˜ao os resource records associados a esse dom´ınio.

A fun¸c˜ao real do DNS ´e fazer corresponder nomes de dom´ınios aos seus respec-tivos resource records. Estes s˜ao divididos em classes e tipos e actualmente existe uma grande variedade de tipos. Ao conjunto de resource records com o mesmo nome de dom´ınio, classe e tipo ´e denominado “Resource Record Set”(RRset).

(37)

Cap´ıtulo 3. Trabalho Realizado 21

• SOA - Indica onde est´a delegada a autoridade da zona • NS - Indica um servidor de nomes para a zona

• A - Atribuiu o nome a um endere¸co

O DNSSEC introduz resource records adicionais que se dividem em quatro tipos diferentes. S˜ao eles: DNSKEY, RRSIG, NSEC e DS.

DNSKEY

Todas as zonas DNS assinadas tˆem associado um par de chaves privada e p´ublica. A chave privada mant´em-se (muito bem guardada) em segredo com o administrador da zona. A chave p´ublica associada `a zona ´e publicada num ficheiro e designa-se DNSKEY.

O DNSKEY ´e o resource record que cont´em as chaves p´ublicas (resultantes de um algoritmo de encripta¸c˜ao assim´etrico) para suporte do DNSSEC, chaves estas que permitem verificar as assinaturas dos RRs de uma zona previamente assinados recorrendo `a chave privada correspondente.

A Figura 3.4 [15] ´e um exemplo deste tipo de RR e identifica os v´arios compo-nentes.

(38)

Cap´ıtulo 3. Trabalho Realizado 22

As chaves p´ublicas utilizadas em opera¸c˜oes de assinatura de zonas podem ser de dois tipos. Temos a chave p´ublica ZSK (Zone Signing Key) que ´e utilizada para assinar os resource records numa zona e a chave p´ublica KSK (Key Signing Key) que por sua vez ´e utilizada para assinar as ZSKs, refor¸cando o processo de encripta¸c˜ao. O DNSKEY pode ser criado a partir do utilit´ario dnssec-keygen fornecido na ferramenta de software BIND.

RRSIG

Como foi j´a mencionado, um RRset ´e um conjunto de resource records de uma zona DNS que partilham em comum um nome, uma classe e um tipo e por esse motivo estes s˜ao agrupados.

O RRSIG, representado na Figura 3.5 [15], consiste no RR que cont´em a assi-natura digital de um RRset espec´ıfico com uma determinada chave (DNSKEY).

(39)

Cap´ıtulo 3. Trabalho Realizado 23

Cada RRset numa zona assinada ter´a um resource record RRSIG contento a s´ıntese do RRset criado utilizando o resource record DNSKEY de ZSK (Zone Signing Key). O RRSIG ´e ´unico, possui uma validade inicial (inception) e final (expiration) e pode ser gerado automaticamento atrav´es do utilit´ario dnssec-singzone fornecido com o BIND vers˜ao 9 ou superior.

NSEC

O NSEC, que deriva da nomenclatura “Next Secure”, ´e o resource record que vem permitir autenticar a resposta da inexistˆencia de um dom´ınio, ou seja, que o nome de dom´ınio pedido na realidade n˜ao existe.

Este RR disponibiliza duas informa¸c˜oes distintas, a do pr´oximo nome seguro (numa ordena¸c˜ao can´onica da zona) e os tipos de RRsets existentes para um nome. O conjunto completo de resource records NSEC de uma zona revelam quais os que RRsets que efectivamente existem na zona e formam uma cadeia de nomes de dom´ınios em que o ´ultimo resource record da zona aponta para o primeiro (SOA) permitindo fechar a cadeia criando um ciclo.

A revela¸c˜ao desta informa¸c˜ao ´e utilizada para providenciar autenticidade aquando a inexistˆencia de uma resposta, isto ´e, se o nome ou tipo consultados realmente n˜ao existem e a situa¸c˜ao encontrada n˜ao se trata de um ataque ao DNS e por consequente o acesso a determinado servi¸co n˜ao foi permitido (DoS).

A Figura 3.6 [15] exemplifica um resource record NSEC onde se pode verificar que o nome pc2.xpto.pt n˜ao existe, pois estando a zona ordenada canonicamente, o nome que vem depois de pc1.xpto.pt ´e o pc3.xpto.pt, logo n˜ao existe nenhum nome v´alido entre os mencionados. Pode-se tamb´em concluir que para o nome pc1.xpto.pt n˜ao existe associado nenhum resource records do tipo MX (Mail eXchanger), por isso se for realizado um pedido de RR MX deste dom´ınio a resposta ter´a que ser obrigatoriamente negativa.

(40)

Cap´ıtulo 3. Trabalho Realizado 24

DS

A quest˜ao da valida¸c˜ao da chave p´ublica da zona ainda continua por resolver ap´os a apresenta¸c˜ao dos trˆes primeiros tipos de resource records. Um atacante s´o necessita de fornecer um DNSKEY e os dados RRSIG que correspondam aos dados do RRset fict´ıcio de modo fazer com que a resposta pare¸ca “autˆentica”.

A aproxima¸c˜ao adoptada pelo DNSSEC ´e a de utilizar uma cadeia de confian¸ca dentro da delega¸c˜ao hier´arquica da estrutura do pr´oprio DNS. `A excep¸c˜ao da zona “.” (root), todas as zonas DNS tˆem uma zona pai. O resource record DS (Delegation Signer) cont´em uma s´ıntese (hash) da chave p´ublica das zonas dos filhos. Este resource record ´e assinado pela chave privada da zona pai ficando com o resource record RRSIG correspondente.

Consistindo o DS na s´ıntese referente a um resource record DNSKEY, este serve para informar que existe uma cadeia de confian¸ca entre um dom´ınio e os seus sub-dom´ınios e indica que a zona delegada ´e assinada e qual a chave p´ublica utilizada nessa zona.

Como o resource record DS ´e assinado pela zona pai, esta zona tem a autoridade sobre o respectivo resource record n˜ao devendo este aparecer nas zonas filhas e funcionar´a como um ponteiro para a cadeia de confian¸ca (chain trust). A cadeia de confian¸ca garante a autenticidade das delega¸c˜oes de uma zona at´e um ponto de confian¸ca, ponto esse que se pode tratar de uma chave ancorada ou a utiliza¸c˜ao de DLV (DNSSEC Lookaside Validation [16]), isto ´e, pontos de confian¸ca ancorados fora da cadeia de delega¸c˜ao DNS.

Figura 3.7: Exemplo de um DS resource record

Como ilustrado na Figura 3.7 [15] um RR DS armazena a informa¸c˜ao necess´aria para a realiza¸c˜ao do processo de autentica¸c˜ao do DNSKEY, tais como, a etiqueta

(41)

Cap´ıtulo 3. Trabalho Realizado 25

(tag) da chave p´ublica (KSK) do servidor filho, uma s´ıntese (resumo) do respectivo resource record DNSKEY cifrado com ZSK do servidor pai e o algoritmo utilizado na cria¸c˜ao desse resumo.

Para validar a delega¸c˜ao de uma zona, o servidor pai utiliza o resource record DS, e este RR por sua vez valida a KSK (chave p´ublica) do servidor filho.

A chave de confian¸ca ideal seria o DNSKEY na zona root, mas na ausˆencia deste ponto de confian¸ca cada cliente DNSSEC tem de configurar o seu pr´oprio sistema de valida¸c˜ao com pontos de confian¸ca conhecidos, fora da valida¸c˜ao hier´arquica, como por exemplo, atrav´es de uma autoridade certificadora.

Confidencialidade

O protocolo DNS foi desenvolvido com o intuito de tornar p´ublicos os resource records dos dom´ınios independentemente de quem lhes est´a a aceder. As extens˜oes de seguran¸ca seguem essa mesma orienta¸c˜ao e n˜ao adicionam qualquer tipo de car-acter´ıstica de confidencialidade ao protocolo base.

Transferˆencias seguras de zona

Apesar de o DNSSEC permitir autentica¸c˜ao da origem e integridade dos dados para os RRsets, n˜ao o consegue fazer para zonas inteiras e, deste modo, devem ser utilizados outros mecanismos como o TSIG [7], SIG(0) [17] ou IPsec [18] para proteger essas opera¸c˜oes de transferˆencia.

3.1.3

Algoritmos e tipos de s´ıntese de DNSSEC

As extens˜oes de seguran¸ca do DNS foram desenhadas para serem independentes dos algoritmos criptogr´aficos.

Os RRs DNSKEY, RRSIG e DS usam um n´umero de algoritmo que identifica o algoritmo criptogr´afico utilizado nesse resource record. O RR DS define ainda um tipo de resumo que identifica o algoritmo utilizado na cria¸c˜ao da s´ıntese.

Os clientes e servidores DNS que tenham suporte a DNSSEC devem implementar todos os algoritmos obrigat´orios.

Alguns dos algoritmos presentes na Tabela 3.1 s˜ao usados unicamente para assi-natura de zona (DNSSEC), outros apenas para mecanismos de transac¸c˜ao segura (SIG(0) e TSIG), e alguns em ambas as situa¸c˜oes. Os que s˜ao usados na assinatura de zona podem aparecer em resource records DNSKEY, RRSIG e DS.

(42)

Cap´ıtulo 3. Trabalho Realizado 26

Os algoritmos e tipos de s´ıntese definidos actualmente est˜ao listados na Tabela 3.1 [10].

Value Algorithm [Mnemonic] Zone Signing References Status 0 reserved

1 RSA/MD5 [RSAMD5] no [19] not recommended 2 Diffie-Hellman [DH] no [20]

-3 DSA/SHA-1 [DSA] yes [21] optional

4 Elliptic Curve [ECC]

-5 RSA/SHA-1 [RSASHA1] yes [22] mandatory

252 Indirect [INDIRECT] no

-253 Private [PRIVATEDNS] yes optional 254 Private [PRIVATEOID] yes optional 255 reserved

6 - 251 Available for assignment by IETF Standards Action. Tabela 3.1: Tipos de algoritmos

Tipos de s´ıntese

O campo de tipo de s´ıntese no resource record DS identifica o algoritmo crip-togr´afico utilizado no c´alculo da s´ıntese aplicado `a chave p´ublica a que este resource record diz respeito.

A Tabela 3.2 [10] mostra os tipos de algoritmos actualmente definidos para esta opera¸c˜ao.

Value Algorithm Status 0 Reserved -1 SHA-1 mandatory 2-255 Unassigned

-Tabela 3.2: Tipos de s´ıntese

Identificador da chave

O identificador da chave (key tag), presente nos resource records RRSIG e DS, permite seleccionar uma chave p´ublica de forma eficiente. Na maioria dos casos, a combina¸c˜ao do nome de dom´ınio, algoritmo e chave podem identificar univocamente um resource record DNSKEY. Ambos os resource records RRSIG e DS tˆem resource records DNSKEY correspondentes. Nestes RRs, o identificador da chave pode ser

(43)

Cap´ıtulo 3. Trabalho Realizado 27

usado para ajudar a seleccionar o resource record DNSKEY quando existe mais do que um resource record candidato dispon´ıvel.

No entanto, ´e de salientar que este identificador n˜ao garante a unicidade de referˆencia para um ´unico resource record. E teoricamente poss´ıvel dois resource´ records DNSKEY terem o mesmo nome de dom´ınio, algoritmo e chave.

O identificador da chave ´e calculado atrav´es de um algoritmo simples de hash.

3.2

Adop¸

ao do DNSSEC

De modo a desenvolver o DNSSEC operacionalmente, os servidores com suporte a DNSSEC devem somente desempenhar a inclus˜ao autom´atica de resource records quando h´a uma indica¸c˜ao expl´ıcita que o Resolver (cliente DNS) pode compreender esses RRs.

3.2.1

Requisitos

Complexidade

Apesar de conter apenas algumas regras simples, o DNS tem-se desenvolvido num sistema enorme e complexo. O DNSSEC introduz complexidade adicional ao DNS, o que acarreta novas possibilidades de aparecimento de incoerˆencias no c´odigo e de zonas mal configuradas. Em particular, a activa¸c˜ao da verifica¸c˜ao da assinatura de DNSSEC num cliente DNS pode fazer com que zonas leg´ıtimas se tornem inacess´ıveis devido a erros de configura¸c˜ao.

Aloca¸c˜ao de maior largura de banda

A adop¸c˜ao do DNSSEC implica uma troca de mensagens de maiores dimens˜oes. Em resposta a pedidos de dados em zonas assinadas, os servidores DNS com suporte a seguran¸ca v˜ao responder com os resource records DNSKEY, RRSIG, NSEC e/ou DS. A adi¸c˜ao destes novos RRs implica a aloca¸c˜ao de uma maior largura de banda para se efectuarem as trocas de mensagens entre o servidor e o cliente. No entanto, a grande maioria dos pedidos efectuados inicialmente a zonas assinadas ser˜ao real-izados por clientes sem suporte `as extens˜oes de seguran¸ca e esses resource records adicionais n˜ao trar˜ao qualquer mais-valia para esses clientes.

(44)

Cap´ıtulo 3. Trabalho Realizado 28

Cientes deste facto, os membros do grupo de trabalho para o desenvolvimento do DNSSEC definiram desde logo uma sinaliza¸c˜ao a ser enviada por clientes e servidores de nomes recursivos de modo a informar os servidores de nomes autoritativos de que tˆem suporte a extens˜oes de seguran¸ca e que pretendem receber todos os resource records necess´arios para verifica¸c˜ao da assinatura da zona. Deste modo, evita-se uma sobrecarga desnecess´aria da rede.

Para al´em do exposto anteriormente, uma vez que o protocolo DNS utiliza data-gramas UDP no seu modo de funcionamento padr˜ao, e que esses datagramas est˜ao limitados a 512 bytes, existe uma grande probabilidade em as respostas que incluem os novos resource records DNSSEC terem de ser truncadas. Nestes casos, o cliente reenvia o pedido utilizando TCP e isto resulta numa utiliza¸c˜ao significativamente maior da largura de banda da rede devido ao estabelecimento de liga¸c˜oes. O impacto destes pedidos TCP podem acarretar um grande aumento do tr´afego da rede (em m´edia, 5 pacotes por cada pedido/resposta em vez de apenas dois), um maior tempo de resposta devido aos tempos de ida-e-volta, um aumento de pedidos com falhas devido aos timeouts (limites de tempo de concretiza¸c˜ao) e um aumento significativo da carga de processamento dos servidores de nomes.

Para colmatar este aumento de carga na rede existe a necessidade de utilizar o mecanismo de extens˜ao ao protocolo DNS designado por EDNS0 (Extension Mech-anisms for DNS [23]). Este mecanismo permite o envio de mensagens de maiores di-mens˜oes, definindo uma sinaliza¸c˜ao no header (bit DO) que corresponde a “DNSSEC OK”. Se o cliente enviar este bit a 1, significa que est´a preparado para receber os resource records de extens˜oes de seguran¸ca para zonas assinadas. Caso contr´ario, o servidor de nomes ir´a responder apenas com os resource records do protocolo base.

3.2.2

Novas Vulnerabilidades

Varrimento da Zona

O DNSSEC garante a autenticidade da resposta da n˜ao existˆencia de um nome ou tipo de resource record atrav´es de uma cadeia de nomes, na qual cada um indica o pr´oximo nome existente na zona, formando uma sequˆencia can´onica. Os resources records que desempenham o papel desses apontadores s˜ao do tipo NSEC.

O motivo pelo o qual o DNSSEC adoptou a solu¸c˜ao NSEC, ´e a necessidade de garantir que um nome n˜ao existe, o que corresponde a caracter´ısticas de autentici-dade.

No entanto, esta solu¸c˜ao permite obter todo o conte´udo de uma zona com simples consultas de DNS, m´etodo conhecido por varrimento de zona (Zone Walking).

(45)

Cap´ıtulo 3. Trabalho Realizado 29

Deste modo o DNSSEC introduz a possibilidade de qualquer utilizador com boas ou m´as inten¸c˜oes obter todos os nomes de uma zona, por ordem can´onica, ao percorrerem a cadeia de resources records NSEC. Embora por si s´o, n˜ao se trate de um ataque, a informa¸c˜ao que ´e poss´ıvel recolher por este m´etodo permite descobrir os servidores existentes numa rede, facilitando assim o acesso `a arquitectura de rede e por consequˆencia a possibilidade de um ataque.

A combina¸c˜ao de NSEC com informa¸c˜ao fornecida pelo servi¸co Whois ´e poten-cialmente muito mais grave. O servi¸co Whois ´e um servi¸co p´ublico que fornece informa¸c˜oes pessoais sobre os respons´aveis de um dado dom´ınio. Se um utilizador percorrer uma zona, obtendo a lista de nomes existentes nessa zona, e de seguida pesquisar os contactos associados, de cada um dos nomes no servi¸co Whois, ir´a obter uma grande quantidade de informa¸c˜ao pessoal (endere¸cos de mail, n´umeros de telefone, moradas, entre outros). Para fazer face ao problema de Zone Walking, foi criada a solu¸c˜ao “DNSSEC Hashed Authenticated Denial of Existence” [24] mais vulgaremente conhecida por NSEC3.

Os resource records NSEC3 s˜ao assinados `a semelhan¸ca dos resource records NSEC, mas em vez de incluir directamente o pr´oximo nome (o que permitia per-correr a zona), o NSEC3 inclui o resultado cifrado de uma fun¸c˜ao de hash sobre o pr´oximo nome. Inclui ainda uma componente adicional conhecida por sal (salt) que aumenta o grau de complexidade do acesso `a informa¸c˜ao, pois o campo sal ´e adicionado ao nome original do propriet´ario antes do hash ser realizado a fim de proteger contra ataques de dicion´ario. O NSEC3 ´e uma solu¸c˜ao recente que ainda est´a em desenvolvimento, e a sua especifica¸c˜ao actual ainda gera alguns conflitos com metodologias j´a existentes como as actualiza¸c˜oes dinˆamicas no DNS.

Ataque de processamento extra

As extens˜oes do DNSSEC tornam o DNS vulner´avel a uma nova classe de ataques de nega¸c˜ao de servi¸co, baseada nas opera¸c˜oes de criptografia processadas tanto pelos clientes como pelos servidores de DNS que suportam as extens˜oes de seguran¸ca, uma vez que um atacante pode tentar consumir todos os recursos das suas v´ıtimas atrav´es desse processamento.

Esta classe de ataques pode tomar pelo menos duas formas. Um atacante pode tentar consumir recursos de processamento extra de valida¸c˜ao de assinaturas num cliente DNS com suporte a seguran¸ca alterando o RRSIG na resposta `as mensagens ou atrav´es da constru¸c˜ao desnecess´aria de cadeias de assinaturas. Um atacante pode tamb´em ser capaz de consumir recursos num servidor de nomes com suporte a seguran¸ca atrav´es do envio de mensagens de altera¸c˜ao dinˆamica que forcem o servidor a re-assinar alguns RRsets na zona, de forma mais frequente do que o que

(46)

Cap´ıtulo 3. Trabalho Realizado 30

seria de esperar [25].

Com base numa an´alise de custo/benef´ıcio para a organiza¸c˜ao a usufuir da im-plementa¸c˜ao do protocolo DNSSEC, medidas de precau¸c˜ao (como por exemplo, uti-liza¸c˜ao de m´aquinas mais eficientes ou solu¸c˜oes de gera¸c˜ao de assinaturas baseadas em hardware) podem ser empregues para atenuar este tipo de vulnerabilidade, pois n˜ao existem ainda solu¸c˜oes baseadas em software que impe¸cam este tipo de amea¸cas.

3.3

Implementa¸

oes Existentes

Neste momento o estado actual do DNSSEC encontra-se completo e pronto a ser utilizado, com alguns promenores relativamente a quest˜oes de privacidade mas que se encontram j´a em fase de resolu¸c˜ao (NSEC3 e assinatura online [25]).

Na fase inicial do desenvolvimento do DNSSEC eram apenas duas as imple-menta¸c˜oes de software com suporte DNSSEC para servidores de nomes (BIND e NSD) e com o passar dos anos o n´umero foi aumentando e existem cerca de 7 imple-menta¸c˜oes, sendo o BIND [26] a ferramenta mais adequada de se utilizar at´e a data porque ´e aquela que oferece mais funcionalidades para um desenvolvimento mais eficiente de DNSSEC.

3.4

Concretiza¸

ao e Testes

3.4.1

Hierarquia org.pt assinada

A Figura 3.8 apresenta um excerto da zona da hierarquia org.pt assinada, por meio as extens˜oes de seguran¸ca ao DNS, numa simula¸c˜ao com 1000 subdom´ınios assinados.

Al´em das ferramentas oferecidas pela vers˜ao 9 do BIND (Berkeley Internet Name Domain) para a cria¸c˜ao de chaves p´ublicas (dnssec-keygen) e de assinaturas digi-tais (dnssec-singzone) dos resource records da zona, foram criados “scripts”, isto ´e, ferramentas de execu¸c˜ao que possibilitaram realizar determinadas opera¸c˜oes de um modo automatizado, seguindo o modelo padr˜ao de assinatura de zonas utilizado em muitos dos trabalhos relacionados, que proporcionou o desenvolvimento de um ambiente simulado de zonas e sub-zonas assinadas. Foi tamb´em crucial a utiliza¸c˜ao do DiG (Domain Information Groper), uma ferramenta de investiga¸c˜ao de sistemas DNS tamb´em fornecida pelo BIND, que permite procurar informa¸c˜ao DNS via in-terroga¸c˜oes a servidores de nomes.

(47)

Cap´ıtulo 3. Trabalho Realizado 31

Figura 3.8: Segmento da zona pai assinada (zona org.pt)

Os procedimentos realizados para a obten¸c˜ao de zonas filhas assinadas em grande n´umero, para fins de estudo estat´ıstico do impacto que esta implementa¸c˜ao poder´a refletir sobre sistema, tiveram a seguinte sequˆencia:

(48)

Cap´ıtulo 3. Trabalho Realizado 32

1o Assinar as zonas filhas (zona de teste dnssec.org.pt)

1. Gerar os pares de chaves ZSK e KSK (Zone Signing Key e Key Signing Key):

# dnssec-keygen -a RSASHA1 -b 1024 -r /dev/urandom -n zone dnssec.org.pt ZSK: Kdnssec.org.pt.+005+51096

# dnssec-keygen -r /dev/urandom -f KSK -a RSASHA1 -b 1024 -n ZONE dnssec.org.pt KSK: Kdnssec.org.pt.+005+39379

2. Colocar as chaves p´ublicas na respectiva zona:

# cat *.key >> dnssec.org.pt (faz o mesmo que um $include)

3. Actualizar o n´umero de s´erie da zona

4. Assinar efectivamente a zona filha (dnssec.org.pt):

# dnssec-signzone -k Kdnssec.org.pt.+005+39379 dnssec.org.pt Kdnssec.org.pt. +005+51096

Ap´os a assinatura de todas as zonas filhas segue-se a assinatura da zona pai de modo a criar uma cadeia segura ou as chamadas ilhas.

2o Assinar a zona pai (zona org.pt) 1. Gerar os pares de chaves ZSK e KSK:

# dnssec-keygen -r /dev/urandom -a RSASHA1 -b 1024 -n ZONE org.pt ZSK: Korg.pt.+005+17058

# dnssec-keygen -r /dev/urandom -f KSK -a RSASHA1 -b 1024 -n ZONE org.pt KSK: Korg.pt.+005+10783

2. Colocar as chaves p´ublicas na respectiva zona:

# cat *.key >> org.pt

3. Actualizar o n´umero de s´erie da zona

4. Assinar a zona pai com a op¸c˜ao -g para incluir keyset dos filhos (org.pt):

# dnssec-signzone -r/dev/urandom -g -o org.pt -f org.pt.signed -a -t -k Korg.pt.+005+10783

(49)

Cap´ıtulo 3. Trabalho Realizado 33

5. Reiniciar o servidor de nomes com a nova configura¸c˜ao da zona (editar named.conf definindo a KSK da zona org.pt como uma trusted key)

# cat Korg.pt.+005+10783.key >> named.conf

6. Efectuar uma pesquisa (dig) por forma a verificar que a responta cont´em a informa¸c˜ao DNSSEC da zona, segue o exemplo:

dig @193.136.192.3 +dnssec +multiline dnssec.org.pt.

3.4.2

Resultados Obtidos

Ap´os a cria¸c˜ao de um ambiente simulado de zonas assinadas numa hierarquia tamb´em ela assinada foi poss´ıvel verificar os diversos tempos de resposta consoante a dimens˜ao da zona que era simulada.

Os testes efectuados tiveram em vista a preocupa¸c˜ao do impacto do processa-mento e sobrecarga de mem´oria do servi¸co, foram simulados ambiente com zonas contendo apenas um ´unico subdom´ınio assinado, at´e zonas contendo 1000 dom´ınios. Dimens˜ao do ficheiro de zona

Figura 3.9: Dimens˜ao da zona vs. zona assinada

O presente gr´afico da Figura 3.9 tem como objectivo comparar a dimens˜ao de um ficheiro de zona antes e depois de assinado. Foi tomado como exemplo a zona org.pt, que tem actualmente cerca de 500 dom´ınios dos quais apenas 400 se encontram

(50)

Cap´ıtulo 3. Trabalho Realizado 34

activos, se todos os dom´ınios activos pretendessem aderir ao DNSSEC o ficheiro de zona org.pt passaria, como se pode ver por an´alise ao gr´afico, de um tamanho de 46 KB para 432 KB, passando o ficheiro actual a ter uma dimens˜ao 10 vezes superior `

a dimens˜ao inicial antes de assinado.

Apesar do aumento acentuado do tamanho do ficheiro de zona, a unidade em causa s˜ao KB (KiloByte), sendo de dimens˜oes ainda irrelavantes para afectar de algum modo o processamento dos servidores de DNS.

Dura¸c˜ao do processo de assinatura de uma zona

Foi tamb´em realizado um teste comparativo do tempo que uma zona demora a assinar um determinado n´umero de dom´ınios (ver gr´afico da Figura 3.10) para que fosse poss´ıvel observar a capacidade de resposta do servidor de DNS aquando a execu¸c˜ao imoderada de dom´ınios assinados.

Figura 3.10: Tempo de assinatura de uma zona

Os resultados aqui obtidos foram tamb´em bastante positivos pois o tempo de resposta em segundos ´e pouco significativo com o aumento do n´umero de dom´ınios assinados, existindo quase uma rela¸c˜ao de propor¸c˜ao directa entre as vari´aveis.

Apesar da divergˆencia da dimens˜ao do ficheiro de zona antes e depois de assinado e do tempo de resposta do processo de assinatura pode-se concluir que o n´umero n˜ao ´e preocupante para uma poss´ıvel entrada em produ¸c˜ao, pois as m´aquinas a suportar estas novas implementa¸c˜oes tem uma enorme capacidade de processamento assim como de mem´oria, tendo sido analisado um impacto pequeno em m´aquinas com menores caracter´ısticas ´e prudente assumir que se ir´a trabalhar num ambiente com

(51)

Cap´ıtulo 3. Trabalho Realizado 35

uma consider´avel margem de manobra, estando teoricamente ausente de riscos e de falhas de funcionalidades.

Estimativa de Largura de Banda

Foram tamb´em efectuados testes com o objectivo de estimar um valor aproxi-mado da largura de banda necess´aria ao servidor prim´ario de .PT para suportar uma zona .PT completamente assinada.

Atrav´es de dados obtidos por meio de uma sonda que analisa o tr´afego na rede do servidor prim´ario (ns.dns.pt) foi poss´ıvel obter as seguintes m´etricas:

• O tamanho m´edio das mensagens DNS recebidas pelo servidor prim´ario ´e de 88 bytes

• O volume de tr´afego de DNS que flui de e para o servidor prim´ario tem um valor m´edio de 11 KB/s

Uma estimativa m´edia do tamanho das mensagens assinadas que ir˜ao partir do servidor prim´ario assim que come¸car a haver zonas com DNSSEC ´e de 330 bytes.

Estes dados permitem extrapolar que as necessidades de largura de banda impres-cind´ıvel ao servidor prim´ario de .PT para suportar uma zona .PT completamente assinada ´e de:

11 x 330 / 88 * 8 = 41,25 KB/s Tempo de acesso ao DNS

Outra quest˜ao relevante a ter em conta, ´e a capacidade de resposta do DNS com implementa¸c˜ao DNSSEC aos futuros utilizadores, para isso foi realizada uma medi¸c˜ao do tempo necess´ario para aceder ao DNS por parte de um cliente. Atrav´es da utiliza¸c˜ao da ferramenta de gest˜ao do DNS designada por DiG (Domain Informa-tion Groper) foi poss´ıvel medir o tempo de resposta do DNS de dom´ınios assinados. Ap´os um n´umero consider´avel de testes foi poss´ıvel concluir que o tempo de acesso ao DNS de um dom´ınio n˜ao varia praticamente nada (varia¸c˜oes na ordem de mais ou menos 1 msec), no caso de ter sido efectuada uma interroga¸c˜ao a um dom´ınio assinado com pedido de informa¸c˜ao opcional de DNSSEC. No caso de n˜ao ser pedida informa¸c˜ao opcional o tempo de resposta era exactamente o mesmo.

Na Figura 3.11 segue o resultado do DiG efectuado a um dom´ınio assinado com o comando dig @193.136.192.3 org.pt. +dnssec +multiline que corresponde aos respectivos campos dig @server name +[query options]:

(52)

Cap´ıtulo 3. Trabalho Realizado 36

Figura 3.11: DiG realizado a um dom´ınio assinado

O mesmo teste foi realizado para a zona org.pt (ver Figura 3.12) com cerca de 100 dom´ınios assinados e os resultados foram idˆenticos aos da interroga¸c˜ao DNS de um ´unico dom´ınio, o tempo de acesso ao DNS n˜ao modificou em rela¸c˜ao ao tempo obtido quando esta n˜ao era assinada.

Imagem

Figura 2.1: Estrutura em ´ arvore do DNS
Tabela 2.1: Tipos de resource records (RRs)
Figura 2.3: Delega¸c˜ ao de um subdom´ınio
Figura 2.4: Vulnerabilidades do servi¸co DNS
+7

Referências

Documentos relacionados

Here, we aim to understand how expression of RA degradation enzymes (Cyp26) can be correlated with RA distribution and functions during amphioxus (B. lanceolatum)

No final, os EUA viram a maioria das questões que tinham de ser resolvidas no sentido da criação de um tribunal que lhe fosse aceitável serem estabelecidas em sentido oposto, pelo

Para analisar as Componentes de Gestão foram utilizadas questões referentes à forma como o visitante considera as condições da ilha no momento da realização do

Neste estudo foram estipulados os seguintes objec- tivos: (a) identifi car as dimensões do desenvolvimento vocacional (convicção vocacional, cooperação vocacio- nal,

Idealmente, a melhor comparação para as UC tratadas viria do grupo de UC tratadas, ou seja, o grupo que receberam as ações de EE, mas na situação em que eles não tivessem

Herbicide persistence in soil is influenced by sorption, volatilization, leaching and degradation processes that control herbicide concentration and movement in the soil solution

Para os materiais de ambas as espécies observa-se uma diminuição da estabilidade térmica dos filmes de nanocelulose obtidos após 10 ciclos de processamento mecânico no

Our contributions are: a set of guidelines that provide meaning to the different modelling elements of SysML used during the design of systems; the individual formal semantics for