Для интрасетевого сервера я использую самоподписанный сертификат, которому я хочу доверять во всей системе. Я добавил исключение сертификата в Firefox, но это невозможно в Chrome, консольных приложениях, IDE, ...
Вот почему я хочу, чтобы сертификат был доверенным для всей системы. Насколько я понял, рекомендуемый способ — установить его как корневой CA:https://blogs.technet.microsoft.com/sbs/2008/05/08/installing-a-self-signed-certificate-as-a-trusted-root-ca-in-windows-vista/
Насколько я понял, это означает, что тот, кто контролирует самоподписанный сертификат, теперь контролирует корневой центр, который может подписывать поддельные сертификаты длялюбойсайт на моей машине. Это правда, и если да, как я могу это предотвратить? Я просто хочу иметь один сервер интрасети с собственной подписью, а не потенциально все службы, которые я использую.
Какой рекомендуемый способ работы с интрасетевым TLS здесь?
решение1
Если сервер находится под вашим контролем:
- Создатьдействительныйкорневой центр сертификации (например, с ролью easy-rsa или Xca или Windows Server CA).
- Замените самоподписанный сертификат сервера сертификатом, выданным вашим собственным центром сертификации.
- Убедитесь, что сертификат, который вы только что выпустили, действительно отмечен как сертификат "leaf" / "end-entity". Найдите расширение "X.509v3 Basic Constraints" — оно должно присутствовать и иметь вид "CA: FALSE".
- Установите корневой сертификат пользовательского центра сертификации на свой компьютер.
- Безопасно сохраните закрытый ключ центра сертификации, чтобы он был доступен только тогда, когда вам понадобится выпустить новый сертификат.
Поскольку сертификат сервера содержит «Basic Constraints: CA: FALSE», он не сможет выдавать новые сертификаты, используя только свой собственный ключ.
(Причина, по которой вам необходимо, чтобы CA был отдельным, заключается в том, что прямая установка самоподписанного сертификата сервера в папку «Доверенный CA» может привести к тому, что система будет игнорировать основные ограничения — в конце концов, он установлен как центр сертификации. Разделение позволяет избежать этой проблемы, поскольку вы можете защитить ключи корневого CA.)
В качестве бонуса вам не придется повторно доверять сертификату сервера по истечении срока его действия или при изменении его имени — просто используйте тот же корневой центр сертификации для выпуска нового сертификата.