Novidades UPdigital

Newsletter #10 - janeiro de 2024

Resolução segura dos nomes da rede U.Porto

Desde novembro, quem se quiser ligar a um sistema da rede da U.Porto pode ter a confiança criptográfica de que o nome que usou para a ligação, por exemplo sigarra.up.pt, será resolvido para o endereço IP correto, no caso 193.137.35.140. Provavelmente muitos dos leitores desta notícia estarão já a bocejar, mas se se mantiverem acordados mais um pouco, vai valer a pena para perceberem o impacto. Por isso peguem na chávena de café, refresquem a cara e vamos a isso. Aos outros que já estavam entusiasmados apenas com o título, as nossas desculpas pelo interlúdio.

Agora com o café tomado, podemos usar os termos técnicos e dizer que o DNS (Domain Name System) da U.Porto tem a possibilidade de ser seguro utilizando DNSSEC.

E isto quer dizer o quê?

O sistema de nomes, como podem ver na entrada da Wikipedia, permite resolver os nomes dos “locais” que nós humanos queremos aceder para o endereço IP que as máquinas que encaminham os nossos dados usam. Pegando no sigarra.up.pt, quando o colocamos na barra do browser, ou quando clicamos num link que tenha sigarra.up.pt, o nosso computador tem de transformar o nome para o seu endereço IP: 193.137.35.140. Uma espécie de lista telefónica, onde ao selecionar o nome do Joaquim o nosso telemóvel pede para ligar ao 999888777 (este não é o número do Joaquim, não vale a pena tentar).

OK, OK. Imaginando que ainda estou interessado, onde está o SEC do DNS e para que é preciso?

Ainda bem que pergunta! O protocolo DNS não é seguro de base. É possível, embora difícil, que um ator malicioso respondesse à pergunta sobre o sigarra.up.pt com um endereço de uma máquina que ele controla. Imagine que perguntava ao Joaquim pelo número de telemóvel do irmão. O Manel que queria fazer-se passar pelo irmão do Joaquim, respondia primeiro e indicava o seu número. Se fossemos um pouco duros de ouvido até podíamos ser enganados (por acaso o Manel e o Joaquim até têm vozes parecidas). O problema com o DNS é muito semelhante. Uma máquina maliciosa pode fazer-se passar pelo servidor de DNS que costuma responder às questões da nossa máquina, e dar uma resposta falsa. Assim, a nossa máquina podia ser direcionada para um site que apesar de dizer sigarra.up.pt estava numa máquina de um malquerente. Como se clicássemos no nome “Irmão do Joaquim” e ligássemos ao Manel, pois tínhamos guardado a resposta falsa.

Ui, mas ainda não se falou em nenhum SEC do DNS. E eu já fui buscar um chá preto.

Estamos a chegar lá, e a emoção vai continuar.

Com o DNSSEC a resposta dada pelo servidor de DNS é validada criptograficamente, com uma assinatura digital que o cliente DNS pode verificar que é a correta e não sofreu alterações. Deste modo o ator malévolo não consegue falsificar a resposta. O Joaquim assinava a sua resposta onde indicava o número do irmão e o Manel não conseguia enganar-nos… agora a metáfora já esticou demais…

Podem ver as validações no analisador DNSSEC da Verisign ou no webcheck do Centro Nacional de Cibersegurança (CNCS)S e da associação DNS.PT , que também testa outros parâmetros para além de DNSSEC.

Para os que se entusiasmaram logo na introdução podem experimentar com ferramentas na linha de comando. Note-se que o servidor a quem perguntam pela resolução tem de suportar DNSSEC, não basta o servidor da U.Porto suportar DNSSEC. Experimentem: 

> delv @9.9.9.9 up.pt

Ou

  > dig +dnssec +short @9.9.9.9 up.pt

Notas finais:

Os nomes usados nesta notícia são fictícios e qualquer semelhança com a realidade (dos nomes, entenda-se) é pura coincidência. Nenhum Joaquim ou Manel foram feridos para escrever esta notícia.