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

2

Некоторые онлайн-инструменты для проверки безопасности имеют базу данных 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-адреса?

PierreEmile
источник

Ответы:

3

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

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

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

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

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

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