Как создать подписанный сертификат для * .local имени?

466
nowox

Моя компания использует .localдля интранета веб-сервисов. Я недавно установил сервер GitHub Enterprise, доступный на github.mycompany.local. К сожалению, кажется невозможным создать подписанный сертификат на таких расширениях.

Я хотел бы найти решение, в котором я мог бы использовать надежный сертификат, принятый как моим веб-браузером, так и локальным Git, без необходимости помещать мой сервер в DMZ.

Какие есть варианты?

Давайте объясним это другими словами. Компания хотела бы иметь веб-службы интрасети, но эти службы должны быть защищены с помощью TLS / SSL. Поскольку они не могут иметь связь с реальным миром, они не могут использовать «стандартный подписанный сертификат». Как они могут сделать это, не сдаваясь и выбрав между:

  1. Давайте научим наших сотрудников принимать самозаверяющие сертификаты каждый раз, когда они хотят принимать наши веб-сервисы ...
  2. Давайте просто использовать HTTP. Пароли для входа будут обмениваться в открытом виде, но никто не будет пытаться взломать компанию изнутри ...
0
Вы можете посмотреть на это - - https://datacenteroverlords.com/2012/03/01/creating-your-own-ssl-certificate-authority Anaksunaman 7 лет назад 0
Другой вариант - настроить свой собственный сервер CA, сгенерировать свои сертификаты и отказаться от настройки браузера, доверяя вашему CA. Frank Thomas 7 лет назад 1
@FrankThomas Это что-то общее? Я знаю компанию, которая ставит посредника между интранетом и интернетом, потому что они хотят знать, что сотрудники делают по соображениям «безопасности». nowox 7 лет назад 0
Ну, это, как правило, метод замены сертификата, при котором они перехватывают инициализацию вашего соединения https и вставляют себя посередине, расшифровывая веб-трафик, а затем повторно шифруют его перед его передачей клиенту. По моему предложению, у вас будет полностью легальный центр сертификации, но никакое программное обеспечение не будет ему доверять, если только вам не будет сказано этого сделать. Frank Thomas 7 лет назад 0

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

1
Robbie Mckennie

Я бы положил деньги на стол и сказал бы, что получить сертификат от авторитетного ЦС для .localдомена просто невозможно, по той же причине, по которой вы не сможете получить сертификат localhost.

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

Грубый ориентир будет:

  • Настройте компьютер в качестве CA
  • Создать корневой сертификат
  • Добавьте сертификат на компьютеры своих компаний в качестве сертификата ЦС, чтобы вопросы, которым занимается ваш ЦС, были доверенными
  • Начните выдавать сертификаты или настройте более сложную систему, используя промежуточный центр сертификации.
Знаете ли вы, как сделать это с Git в командной строке? Моя проблема с SSL заключается в том, что мой Git отказывается подключаться к моему устройству GitHub, потому что сертификат недостаточно безопасен. nowox 7 лет назад 0
Вы бы сконфигурировали саму операционную систему, если бы у меня было больше подробностей о машине, выполняющей команду git и о том, как вы сгенерировали свой сертификат, я мог бы указать вам на лучший ресурс. Robbie Mckennie 7 лет назад 0
Давайте [продолжим это обсуждение в чате] (http://chat.stackexchange.com/rooms/66758/discussion-between-robbie-mckennie-and-nowox). Robbie Mckennie 7 лет назад 0
Вы пробовали настройки .gitconfig, описанные здесь? https://stackoverflow.com/questions/13957294/connect-to-github-enterprise-from-egit-over-https-with-a-self-signed-certificate Frank Thomas 7 лет назад 0
@RobbieMckennie Вы сказали: «Начните выдавать сертификаты или настройте более сложную систему с использованием промежуточного центра сертификации». Я ничего не знаю об этом, но я предполагаю, что возможно иметь подписанный публичный экземпляр, такой как `ca.mycompany.com`, который предоставляет промежуточные корневые сертификаты для` * .mycompany.local`. В этом случае мне может не потребоваться установка root-ca на все компьютеры компании. Это верно? nowox 7 лет назад 0
@ теперь я ничего не знаю о промежуточных ЦС; Я не написал эту часть ответа. Насколько я знаю, единственный способ заставить компьютер доверять сертификату для домена `.local` - это самостоятельно подписать его и установить сертификат CA на этом компьютере. Если я ошибаюсь в этом, я бы хотел узнать больше, но это все, что я могу вам сказать. Robbie Mckennie 7 лет назад 0

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