Skip to main content

TLS konfigurieren

Du kannst Transport Layer Security (TLS) auf deine GitHub Enterprise Server-Instanz konfigurieren, damit du ein von einer vertrauenswürdigen Zertifizierungsstelle signiertes Zertifikat verwenden kannst.

Informationen zu Transport Layer Security

TLS, das SSL ersetzt hat, wird beim erstmaligen Start von GitHub Enterprise Server mit einem selbstsignierten Zertifikat aktiviert und konfiguriert. Da Webbrowser und Git-Clients selbstsignierten Zertifikaten nicht vertrauen, melden diese Clients Zertifikatswarnungen, bis du TLS deaktivierst oder ein von einer vertrauenswürdigen Zertifizierungsstelle wie Let's Encrypt signiertes Zertifikat hochlädst.

Die GitHub Enterprise Server-Appliance sendet HTTP Strict Transport Security-Header, wenn SSL aktiviert ist. Wenn TLS deaktiviert wird, verlieren die Benutzer den Zugriff auf die Appliance, da ihre Browser eine Protokollherabstufung auf HTTP nicht zulassen. Weitere Informationen findest du in Wikipedia unter „HTTP Strict Transport Security (HSTS)“.

Warnung: Wenn HTTPS-Verbindungen in einem Lastenausgleich beendet werden, müssen die vom Lastenausgleich an GitHub Enterprise Server gesendeten Anforderungen ebenfalls HTTPS verwenden. Das Downgraden der Verbindung auf HTTP wird nicht unterstützt.

Du musst TLS für deine Instanz aktivieren, um Benutzern zu erlauben, FIDO U2F für die Zwei-Faktor-Authentifizierung zu verwenden. Weitere Informationen findest du unter Zwei-Faktor-Authentifizierung konfigurieren.

Voraussetzungen

Um TLS in der Produktion zu verwenden, musst du über ein Zertifikat verfügen, das ein unverschlüsseltes PEM-Format aufweist und von einer vertrauenswürdigen Zertifizierungsstelle signiert wurde. Um ein von einer internen Zertifizierungsstelle signiertes Zertifikat zu verwenden, musst du das Stammzertifikat und alle Zwischenzertifikate installieren. Weitere Informationen findest du unter Problembehandlung bei TLS-Fehlern.

Zudem erfordert das Zertifikat alternative Antragstellernamen, die für die unter Subdomain-Isolation aktivieren aufgeführten Unterdomänen konfiguriert sind, und das Zertifikat muss die vollständige Zertifikatskette einschließen, wenn es von einer Zwischenzertifizierungsstelle signiert wurde. Weitere Informationen findest du in Wikipedia unter „Alternativer Antragstellername“.

Du kannst mit dem Befehl ghe-ssl-generate-csr eine Zertifikatsignaturanforderung für deine Instanz erzeugen. Weitere Informationen findest du unter Befehlszeilenprogramme.

Der Schlüssel muss ein RSA-Schlüssel sein und darf keine Passphrase aufweisen. Weitere Informationen findest du unter Problembehandlung bei TLS-Fehlern.

Benutzerdefiniertes TLS-Zertifikat hochladen

Warnung: Das Konfigurieren von TLS führt zu einer geringfügigen Ausfallzeit für deine GitHub Enterprise Server-Instanz.

  1. Klicke in einem Verwaltungskonto auf GitHub Enterprise Server und dann in der rechten oberen Ecke einer beliebigen Seite auf „“.

  2. Wenn du dich nicht bereits auf der Seite „Websiteadministrator“ befindest, klicke in der oberen linken Ecke auf Websiteadministrator.

  3. Wähle auf der Randleiste „ Websiteadministrator“ die Option Verwaltungskonsole aus.

  4. Klicke auf der Randleiste unter „Einstellungen“ auf Datenschutz.

  5. Wähle Nur TLS (empfohlen) aus.

  6. Wähle unter „TLS Protocol support“ (TLS-Protokollunterstützung) die Protokolle aus, die zugelassen werden sollen.

  7. Klicke unter „Zertifikat“ auf Datei auswählen, und wähle dann ein TLS-Zertifikat oder eine Zertifikatskette (im PEM-Format) für die Installation aus. Diese Datei hat in der Regel die Erweiterung .pem, .crt oder .cer.

  8. Klicke unter „Unverschlüsselter Schlüssel“ auf Datei auswählen, und wähle dann den zu installierenden RSA-Schlüssel (im PEM-Format) aus. Diese Datei hat in der Regel die Erweiterung .key.

  9. Klicke auf der Randleiste unter „Einstellungen“ auf Einstellungen speichern.

    Hinweis: Durch das Speichern von Einstellungen in der Verwaltungskonsole werden Systemdienste neu gestartet, was zu einer für den Benutzer feststellbaren Downtime führen könnte.

  10. Warten Sie auf den Abschluss der Konfigurationsausführung.

