Skip to main content

TLS konfigurieren

Du kannst Transport Layer Security (TLS) auf your GitHub Enterprise Server instance 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 Konfigurieren der zweistufigen Authentifizierung.

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.

Zudem erfordert das Zertifikat alternative Antragstellernamen, die für die unter „Aktivieren von Unterdomänenisolation “ aufgeführten Unterdomänen konfiguriert sind, und 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 „Entfernen der Passphrase aus der Schlüsseldatei“.

Benutzerdefiniertes TLS-Zertifikat hochladen

Warnung: Das Konfigurieren von TLS führt zu einer geringfügigen Ausfallzeit für your GitHub Enterprise Server instance.

  1. Klicke in einem Verwaltungskonto auf GitHub Enterprise Server, und klicke in der oberen rechten Ecke einer beliebigen Seite auf .

    Screenshot des Raketensymbols für den Zugriff auf Websiteadministratoreinstellungen

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

    Screenshot des Links „Websiteadministrator“ 1. Klicke auf der linken Seitenleiste auf Management Console . Registerkarte Management Console auf der linken Seitenleiste 1. Klicke auf der linken Randleiste auf Datenschutz. Registerkarte „Datenschutz“ auf der Randleiste mit den Einstellungen 1. Wähle Nur TLS (empfohlen) aus. Kontrollkästchen zum Auswählen von „Nur TLS“

  3. Wähle unter „TLS Protocol support“ (TLS-Protokollunterstützung) die Protokolle aus, die zugelassen werden sollen. Optionsfelder mit Optionen zur Auswahl von TLS-Protokollen

  4. Klicke unter „Zertifikat“ auf Datei auswählen, um ein TLS-Zertifikat oder eine Zertifikatskette (im PEM-Format) zur Installation auszuwählen. Diese Datei hat in der Regel die Erweiterung .pem, .crt oder .cer. Schaltfläche zum Suchen der TLS-Zertifikatsdatei

  5. Klicke unter „Unverschlüsselter Schlüssel“ auf Datei auswählen, um den zu installierenden RSA-Schlüssel (im PEM-Format) auszuwählen. Diese Datei hat in der Regel die Erweiterung .key. Schaltfläche zum Suchen der TLS-Schlüsseldatei

  6. Klicke unter der linken Randleiste auf Einstellungen speichern.

    Screenshot der Schaltfläche „Einstellungen speichern“ in der Management Console

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

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

    „Configuring your instance“ (Instanz konfigurieren)

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 your GitHub Enterprise Server instance 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 your GitHub Enterprise Server instance 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 your GitHub Enterprise Server instance.

  1. Klicke in einem Verwaltungskonto auf GitHub Enterprise Server, und klicke in der oberen rechten Ecke einer beliebigen Seite auf .

    Screenshot des Raketensymbols für den Zugriff auf Websiteadministratoreinstellungen

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

    Screenshot des Links „Websiteadministrator“ 1. Klicke auf der linken Seitenleiste auf Management Console . Registerkarte Management Console auf der linken Seitenleiste 1. Klicke auf der linken Randleiste auf Datenschutz. Registerkarte „Datenschutz“ auf der Randleiste mit den Einstellungen 1. Wähle Nur TLS (empfohlen) aus. Kontrollkästchen zum Auswählen von „Nur TLS“

  3. Wähle Automatisierung der TLS-Zertifikatsverwaltung mit Let's Encrypt aktivieren aus. Kontrollkästchen zum Aktivieren von Let's Encrypt 1. Klicke unter der linken Randleiste auf Einstellungen speichern.

    Screenshot der Schaltfläche „Einstellungen speichern“ in der Management Console

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

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

    „Configuring your instance“ (Instanz konfigurieren) 1. Klicke auf der linken Randleiste auf Datenschutz. Registerkarte „Datenschutz“ auf der Randleiste mit den Einstellungen

  5. Klicke auf TLS-Zertifikat anfordern. Schaltfläche „TLS-Zertifikat anfordern“

  6. Warte, bis sich der Status von „STARTED“ in „DONE“ ändert. Let's Encrypt-Status

  7. Klicke auf Konfiguration speichern.