Como os bancos de dados de nomes DNS são construídos?

2

Algumas ferramentas de verificação de segurança online têm um banco de dados de nomes DNS vinculados a um IP.

Por exemplo, no link quando solicito stackoverflow.com (151.101.129.69), o resultado contém:

Nomes alternativos: *.stackexchange.com stackoverflow.com *.stackoverflow.com stackauth.com sstatic.net *.sstatic.net serverfault.com *.serverfault.com superuser.com *.superuser.com stackapps.com openid.stackauth.com stackexchange.com *.meta.stackexchange.com meta.stackexchange.com mathoverflow.net *.mathoverflow.net askubuntu.com *.askubuntu.com stacksnippets.net *.blogoverflow.com blogoverflow.com *.meta.stackoverflow.com *.stackoverflow.email stackoverflow.email

veja: link

Para entender como o DNS funciona, é impossível solicitar todos os nomes relacionados a um endereço IP se o domínio estiver bloqueado para transferência:

$ dig stackoverflow.com any
[..]
;stackoverflow.com.     IN  ANY

;; ANSWER SECTION:
stackoverflow.com.  1800    IN  A   151.101.193.69
stackoverflow.com.  1800    IN  A   151.101.129.69
stackoverflow.com.  1800    IN  A   151.101.65.69
stackoverflow.com.  1800    IN  A   151.101.1.69
stackoverflow.com.  9900    IN  SOA ns-cloud-e1.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 259200 300
[..]

E a pesquisa inversa no endereço IP retornará apenas um registro (ou nenhum):

$ host 151.101.129.69
Host 69.129.101.151.in-addr.arpa. not found: 3(NXDOMAIN)

Então, minha pergunta é: como pode ser construído um banco de dados que contenha 'nomes alternativos' de um endereço IP?

    
por PierreEmile 07.09.2017 / 12:11

1 resposta

3

Isso não está usando o DNS, ele está mostrando os nomes alternativos (nome alternativo de assunto [ SAN ]) no certificado , estes são todos os nomes para os quais esse certificado também é válido.

Um dos usos para uma grande quantidade de nomes é oferecer suporte a clientes que não oferecem suporte à Indicação de nome de servidor [ SNI ], como o certificado tem que ser dado antes dos cabeçalhos serem enviados, então o servidor enviaria um certificado com todos os nomes que ele poderia ser, então o certificado seria válido independentemente de qual domínio foi requisitado.

Com o SNI, isso não é mais necessário, pois o cliente envia o nome do host em texto simples antes de o certificado ser enviado, portanto o servidor sabe qual certificado enviar, mas alguns clientes ainda não suportam o SNI, portanto, uma grande quantidade de nomes alternativos é comum.

Você não precisa manter um banco de dados, pode apenas se conectar, obter o certificado e consultar a lista de SANs no certificado, embora o armazenamento em cache dessas informações seja aconselhável, pois alguns sites podem ser consultados muito, como Google.

Mais informações

    
por 07.09.2017 / 12:21