Skip to main content

Эта версия GitHub Enterprise Server была прекращена 2024-09-25. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, повышения безопасности и новых функций выполните обновление до последней версии GitHub Enterprise Server. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Настройка TLS

Для ваш экземпляр GitHub Enterprise Server можно настроить протокол TLS, чтобы использовать сертификат, подписанный доверенным центром сертификации.

Сведения о протоколе TLS

Протокол TLS, пришедший на замену SSL, включается и настраивается с помощью самозаверяющего сертификата при первом запуске GitHub Enterprise Server. Так как самозаверяющие сертификаты не являются доверенными для веб-браузеров и клиентов Git, эти клиенты будут отправлять предупреждения о сертификатах, пока вы не отключите TLS или не отправите сертификат, подписанный доверенным центром, таким как Let's Encrypt.

Устройство GitHub Enterprise Server отправляет заголовки HTTP Strict Transport Security при включении SSL. Отключение TLS приведет к тому, что пользователи потеряют доступ к устройству, так как браузеры не разрешают понижение уровня протокола до HTTP. Дополнительные сведения см. в разделе HTTP Strict Transport Security (HSTS) в Википедии.

Warning

При завершении подключений HTTPS в подсистеме балансировки нагрузки запросы от подсистемы балансировки нагрузки к GitHub Enterprise Server также необходимо использовать ПРОТОКОЛ HTTPS. Понижение уровня подключения к HTTP не поддерживается.

Чтобы разрешить пользователям использовать FIDO U2F для двухфакторной проверки подлинности или развернуть сайты GitHub Pages с GitHub Actions, необходимо включить TLS для своего экземпляра. Дополнительные сведения см. в разделе Настройка двухфакторной проверки подлинности.

Необходимые компоненты

Чтобы использовать TLS в рабочей среде, необходимо иметь сертификат в незашифрованном формате PEM, подписанный доверенным центром сертификации. Чтобы использовать сертификат, подписанный внутренним центром сертификации, необходимо установить корневой сертификат и все промежуточные сертификаты. Дополнительные сведения см. в разделе Устранение неполадок с TLS.

Сертификат также потребует альтернативных имен субъектов, настроенных для поддоменов, перечисленных в Включение изоляции поддомена , и потребуется включить полную цепочку сертификатов, если он подписан промежуточным центром сертификации. Дополнительные сведения см. в статье "Альтернативное имя темы" в Википедии.

Вы можете создать запрос на подпись сертификата (CSR) для своего экземпляра с помощью команды ghe-ssl-generate-csr. Дополнительные сведения см. в разделе Служебные программы командной строки.

Это должен быть ключ RSA, который не имеет парольную фразу. Дополнительные сведения см. в разделе Устранение неполадок с TLS.

Отправка настраиваемого сертификата TLS

Warning

Настройка TLS вызывает небольшое время простоя для ваш экземпляр GitHub Enterprise Server.

  1. В учетной записи администратора GitHub Enterprise Server, в правом верхнем углу любой страницы щелкните .

  2. Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.

  3. На боковой панели " "Администратор сайта" щелкните Консоль управления.

  4. На боковой панели "Параметры" щелкните "Конфиденциальность" и снимите флажок " Конфиденциальность".

  5. Выберите Только TLS (рекомендуется).

  6. В разделе "Поддержка протокола TLS" выберите протоколы, которые вы хотите разрешить.

  7. В разделе "Сертификат" щелкните "Выбрать файл", а затем выберите сертификат TLS или цепочку сертификатов (в формате PEM), чтобы установить. Обычно этот файл имеет расширение PEM, CRT или CER.

  8. В разделе "Незашифрованный ключ" нажмите кнопку "Выбрать файл", а затем выберите ключ RSA (в формате PEM), чтобы установить. Этот файл обычно имеет расширение KEY.

  9. На боковой панели "Параметры" нажмите кнопку "Сохранить параметры".

    Note

    Сохранение параметров в Консоль управления перезапускает системные службы, что может привести к простоям, видимым пользователем.

  10. Подождите завершения запуска конфигурации.

Сведения о поддержке Let's Encrypt

