Informationen zur Verschlüsselungssuite und zur Algorithmuskonfiguration
GitHub Enterprise Server ermöglicht es Ihnen, die zu verwendenden Cipher Suites und kryptografischen Algorithmen zu konfigurieren für:
-
**TLS-Verbindungen** in Ports 443 (HTTPS-Webschnittstelle) und 8443 (HTTPS-Verwaltungskonsole) -
**SSH-Verbindungen** auf Port 22 (Git-Vorgänge über SSH) und Port 122 (Zugriff auf administrative Shell)
Die standardmäßigen sicheren Chiffresuiten basieren auf Branchenstandardempfehlungen zur TLS-Härtung und modernen Sicherheitsbest Practices. Die meisten Organisationen sollten diese Standardwerte verwenden, es sei denn, bestimmte Compliance- oder Sicherheitsanforderungen diktieren andernfalls.
Organisationen müssen möglicherweise Verschlüsselungssammlungen und kryptografische Algorithmen anpassen, um bestimmte Sicherheitsrichtlinien, Branchenstandards oder behördliche Anforderungen zu erfüllen.
Ab GitHub Enterprise Server} 3.19 sind TLS-Verschlüsselungen konfigurierbar, und das Webgateway verwendet sicherere Verschlüsselungsstandardwerte. Um die Abwärtskompatibilität mit vorhandenen Instanzen aufrechtzuerhalten, verwenden neu bereitgestellte Instanzen diese neuen Standardwerte.
Warnung
Das Konfigurieren übermäßig restriktiver Verschlüsselungssammlungen kann verhindern, dass Clients eine Verbindung mit Ihrer Instanz herstellen. Testen Sie immer Zuerst Änderungen in einer Nicht-Produktionsumgebung, stellen Sie sicher, dass mindestens eine Verschlüsselungssuite mit Ihren Clients kompatibel ist, und überprüfen Sie die Konnektivität nach dem Anwenden von Konfigurationsänderungen.
Hinweis
Verwenden Sie beim Konfigurieren von TLS-Verschlüsselungssammlungen kommagetrennte Werte in Ihren Konfigurationsbefehlen. GitHub Enterprise Server konvertiert automatisch Kommas in Doppelpunkte für die HAProxy-Konfiguration. Verschlüsselungssammlungen werden in der angegebenen Reihenfolge ausgewertet, daher sollten Sie zuerst Ihre bevorzugten Verschlüsselungen auflisten.
Konfigurieren von TLS-Verschlüsselungssammlungen
Sie können die Verschlüsselungssammlungen konfigurieren, die für TLS 1.2- und TLS 1.3-Verbindungen verwendet werden.
Verfügbare TLS-Verschlüsselungssuiten auflisten
-
Stellen Sie eine SSH-Verbindung mit Ihrer GitHub Enterprise Server-Zielinstanz her. Weitere Informationen finden Sie unter Auf die Verwaltungsshell (SSH) zugreifen.
ssh -p 122 admin@HOSTNAME -
Um die standardmäßigen sicheren Verschlüsselungssammlungen für TLS 1.2 anzuzeigen, führen Sie den folgenden Befehl aus.
Shell ghe-crypto list tlsv12-ciphersuites
ghe-crypto list tlsv12-ciphersuites -
Um die standardmäßigen sicheren Verschlüsselungssammlungen für TLS 1.3 anzuzeigen, führen Sie den folgenden Befehl aus.
Shell ghe-crypto list tlsv13-ciphersuites
ghe-crypto list tlsv13-ciphersuites
Anzeigen der aktuellen Verschlüsselungskonfiguration
-
Stellen Sie eine SSH-Verbindung mit Ihrer GitHub Enterprise Server-Zielinstanz her. Weitere Informationen finden Sie unter Auf die Verwaltungsshell (SSH) zugreifen.
ssh -p 122 admin@HOSTNAME -
Führen Sie den folgenden Befehl aus, um die konfigurierten TLS 1.2-Verschlüsselungssammlungen anzuzeigen.
Shell ghe-config github-ssl.tlsv12-ciphersuites
ghe-config github-ssl.tlsv12-ciphersuites -
Führen Sie den folgenden Befehl aus, um die konfigurierten TLS 1.3-Verschlüsselungssammlungen anzuzeigen.
Shell ghe-config github-ssl.tlsv13-ciphersuites
ghe-config github-ssl.tlsv13-ciphersuitesWenn diese Befehle leere Werte zurückgeben, verwendet die Instanz die sicheren Standardwerte.
Festlegen von TLS 1.2-Verschlüsselungssammlungen
-
Stellen Sie eine SSH-Verbindung mit Ihrer GitHub Enterprise Server-Zielinstanz her. Weitere Informationen finden Sie unter Auf die Verwaltungsshell (SSH) zugreifen.
ssh -p 122 admin@HOSTNAME -
Überprüfen Sie die gewünschten TLS 1.2-Verschlüsselungssammlungen mithilfe des
ghe-crypto checkBefehls. Ersetzen SieCIPHER1,CIPHER2,CIPHER3durch eine kommagetrennte Liste der Verschlüsselungssammlungen.Shell ghe-crypto check tlsv12-ciphersuites CIPHER1,CIPHER2,CIPHER3
ghe-crypto check tlsv12-ciphersuites CIPHER1,CIPHER2,CIPHER3Beispiel:
ghe-crypto check tlsv12-ciphersuites ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-GCM-SHA384 -
Wenn die Verschlüsselungszeichenfolge gültig ist, legen Sie die TLS 1.2-Verschlüsselungssammlungen fest. Ersetzen Sie
CIPHER1,CIPHER2,CIPHER3durch Ihre kommagetrennte Liste.Shell ghe-config github-ssl.tlsv12-ciphersuites 'CIPHER1,CIPHER2,CIPHER3'
ghe-config github-ssl.tlsv12-ciphersuites 'CIPHER1,CIPHER2,CIPHER3'Beispiel:
ghe-config github-ssl.tlsv12-ciphersuites 'ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-GCM-SHA384' -
Überprüfen Sie die Konfiguration.
Shell ghe-config-check
ghe-config-check -
Führe den folgenden Befehl aus, um die Konfiguration anzuwenden.
Hinweis
Während einer Konfigurationsausführung können die Dienste auf Ihre GitHub Enterprise Server-Instance neu gestartet werden, was zu kurzen Ausfallzeiten für Benutzer führen kann.
Shell ghe-config-apply
ghe-config-apply -
Warten Sie auf den Abschluss der Konfigurationsausführung.
-
Wenn du eine Benutzernachricht oder den Wartungsmodus konfiguriert hast, entferne die Nachricht und deaktiviere den Wartungsmodus.
Festlegen von TLS 1.3-Verschlüsselungssammlungen
-
Stellen Sie eine SSH-Verbindung mit Ihrer GitHub Enterprise Server-Zielinstanz her. Weitere Informationen finden Sie unter Auf die Verwaltungsshell (SSH) zugreifen.
ssh -p 122 admin@HOSTNAME -
Überprüfen Sie die gewünschten TLS 1.3-Verschlüsselungssammlungen mithilfe des
ghe-crypto checkBefehls. Ersetzen SieCIPHER1,CIPHER2,CIPHER3durch eine kommagetrennte Liste der Verschlüsselungssammlungen.Shell ghe-crypto check tlsv13-ciphersuites CIPHER1,CIPHER2,CIPHER3
ghe-crypto check tlsv13-ciphersuites CIPHER1,CIPHER2,CIPHER3Beispiel:
ghe-crypto check tlsv13-ciphersuites TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256 -
Wenn die Verschlüsselungszeichenfolge gültig ist, legen Sie die TLS 1.3-Verschlüsselungssammlungen fest. Ersetzen Sie
CIPHER1,CIPHER2,CIPHER3durch Ihre kommagetrennte Liste.Shell ghe-config github-ssl.tlsv13-ciphersuites 'CIPHER1,CIPHER2,CIPHER3'
ghe-config github-ssl.tlsv13-ciphersuites 'CIPHER1,CIPHER2,CIPHER3'Beispiel:
ghe-config github-ssl.tlsv13-ciphersuites 'TLS_AES_128_GCM_SHA256,TLS_AES_256_GCM_SHA384,TLS_CHACHA20_POLY1305_SHA256' -
Überprüfen Sie die Konfiguration.
Shell ghe-config-check
ghe-config-check -
Führe den folgenden Befehl aus, um die Konfiguration anzuwenden.
Hinweis
Während einer Konfigurationsausführung können die Dienste auf Ihre GitHub Enterprise Server-Instance neu gestartet werden, was zu kurzen Ausfallzeiten für Benutzer führen kann.
Shell ghe-config-apply
ghe-config-apply -
Warten Sie auf den Abschluss der Konfigurationsausführung.
-
Wenn du eine Benutzernachricht oder den Wartungsmodus konfiguriert hast, entferne die Nachricht und deaktiviere den Wartungsmodus.
Konfigurieren von kryptografischen SSH-Algorithmen
Sie können die kryptografischen Algorithmen konfigurieren, die für SSH-Verbindungen auf Port 22 (Git-Vorgänge) und Port 122 (Administrativer Shellzugriff) verwendet werden.
Auflisten verfügbarer SSH-Algorithmen
-
Stellen Sie eine SSH-Verbindung mit Ihrer GitHub Enterprise Server-Zielinstanz her. Weitere Informationen finden Sie unter Auf die Verwaltungsshell (SSH) zugreifen.
ssh -p 122 admin@HOSTNAME -
Führen Sie den folgenden Befehl aus, um die standardmäßigen sicheren SSH-Verschlüsselungen anzuzeigen.
Shell ghe-crypto list ssh-ciphers
ghe-crypto list ssh-ciphers -
Führen Sie den folgenden Befehl aus, um die standardmäßigen sicheren SSH-MAC-Algorithmen anzuzeigen.
Shell ghe-crypto list ssh-mac-algorithms
ghe-crypto list ssh-mac-algorithms -
Führen Sie den folgenden Befehl aus, um die Standardalgorithmen für den sicheren SSH-Schlüsselaustausch anzuzeigen.
Shell ghe-crypto list ssh-kex-algorithms
ghe-crypto list ssh-kex-algorithms -
Führen Sie den folgenden Befehl aus, um die standardmäßigen sicheren SSH-Signaturtypen anzuzeigen.
Shell ghe-crypto list ssh-signature-types
ghe-crypto list ssh-signature-types
Anzeigen der aktuellen SSH-Konfiguration
-
Stellen Sie eine SSH-Verbindung mit Ihrer GitHub Enterprise Server-Zielinstanz her. Weitere Informationen finden Sie unter Auf die Verwaltungsshell (SSH) zugreifen.
ssh -p 122 admin@HOSTNAME -
Führen Sie den folgenden Befehl aus, um die konfigurierten SSH-Verschlüsselungen anzuzeigen.
Shell ghe-config github-ssl.ssh-ciphers
ghe-config github-ssl.ssh-ciphers -
Führen Sie den folgenden Befehl aus, um die konfigurierten SSH-MAC-Algorithmen anzuzeigen.
Shell ghe-config github-ssl.ssh-mac-algorithms
ghe-config github-ssl.ssh-mac-algorithms -
Führen Sie den folgenden Befehl aus, um die konfigurierten SSH-Schlüsselaustauschalgorithmen anzuzeigen.
Shell ghe-config github-ssl.ssh-kex-algorithms
ghe-config github-ssl.ssh-kex-algorithms -
Führen Sie den folgenden Befehl aus, um die konfigurierten SSH-Signaturtypen anzuzeigen.
Shell ghe-config github-ssl.ssh-signature-types
ghe-config github-ssl.ssh-signature-typesWenn diese Befehle leere Werte zurückgeben, verwendet die Instanz die sicheren Standardwerte.
Festlegen von SSH-Verschlüsselungen
-
Stellen Sie eine SSH-Verbindung mit Ihrer GitHub Enterprise Server-Zielinstanz her. Weitere Informationen finden Sie unter Auf die Verwaltungsshell (SSH) zugreifen.
ssh -p 122 admin@HOSTNAME -
Überprüfen Sie die gewünschten SSH-Verschlüsselungen mithilfe des
ghe-crypto checkBefehls. Ersetzen Sie durchcipher1,cipher2,cipher3eine durch Trennzeichen getrennte Liste von Chiffre.Shell ghe-crypto check ssh-ciphers cipher1,cipher2,cipher3
ghe-crypto check ssh-ciphers cipher1,cipher2,cipher3Beispiel:
ghe-crypto check ssh-ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com -
Wenn die Verschlüsselungszeichenfolge gültig ist, legen Sie die SSH-Chiffre fest. Ersetzen Sie
cipher1,cipher2,cipher3durch Ihre kommagetrennte Liste.Shell ghe-config github-ssl.ssh-ciphers 'cipher1,cipher2,cipher3'
ghe-config github-ssl.ssh-ciphers 'cipher1,cipher2,cipher3'Beispiel:
ghe-config github-ssl.ssh-ciphers 'chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com' -
Überprüfen Sie die Konfiguration.
Shell ghe-config-check
ghe-config-check -
Führe den folgenden Befehl aus, um die Konfiguration anzuwenden.
Hinweis
Während einer Konfigurationsausführung können die Dienste auf Ihre GitHub Enterprise Server-Instance neu gestartet werden, was zu kurzen Ausfallzeiten für Benutzer führen kann.
Shell ghe-config-apply
ghe-config-apply -
Warten Sie auf den Abschluss der Konfigurationsausführung.
-
Wenn du eine Benutzernachricht oder den Wartungsmodus konfiguriert hast, entferne die Nachricht und deaktiviere den Wartungsmodus.
Festlegen von SSH-MAC-Algorithmen
-
Stellen Sie eine SSH-Verbindung mit Ihrer GitHub Enterprise Server-Zielinstanz her. Weitere Informationen finden Sie unter Auf die Verwaltungsshell (SSH) zugreifen.
ssh -p 122 admin@HOSTNAME -
Überprüfen Sie ihre gewünschten SSH-MAC-Algorithmen mithilfe des
ghe-crypto checkBefehls. Ersetzen Sie durchmac1,mac2,mac3eine durch Trennzeichen getrennte Liste von MAC-Algorithmen.Shell ghe-crypto check ssh-mac-algorithms mac1,mac2,mac3
ghe-crypto check ssh-mac-algorithms mac1,mac2,mac3Beispiel:
ghe-crypto check ssh-mac-algorithms hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com -
Wenn die MAC-Algorithmuszeichenfolge gültig ist, legen Sie die SSH-MAC-Algorithmen fest. Ersetzen Sie
mac1,mac2,mac3durch Ihre kommagetrennte Liste.Shell ghe-config github-ssl.ssh-mac-algorithms 'mac1,mac2,mac3'
ghe-config github-ssl.ssh-mac-algorithms 'mac1,mac2,mac3'Beispiel:
ghe-config github-ssl.ssh-mac-algorithms 'hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com' -
Überprüfen Sie die Konfiguration.
Shell ghe-config-check
ghe-config-check -
Führe den folgenden Befehl aus, um die Konfiguration anzuwenden.
Hinweis
Während einer Konfigurationsausführung können die Dienste auf Ihre GitHub Enterprise Server-Instance neu gestartet werden, was zu kurzen Ausfallzeiten für Benutzer führen kann.
Shell ghe-config-apply
ghe-config-apply -
Warten Sie auf den Abschluss der Konfigurationsausführung.
-
Wenn du eine Benutzernachricht oder den Wartungsmodus konfiguriert hast, entferne die Nachricht und deaktiviere den Wartungsmodus.
Festlegen von SSH-Schlüsselaustauschalgorithmen
-
Stellen Sie eine SSH-Verbindung mit Ihrer GitHub Enterprise Server-Zielinstanz her. Weitere Informationen finden Sie unter Auf die Verwaltungsshell (SSH) zugreifen.
ssh -p 122 admin@HOSTNAME -
Überprüfen Sie die gewünschten SSH-Schlüsselaustauschalgorithmen mithilfe des
ghe-crypto checkBefehls. Ersetzen Sie durchkex1,kex2,kex3eine durch Trennzeichen getrennte Liste der Schlüsselaustauschalgorithmen.Shell ghe-crypto check ssh-kex-algorithms kex1,kex2,kex3
ghe-crypto check ssh-kex-algorithms kex1,kex2,kex3Beispiel:
ghe-crypto check ssh-kex-algorithms curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp521 -
Wenn die Zeichenfolge des Schlüsselaustauschalgorithmus gültig ist, legen Sie die SSH-Schlüsselaustauschalgorithmen fest. Ersetzen Sie
kex1,kex2,kex3durch Ihre kommagetrennte Liste.Shell ghe-config github-ssl.ssh-kex-algorithms 'kex1,kex2,kex3'
ghe-config github-ssl.ssh-kex-algorithms 'kex1,kex2,kex3'Beispiel:
ghe-config github-ssl.ssh-kex-algorithms 'curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp521' -
Überprüfen Sie die Konfiguration.
Shell ghe-config-check
ghe-config-check -
Führe den folgenden Befehl aus, um die Konfiguration anzuwenden.
Hinweis
Während einer Konfigurationsausführung können die Dienste auf Ihre GitHub Enterprise Server-Instance neu gestartet werden, was zu kurzen Ausfallzeiten für Benutzer führen kann.
Shell ghe-config-apply
ghe-config-apply -
Warten Sie auf den Abschluss der Konfigurationsausführung.
-
Wenn du eine Benutzernachricht oder den Wartungsmodus konfiguriert hast, entferne die Nachricht und deaktiviere den Wartungsmodus.
Festlegen von SSH-Signaturtypen
-
Stellen Sie eine SSH-Verbindung mit Ihrer GitHub Enterprise Server-Zielinstanz her. Weitere Informationen finden Sie unter Auf die Verwaltungsshell (SSH) zugreifen.
ssh -p 122 admin@HOSTNAME -
Überprüfen Sie die gewünschten SSH-Signaturtypen mithilfe des
ghe-crypto checkBefehls. Ersetzen Siesig1,sig2,sig3durch eine kommagetrennte Liste von Signaturtypen.Shell ghe-crypto check ssh-signature-types sig1,sig2,sig3
ghe-crypto check ssh-signature-types sig1,sig2,sig3Beispiel:
ghe-crypto check ssh-signature-types ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384 -
Wenn die Signaturtypzeichenfolge gültig ist, legen Sie die SSH-Signaturtypen fest. Ersetzen Sie
sig1,sig2,sig3durch Ihre kommagetrennte Liste.Shell ghe-config github-ssl.ssh-signature-types 'sig1,sig2,sig3'
ghe-config github-ssl.ssh-signature-types 'sig1,sig2,sig3'Beispiel:
ghe-config github-ssl.ssh-signature-types 'ssh-ed25519,ecdsa-sha2-nistp521,ecdsa-sha2-nistp384' -
Überprüfen Sie die Konfiguration.
Shell ghe-config-check
ghe-config-check -
Führe den folgenden Befehl aus, um die Konfiguration anzuwenden.
Hinweis
Während einer Konfigurationsausführung können die Dienste auf Ihre GitHub Enterprise Server-Instance neu gestartet werden, was zu kurzen Ausfallzeiten für Benutzer führen kann.
Shell ghe-config-apply
ghe-config-apply -
Warten Sie auf den Abschluss der Konfigurationsausführung.
-
Wenn du eine Benutzernachricht oder den Wartungsmodus konfiguriert hast, entferne die Nachricht und deaktiviere den Wartungsmodus.
Problembehandlung bei der Verschlüsselungskonfiguration
Wenn Clients nach dem Ändern der Verschlüsselungskonfiguration keine Verbindung mit Ihre GitHub Enterprise Server-Instance herstellen können, können Sie das Problem beheben.
- Überprüfen Sie, ob Ihre Clients die konfigurierten TLS- oder SSH-Protokollversionen unterstützen.
- Stellen Sie sicher, dass mindestens eine konfigurierte Verschlüsselungssuite mit Ihren Clients kompatibel ist.
- Überprüfen Sie die Instanzprotokolle auf TLS-Handshake-Fehler oder SSH-Verbindungsfehler. Weitere Informationen zum Zugriff auf Protokolle finden Sie unter Informationen zu Systemprotokollen.
- Stellen Sie die Standardeinstellungen vorübergehend wieder her, um sicherzustellen, dass das Problem chiffrebezogen ist. Weitere Informationen finden Sie unter Wiederherstellen von Standardchiffre-Suite- und Algorithmuseinstellungen.
- Wenn das Problem nach dem Wiederherstellen der Standardeinstellungen weiterhin besteht, wenden Sie sich an GitHub Enterprise-Support.
Wiederherstellen von Standardchiffre-Suite- und Algorithmuseinstellungen
Um die standardmäßigen sicheren Verschlüsselungssammlungen oder -algorithmen wiederherzustellen, entschlüsseln Sie den Konfigurationswert.
-
Stellen Sie eine SSH-Verbindung mit Ihrer GitHub Enterprise Server-Zielinstanz her. Weitere Informationen finden Sie unter Auf die Verwaltungsshell (SSH) zugreifen.
ssh -p 122 admin@HOSTNAME -
Die Konfigurationseinstellung wird aufgehoben. Ersetzen Sie den
SETTINGNamen der Einstellung, die Sie auf Standardeinstellungen wiederherstellen möchten.Shell ghe-config --unset github-ssl.SETTING
ghe-config --unset github-ssl.SETTINGBeispiel: Zum Wiederherstellen der standardmäßigen TLS 1.2-Verschlüsselungssammlungen:
ghe-config --unset github-ssl.tlsv12-ciphersuites -
Führe den folgenden Befehl aus, um die Konfiguration anzuwenden.
Hinweis
Während einer Konfigurationsausführung können die Dienste auf Ihre GitHub Enterprise Server-Instance neu gestartet werden, was zu kurzen Ausfallzeiten für Benutzer führen kann.
Shell ghe-config-apply
ghe-config-apply -
Warten Sie auf den Abschluss der Konfigurationsausführung.
-
Wenn du eine Benutzernachricht oder den Wartungsmodus konfiguriert hast, entferne die Nachricht und deaktiviere den Wartungsmodus.