Вопрос или проблема
Я создал поддомен с подстановочным знаком, например:
*.sub.example.com
И я создал SSL-сертификат (некорректный сертификат) с помощью certbot: site.sub.example.com
.
Сайты проверки поддоменов почти сразу нашли мои поддомены.
Я пытаюсь понять и узнать, как они это делают, если не знали адрес моего поддомена site.sub.example.com
.
Как я могу скрыть поддомен в будущем, если это необходимо? Я использую Debian, веб-сервер Apache и certbot.
Прозрачность сертификатов (CT), вероятно, в этом виновата.
Практически каждый респектабельный центр сертификации (CA) будет публиковать все SSL-сертификаты, которые они выдают, в публичных журналах прозрачности сертификатов (CT). Это означает, что все выданные сертификаты от надежных CA, даже для поддоменов, которые должны быть «секретными» или только для внутреннего использования, помещаются в общедоступный реестр для всех желающих.
Это имеет некоторые преимущества в области безопасности для организаций, поскольку позволяет проверить, не выдает ли кто-либо недействительные или несанкционированные сертификаты для поддоменов вашего домена. К сожалению, это также означает, что скрытые поддомены с SSL-сертификатами от респектабельного CA, например, Let’s Encrypt, обычно будут собираться и быстро обнаруживаться всеми инструментами и веб-сайтами, которые анализируют эти списки CT. Даже доменные имена, которые используются исключительно в внутренних сетях, становятся общедоступными для поиска таким образом, что некоторым организациям это очень не нравится.
Идите и ищите свой домен на crt.sh, если хотите увидеть, сколько ценной разведывательной информации можно собрать о поддоменах вашей организации, просто посмотрев на ваши запросы на SSL-сертификаты. (dnsdumpster — это еще один хороший ресурс для этого.)
Полные журналы CT от различных CA можно вручную искать на этом сайте.
Ответ или решение
Действительно, раскрытие поддоменов через SSL-сертификаты связано с принципами прозрачности сертификатов (Certificate Transparency, CT). Это важная инициатива в области безопасности, которая позволяет отслеживать и проверять все SSL-сертификаты, выданные авторитетами сертификатов (CA). Рассмотрим это подробнее.
Как происходит обнаружение поддоменов?
Когда вы создаете и регистрируете SSL-сертификат, самым распространенным способом его выдачи является публикация этого сертификата в открытых журналах Certificate Transparency. Каждая надёжная CA, такая как Let’s Encrypt, автоматически отправляет данные о выданных сертификатах в эти открытые каталоги. Вот основные механизмы:
-
Публикация сертификатов: После выдачи SSL-сертификата, его информация автоматически попадает в публичные журналы CT. Это означает, что любая информация о сертификате, включая поддомены, становится доступной для общественного просмотра.
-
Поиск по журналам: Существуют инструменты и веб-сайты, такие как crt.sh и dnsdumpster, которые индексируют эти данные. Пользователи могут просто ввести ваше доменное имя, и сервис предоставит список всех связанных поддоменов, зафиксированных в открытых журналах.
-
Скрейпинг CT-листов: Ресурсы по исследованию поддоменов используют скрипты и парсеры для анализа CT-логов, что позволяет быстро находить связанные с вами субдомены.
Как скрыть поддомены в будущем?
Если вам необходимо скрыть поддомены, разумно рассмотреть следующие шаги:
-
Использование частных CA: Если поддомены предназначены для внутреннего использования, подумайте о создании частного сертификатного центра, который не будет взаимодействовать с публичными CT-логами.
-
Отказ от использования общедоступных CA: Существуют платные сертификаты, которые могут не отправлять информацию в CT-журналы, но это может ограничить вас в плане безопасности и доверия.
-
Использование анонимизационных методов: Не регистрируйте поддомены, если они вам не нужны. Вместо этого используйте более общий домен, чтобы скрыть свою инфраструктуру. Например, вместо
site.sub.example.com
вы можете использовать простоsub.example.com
. -
Регулярный аудит сертификатов: Проводите регулярные проверки SSL-сертификатов, чтобы удостовериться, что нет дополнительных или нежелательных поддоменов, о которых вы не знали.
-
Процесс запросов на сертификаты: Во время создания сертификата удостоверьтесь, что вы избираете только те домены и поддомены, которые действительно важны. Это уменьшит вероятность ненадлежащего разделения информации.
Заключение
Обеспечение конфиденциальности вашей инфраструктуры в интернете жизненно важно для защиты от потенциальных угроз. Знание о механизмах работы Certificate Transparency поможет вам лучше разобраться в том, как работают SSL-сертификаты и как максимально эффективно защитить свою информацию. Помните, что каждое действие, связанное с безопасностью, должно быть рассчитано и взвешено, чтобы предотвратить нежелательное раскрытие данных.