О наборе шифров и настройке алгоритмов
GitHub Enterprise Server позволяет вам настроить, какие наборы шифров и криптографические алгоритмы следует использовать для:
-
**TLS-соединения** на портах 443 (веб-интерфейс HTTPS) и 8443 (консоль управления HTTPS) -
**SSH-подключения** на порту 22 (операции Git через SSH) и порту 122 (доступ к административной оболочке)
Наборы безопасных шифров по умолчанию основаны на стандартных отраслевых рекомендациях по усилению защиты TLS и современных передовых методах обеспечения безопасности. Большинству организаций следует использовать эти значения по умолчанию, если иное не предписывается конкретными требованиями соответствия или безопасности.
Организациям может потребоваться настроить наборы шифров и криптографические алгоритмы в соответствии с конкретными политиками безопасности организации, отраслевыми стандартами или нормативными требованиями.
Начиная с GitHub Enterprise Server 3.19, шифры TLS настраиваются, и веб-шлюз использует более безопасные шифры по умолчанию. Чтобы обеспечить обратную совместимость с существующими экземплярами, вновь подготовленные экземпляры будут использовать эти новые значения по умолчанию.
Предупреждение
Настройка слишком строгих наборов шифров может помешать подключению клиентов к вашему экземпляру. Всегда сначала тестируйте изменения в непроизводственной среде, убедитесь, что по крайней мере один набор шифров совместим с вашими клиентами, и проверяйте возможность подключения после применения изменений конфигурации.
Примечание.
При настройке наборов шифров TLS используйте значения, разделенные запятыми, в командах конфигурации. GitHub Enterprise Server автоматически преобразует разделители-запятые в двоеточия для конфигурации HAProxy. Наборы шифров оцениваются в указанном порядке, поэтому сначала перечислите предпочитаемые шифры.
Настройка наборов шифров TLS
Вы можете настроить наборы шифров, используемые для соединений TLS 1.2 и TLS 1.3.
Список доступных наборов шифров TLS
-
SSH в целевом экземпляре GitHub Enterprise Server. Дополнительные сведения см. в разделе Доступ к административной оболочке (SSH).
ssh -p 122 admin@HOSTNAME -
Чтобы просмотреть стандартные наборы безопасных шифров для TLS 1.2, выполните следующую команду.
Shell ghe-crypto list tlsv12-ciphersuites
ghe-crypto list tlsv12-ciphersuites -
Чтобы просмотреть стандартные наборы безопасных шифров для TLS 1.3, выполните следующую команду.
Shell ghe-crypto list tlsv13-ciphersuites
ghe-crypto list tlsv13-ciphersuites
Просмотр текущей конфигурации шифра
-
SSH в целевом экземпляре GitHub Enterprise Server. Дополнительные сведения см. в разделе Доступ к административной оболочке (SSH).
ssh -p 122 admin@HOSTNAME -
Чтобы просмотреть настроенные наборы шифров TLS 1.2, выполните следующую команду.
Shell ghe-config github-ssl.tlsv12-ciphersuites
ghe-config github-ssl.tlsv12-ciphersuites -
Чтобы просмотреть настроенные наборы шифров TLS 1.3, выполните следующую команду.
Shell ghe-config github-ssl.tlsv13-ciphersuites
ghe-config github-ssl.tlsv13-ciphersuitesЕсли эти команды возвращают пустые значения, экземпляр использует безопасные значения по умолчанию.
Настройка наборов шифров TLS 1.2
-
SSH в целевом экземпляре GitHub Enterprise Server. Дополнительные сведения см. в разделе Доступ к административной оболочке (SSH).
ssh -p 122 admin@HOSTNAME -
Проверьте нужные наборы шифров TLS 1.2 с
ghe-crypto checkпомощью команды. ЗаменитеCIPHER1,CIPHER2,CIPHER3его списком наборов шифров, разделенным запятыми.Shell ghe-crypto check tlsv12-ciphersuites CIPHER1,CIPHER2,CIPHER3
ghe-crypto check tlsv12-ciphersuites CIPHER1,CIPHER2,CIPHER3Рассмотрим пример.
ghe-crypto check tlsv12-ciphersuites ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-GCM-SHA384 -
Если строка шифра действительна, установите наборы шифров TLS 1.2. Замените
CIPHER1,CIPHER2,CIPHER3на список, разделенный запятыми.Shell ghe-config github-ssl.tlsv12-ciphersuites 'CIPHER1,CIPHER2,CIPHER3'
ghe-config github-ssl.tlsv12-ciphersuites 'CIPHER1,CIPHER2,CIPHER3'Рассмотрим пример.
ghe-config github-ssl.tlsv12-ciphersuites 'ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-GCM-SHA384' -
Проверьте конфигурацию.
Shell ghe-config-check
ghe-config-check -
Чтобы применить конфигурацию, выполните следующую команду.
Примечание.
Во время выполнения конфигурации службы на ваш экземпляр GitHub Enterprise Server могут перезапуститься, что может привести к краткому простою для пользователей.
Shell ghe-config-apply
ghe-config-apply -
Подождите завершения запуска конфигурации.
-
Если вы настроили сообщение пользователя или режим обслуживания, удалите сообщение и отключите режим обслуживания.
Настройка наборов шифров TLS 1.3
-
SSH в целевом экземпляре GitHub Enterprise Server. Дополнительные сведения см. в разделе Доступ к административной оболочке (SSH).
ssh -p 122 admin@HOSTNAME -
Проверьте нужные наборы шифров TLS 1.3 с
ghe-crypto checkпомощью команды. ЗаменитеCIPHER1,CIPHER2,CIPHER3его списком наборов шифров, разделенным запятыми.Shell ghe-crypto check tlsv13-ciphersuites CIPHER1,CIPHER2,CIPHER3
ghe-crypto check tlsv13-ciphersuites CIPHER1,CIPHER2,CIPHER3Рассмотрим пример.
ghe-crypto check tlsv13-ciphersuites TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256 -
Если строка шифра действительна, установите наборы шифров TLS 1.3. Замените
CIPHER1,CIPHER2,CIPHER3на список, разделенный запятыми.Shell ghe-config github-ssl.tlsv13-ciphersuites 'CIPHER1,CIPHER2,CIPHER3'
ghe-config github-ssl.tlsv13-ciphersuites 'CIPHER1,CIPHER2,CIPHER3'Рассмотрим пример.
ghe-config github-ssl.tlsv13-ciphersuites 'TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256' -
Проверьте конфигурацию.
Shell ghe-config-check
ghe-config-check -
Чтобы применить конфигурацию, выполните следующую команду.
Примечание.
Во время выполнения конфигурации службы на ваш экземпляр GitHub Enterprise Server могут перезапуститься, что может привести к краткому простою для пользователей.
Shell ghe-config-apply
ghe-config-apply -
Подождите завершения запуска конфигурации.
-
Если вы настроили сообщение пользователя или режим обслуживания, удалите сообщение и отключите режим обслуживания.
Настройка криптографических алгоритмов SSH
Вы можете настроить криптографические алгоритмы, используемые для SSH-подключений, на порту 22 (операции Git) и порту 122 (административный доступ к оболочке).
Список доступных алгоритмов SSH
-
SSH в целевом экземпляре GitHub Enterprise Server. Дополнительные сведения см. в разделе Доступ к административной оболочке (SSH).
ssh -p 122 admin@HOSTNAME -
Чтобы просмотреть защищенные шифры SSH по умолчанию, выполните следующую команду.
Shell ghe-crypto list ssh-ciphers
ghe-crypto list ssh-ciphers -
Чтобы просмотреть стандартные алгоритмы безопасного SSH MAC, выполните следующую команду.
Shell ghe-crypto list ssh-mac-algorithms
ghe-crypto list ssh-mac-algorithms -
Чтобы просмотреть стандартные алгоритмы безопасного обмена ключами SSH, выполните следующую команду.
Shell ghe-crypto list ssh-kex-algorithms
ghe-crypto list ssh-kex-algorithms -
Чтобы просмотреть типы защищенных сигнатур SSH по умолчанию, выполните следующую команду.
Shell ghe-crypto list ssh-signature-types
ghe-crypto list ssh-signature-types
Просмотр текущей конфигурации SSH
-
SSH в целевом экземпляре GitHub Enterprise Server. Дополнительные сведения см. в разделе Доступ к административной оболочке (SSH).
ssh -p 122 admin@HOSTNAME -
Чтобы просмотреть настроенные шифры SSH, выполните следующую команду.
Shell ghe-config github-ssl.ssh-ciphers
ghe-config github-ssl.ssh-ciphers -
Чтобы просмотреть настроенные алгоритмы SSH MAC, выполните следующую команду.
Shell ghe-config github-ssl.ssh-mac-algorithms
ghe-config github-ssl.ssh-mac-algorithms -
Чтобы просмотреть настроенные алгоритмы обмена ключами SSH, выполните следующую команду.
Shell ghe-config github-ssl.ssh-kex-algorithms
ghe-config github-ssl.ssh-kex-algorithms -
Чтобы просмотреть настроенные типы сигнатур SSH, выполните следующую команду.
Shell ghe-config github-ssl.ssh-signature-types
ghe-config github-ssl.ssh-signature-typesЕсли эти команды возвращают пустые значения, экземпляр использует безопасные значения по умолчанию.
Настройка шифров SSH
-
SSH в целевом экземпляре GitHub Enterprise Server. Дополнительные сведения см. в разделе Доступ к административной оболочке (SSH).
ssh -p 122 admin@HOSTNAME -
Проверьте нужные шифры SSH с помощью
ghe-crypto checkкоманды. Заменитеcipher1,cipher2,cipher3его списком шифров, разделенным запятыми.Shell ghe-crypto check ssh-ciphers cipher1,cipher2,cipher3
ghe-crypto check ssh-ciphers cipher1,cipher2,cipher3Рассмотрим пример.
ghe-crypto check ssh-ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com -
Если строка шифра действительна, установите шифры SSH. Замените
cipher1,cipher2,cipher3на список, разделенный запятыми.Shell ghe-config github-ssl.ssh-ciphers 'cipher1,cipher2,cipher3'
ghe-config github-ssl.ssh-ciphers 'cipher1,cipher2,cipher3'Рассмотрим пример.
ghe-config github-ssl.ssh-ciphers 'chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com' -
Проверьте конфигурацию.
Shell ghe-config-check
ghe-config-check -
Чтобы применить конфигурацию, выполните следующую команду.
Примечание.
Во время выполнения конфигурации службы на ваш экземпляр GitHub Enterprise Server могут перезапуститься, что может привести к краткому простою для пользователей.
Shell ghe-config-apply
ghe-config-apply -
Подождите завершения запуска конфигурации.
-
Если вы настроили сообщение пользователя или режим обслуживания, удалите сообщение и отключите режим обслуживания.
Настройка алгоритмов SSH MAC
-
SSH в целевом экземпляре GitHub Enterprise Server. Дополнительные сведения см. в разделе Доступ к административной оболочке (SSH).
ssh -p 122 admin@HOSTNAME -
Проверьте нужные алгоритмы SSH MAC с помощью
ghe-crypto checkкоманды. Заменитеmac1,mac2,mac3его списком алгоритмов MAC, разделенным запятыми.Shell ghe-crypto check ssh-mac-algorithms mac1,mac2,mac3
ghe-crypto check ssh-mac-algorithms mac1,mac2,mac3Рассмотрим пример.
ghe-crypto check ssh-mac-algorithms hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com -
Если строка алгоритма MAC допустима, задайте алгоритмы SSH MAC. Замените
mac1,mac2,mac3на список, разделенный запятыми.Shell ghe-config github-ssl.ssh-mac-algorithms 'mac1,mac2,mac3'
ghe-config github-ssl.ssh-mac-algorithms 'mac1,mac2,mac3'Рассмотрим пример.
ghe-config github-ssl.ssh-mac-algorithms 'hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com' -
Проверьте конфигурацию.
Shell ghe-config-check
ghe-config-check -
Чтобы применить конфигурацию, выполните следующую команду.
Примечание.
Во время выполнения конфигурации службы на ваш экземпляр GitHub Enterprise Server могут перезапуститься, что может привести к краткому простою для пользователей.
Shell ghe-config-apply
ghe-config-apply -
Подождите завершения запуска конфигурации.
-
Если вы настроили сообщение пользователя или режим обслуживания, удалите сообщение и отключите режим обслуживания.
Настройка алгоритмов обмена ключами SSH
-
SSH в целевом экземпляре GitHub Enterprise Server. Дополнительные сведения см. в разделе Доступ к административной оболочке (SSH).
ssh -p 122 admin@HOSTNAME -
Проверьте нужные алгоритмы обмена SSH-ключами с помощью
ghe-crypto checkкоманды. Заменитеkex1,kex2,kex3их списком ключевых алгоритмов обмена через запятую.Shell ghe-crypto check ssh-kex-algorithms kex1,kex2,kex3
ghe-crypto check ssh-kex-algorithms kex1,kex2,kex3Рассмотрим пример.
ghe-crypto check ssh-kex-algorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp521 -
Если строка алгоритма обмена ключами допустима, задайте алгоритмы обмена ключами SSH. Замените
kex1,kex2,kex3на список, разделенный запятыми.Shell ghe-config github-ssl.ssh-kex-algorithms 'kex1,kex2,kex3'
ghe-config github-ssl.ssh-kex-algorithms 'kex1,kex2,kex3'Рассмотрим пример.
ghe-config github-ssl.ssh-kex-algorithms 'curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp521' -
Проверьте конфигурацию.
Shell ghe-config-check
ghe-config-check -
Чтобы применить конфигурацию, выполните следующую команду.
Примечание.
Во время выполнения конфигурации службы на ваш экземпляр GitHub Enterprise Server могут перезапуститься, что может привести к краткому простою для пользователей.
Shell ghe-config-apply
ghe-config-apply -
Подождите завершения запуска конфигурации.
-
Если вы настроили сообщение пользователя или режим обслуживания, удалите сообщение и отключите режим обслуживания.
Настройка типов сигнатур SSH
-
SSH в целевом экземпляре GitHub Enterprise Server. Дополнительные сведения см. в разделе Доступ к административной оболочке (SSH).
ssh -p 122 admin@HOSTNAME -
Проверьте нужные типы сигнатур SSH с помощью
ghe-crypto checkкоманды. Заменитеsig1,sig2,sig3списком типов сигнатур, разделенным запятыми.Shell ghe-crypto check ssh-signature-types sig1,sig2,sig3
ghe-crypto check ssh-signature-types sig1,sig2,sig3Рассмотрим пример.
ghe-crypto check ssh-signature-types ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384 -
Если строка типа сигнатуры допустима, задайте типы сигнатур SSH. Замените
sig1,sig2,sig3на список, разделенный запятыми.Shell ghe-config github-ssl.ssh-signature-types 'sig1,sig2,sig3'
ghe-config github-ssl.ssh-signature-types 'sig1,sig2,sig3'Рассмотрим пример.
ghe-config github-ssl.ssh-signature-types 'ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384' -
Проверьте конфигурацию.
Shell ghe-config-check
ghe-config-check -
Чтобы применить конфигурацию, выполните следующую команду.
Примечание.
Во время выполнения конфигурации службы на ваш экземпляр GitHub Enterprise Server могут перезапуститься, что может привести к краткому простою для пользователей.
Shell ghe-config-apply
ghe-config-apply -
Подождите завершения запуска конфигурации.
-
Если вы настроили сообщение пользователя или режим обслуживания, удалите сообщение и отключите режим обслуживания.
Устранение неполадок в настройке шифра
Если клиенты не могут подключиться к ваш экземпляр GitHub Enterprise Server после изменения конфигурации шифра, вы можете устранить проблему.
- Убедитесь, что ваши клиенты поддерживают настроенные версии протокола TLS или SSH.
- Убедитесь, что хотя бы один настроенный набор шифров совместим с вашими клиентами.
- Просматривайте журналы экземпляров на предмет сбоев подтверждения TLS или ошибок подключения SSH. Дополнительные сведения о доступе к журналам см. в разделе AUTOTITLE.
- Временно восстановите настройки по умолчанию, чтобы убедиться, что проблема связана с шифрованием. Дополнительные сведения см. в разделе Восстановление набора шифров по умолчанию и настроек алгоритма.
- Если проблема сохраняется после восстановления значений по умолчанию, обратитесь к Поддержка GitHub Enterprise.
Восстановление стандартного набора шифров и настроек алгоритма
Чтобы восстановить стандартные наборы безопасных шифров или алгоритмы, сбросьте значение конфигурации.
-
SSH в целевом экземпляре GitHub Enterprise Server. Дополнительные сведения см. в разделе Доступ к административной оболочке (SSH).
ssh -p 122 admin@HOSTNAME -
Сбросьте параметр конфигурации. Замените
SETTINGименем параметра, который вы хотите восстановить до значений по умолчанию.Shell ghe-config --unset github-ssl.SETTING
ghe-config --unset github-ssl.SETTINGНапример, чтобы восстановить стандартные наборы шифров TLS 1.2:
ghe-config --unset github-ssl.tlsv12-ciphersuites -
Чтобы применить конфигурацию, выполните следующую команду.
Примечание.
Во время выполнения конфигурации службы на ваш экземпляр GitHub Enterprise Server могут перезапуститься, что может привести к краткому простою для пользователей.
Shell ghe-config-apply
ghe-config-apply -
Подождите завершения запуска конфигурации.
-
Если вы настроили сообщение пользователя или режим обслуживания, удалите сообщение и отключите режим обслуживания.