Let's Encrypt — это общедоступный центр сертификации, который выдает бесплатные автоматические сертификаты TLS, которые принимаются как доверенные браузерами, использующими протокол ACME. Вы можете автоматически получать и обновлять сертификаты Let's Encrypt на устройстве без необходимости обслуживания вручную.

Чтобы использовать автоматизацию Let's Encrypt, устройство необходимо настроить с помощью имени узла, общедоступного по протоколу HTTP. Устройству также необходимо разрешить создание исходящих HTTPS-подключений.

Если включить автоматизацию управления сертификатами TLS с помощью Давайте зашифровать, ваш экземпляр GitHub Enterprise Server свяжется с серверами Let's Encrypt для получения сертификата. Для обновления сертификата серверы Let's Encrypt должны проверить управление настроенным доменным именем с помощью входящих HTTP-запросов.

Вы также можете использовать служебную ghe-ssl-acme программу командной строки для ваш экземпляр GitHub Enterprise Server для автоматического создания сертификата Let's Encrypt. Дополнительные сведения см. в разделе Служебные программы командной строки.

Настройка TLS с помощью Let's Encrypt

Чтобы использовать автоматизацию Let's Encrypt, устройство необходимо настроить с помощью имени узла, общедоступного по протоколу HTTP. Устройству также необходимо разрешить создание исходящих HTTPS-подключений.

Warning

Настройка TLS вызывает небольшое время простоя для ваш экземпляр GitHub Enterprise Server.

  1. В учетной записи администратора GitHub Enterprise Server, в правом верхнем углу любой страницы щелкните .

  2. Если вы еще не на странице "Администратор сайта", в левом верхнем углу щелкните Администратор сайта.

  3. На боковой панели " "Администратор сайта" щелкните Консоль управления.

  4. На боковой панели "Параметры" щелкните "Конфиденциальность" и снимите флажок " Конфиденциальность".

  5. Выберите Только TLS (рекомендуется).

  6. Выберите Включить автоматизацию управления сертификатами TLS с помощью Let's Encrypt.

  7. На боковой панели "Параметры" нажмите кнопку "Сохранить параметры".

    Note

    Сохранение параметров в Консоль управления перезапускает системные службы, что может привести к простоям, видимым пользователем.

  8. Подождите завершения запуска конфигурации.

  9. На боковой панели "Параметры" щелкните "Конфиденциальность" и снимите флажок " Конфиденциальность".

  10. Нажмите кнопку Запросить сертификат TLS.

  11. Подождите, пока состояние изменится со "STARTED" на "DONE".

    Снимок экрана: диалоговое окно "Запрос сертификата TLS". В верхней части диалогового окна выделено "СОСТОЯНИЕ: ГОТОВО" с оранжевым контуром.

  12. Нажмите Сохранить конфигурацию.

Устранение неполадок TLS с помощью давайте зашифруем

Вы можете устранить неполадки, влияющие на сертификат TLS из Let's Encrypt.

Ошибка: "Ошибка безопасности предотвратила загрузку ресурса"

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

Security error prevented the resource from being loaded

Чтобы устранить эти ошибки, необходимо обновить альтернативные имена субъектов (SAN) сертификат let's Encrypt, повторно указав сертификат. Для замены сертификата экземпляра требуется время простоя пользователя.

  1. Сообщите о предстоящем простое пользователям и рассмотрите возможность включения режима обслуживания. Для получения дополнительных сведений см. следующие статьи.

  2. Чтобы отключить let's Encrypt, выполните следующую команду.

    Shell
    ghe-ssl-acme -d
    
  3. Чтобы очистить существующие параметры для Let's Encrypt, выполните следующую команду.

    Shell
    ghe-ssl-acme -x
    
  4. Чтобы запросить и установить новый сертификат из Let's Encrypt, выполните следующую команду.

    Shell
    ghe-ssl-acme -e
    
  5. Чтобы применить конфигурацию, выполните следующую команду.

    Note

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

    Shell
    ghe-config-apply
    
  6. Подождите завершения запуска конфигурации.

  7. Если вы настроили сообщение пользователя или режим обслуживания, удалите сообщение и отключите режим обслуживания.