Принимать самоподписанные сертификаты по всей системе без установки в качестве корневого центра сертификации

Принимать самоподписанные сертификаты по всей системе без установки в качестве корневого центра сертификации

Для интрасетевого сервера я использую самоподписанный сертификат, которому я хочу доверять во всей системе. Я добавил исключение сертификата в 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

Если сервер находится под вашим контролем:

  1. Создатьдействительныйкорневой центр сертификации (например, с ролью easy-rsa или Xca или Windows Server CA).
  2. Замените самоподписанный сертификат сервера сертификатом, выданным вашим собственным центром сертификации.
  3. Убедитесь, что сертификат, который вы только что выпустили, действительно отмечен как сертификат "leaf" / "end-entity". Найдите расширение "X.509v3 Basic Constraints" — оно должно присутствовать и иметь вид "CA: FALSE".
  4. Установите корневой сертификат пользовательского центра сертификации на свой компьютер.
  5. Безопасно сохраните закрытый ключ центра сертификации, чтобы он был доступен только тогда, когда вам понадобится выпустить новый сертификат.

Поскольку сертификат сервера содержит «Basic Constraints: CA: FALSE», он не сможет выдавать новые сертификаты, используя только свой собственный ключ.

(Причина, по которой вам необходимо, чтобы CA был отдельным, заключается в том, что прямая установка самоподписанного сертификата сервера в папку «Доверенный CA» может привести к тому, что система будет игнорировать основные ограничения — в конце концов, он установлен как центр сертификации. Разделение позволяет избежать этой проблемы, поскольку вы можете защитить ключи корневого CA.)

В качестве бонуса вам не придется повторно доверять сертификату сервера по истечении срока его действия или при изменении его имени — просто используйте тот же корневой центр сертификации для выпуска нового сертификата.

Связанный контент