Как создаются базы данных DNS-имен?

344
PierreEmile

Некоторые онлайн-инструменты проверки безопасности имеют базу данных имен DNS, связанных с IP.

Например, на https://www.ssllabs.com, когда я запрашиваю stackoverflow.com(151.101.129.69), результат содержит:

Альтернативные имена: *.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

см .: https://www.ssllabs.com/ssltest/analyze.html?d=stackoverflow.com&s=151.101.129.69&hideResults=on

Насколько я понимаю, как работает DNS, невозможно запросить все имена, связанные с IP-адресом, если домен заблокирован для передачи:

$ 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 [..] 

И обратный поиск по IP-адресу вернет только одну запись (или ни одной):

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

Итак, мой вопрос, как можно построить базу данных, которая содержит «альтернативные имена» IP-адреса?

2

1 ответ на вопрос

3
jrtapsell

Он не использует DNS, он показывает альтернативные имена (Subject Alternative Name [ SAN ]) в сертификате, это все имена, для которых этот сертификат также действителен.

Одним из способов использования большого количества имен является поддержка клиентов, которые не поддерживают указание имени сервера [ SNI ], поскольку сертификат должен быть выдан до отправки заголовков, чтобы сервер отправил сертификат со всеми именами. это может быть, поэтому сертификат будет действительным независимо от того, какой домен был запрошен.

При использовании SNI это больше не требуется, так как клиент отправляет имя хоста в виде открытого текста перед отправкой сертификата, поэтому сервер знает, какой сертификат отправить, но некоторые клиенты еще не поддерживают SNI, поэтому часто встречается большое количество альтернативных имен.

Вам не нужно хранить базу данных, вы можете просто подключиться, получить сертификат и просмотреть список SAN в сертификате, хотя кэширование этой информации может быть целесообразным, поскольку некоторые сайты могут запрашивать много, например, Google.

Больше информации

Вот Это Да ! Благодарю. Не знал о САН. Я думал, что один сертификат = один домен (за исключением сертификатов подстановочных знаков). PierreEmile 6 лет назад 0
У SAN есть несколько преимуществ, одно из которых заключается в том, что один сертификат может охватывать несколько глубин (abc и bc), а также разные корни (например, ab и ac) jrtapsell 6 лет назад 0

Похожие вопросы