Informationen zur Let's Encrypt-Unterstützung

Let's Encrypt ist eine öffentliche Zertifizierungsstelle, die kostenlose, automatisierte TLS-Zertifikate ausstellt, denen Browsern vertrauen, die das ACME-Protokoll verwenden. Du kannst Let's Encrypt-Zertifikate auf deiner Appliance automatisch abrufen und verlängern, ohne dass eine manuelle Wartung erforderlich ist.

Zum Verwenden der „Let's Encrypt"-Automatisierung muss Deine Appliance mit einem Hostnamen konfiguriert sein, auf den über HTTP öffentlich zugegriffen werden kann. Darüber hinaus muss festgelegt werden, dass die Appliance ausgehende HTTPS-Verbindungen herstellen kann.

Wenn du die Automatisierung der TLS-Zertifikatsverwaltung mit Let's Encrypt aktivierst, kontaktiert deine GitHub Enterprise Server-Instanz die Let's Encrypt-Server, um ein Zertifikat abzurufen. Zum Verlängern eines Zertifikats müssen die Let's Encrypt-Server die Steuerung des konfigurierten Domain-Namens mit eingehenden HTTP-Anforderungen validieren.

Darüber hinaus kannst du das Befehlszeilenprogramm ghe-ssl-acme auf deine GitHub Enterprise Server-Instanz verwenden, um ein Let's Encrypt-Zertifikat automatisch zu generieren. Weitere Informationen findest du unter Befehlszeilenprogramme.

TLS mit Let's Encrypt konfigurieren

Zum Verwenden der „Let's Encrypt"-Automatisierung muss Deine Appliance mit einem Hostnamen konfiguriert sein, auf den über HTTP öffentlich zugegriffen werden kann. Darüber hinaus muss festgelegt werden, dass die Appliance ausgehende HTTPS-Verbindungen herstellen kann.

Warnung: Das Konfigurieren von TLS führt zu einer geringfügigen Ausfallzeit für deine GitHub Enterprise Server-Instanz.

  1. Klicke in einem Verwaltungskonto auf GitHub Enterprise Server und dann in der rechten oberen Ecke einer beliebigen Seite auf „“.

  2. Wenn du dich nicht bereits auf der Seite „Websiteadministrator“ befindest, klicke in der oberen linken Ecke auf Websiteadministrator.

  3. Wähle auf der Randleiste „ Websiteadministrator“ die Option Verwaltungskonsole aus.

  4. Klicke auf der Randleiste unter „Einstellungen“ auf Datenschutz.

  5. Wähle Nur TLS (empfohlen) aus.

  6. Wähle Automatisierung der TLS-Zertifikatsverwaltung mit Let's Encrypt aktivieren aus.

  7. Klicke auf der Randleiste unter „Einstellungen“ auf Einstellungen speichern.

    Hinweis: Durch das Speichern von Einstellungen in der Verwaltungskonsole werden Systemdienste neu gestartet, was zu einer für den Benutzer feststellbaren Downtime führen könnte.

  8. Warten Sie auf den Abschluss der Konfigurationsausführung.

  9. Klicke auf der Randleiste unter „Einstellungen“ auf Datenschutz.

  10. Klicke auf TLS-Zertifikat anfordern.

  11. Warte, bis sich der Status von „STARTED“ in „DONE“ ändert.

    Screenshot des Dialogfelds „TLS-Zertifikat anfordern“. Oben im Dialogfeld wird „STATUS: FERTIG“ mit einem orangefarbenen Rahmen hervorgehoben.

  12. Klicke auf Konfiguration speichern.