Diese Version von GitHub Enterprise wurde eingestellt am 2021-09-23. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Für eine bessere Leistung, verbesserte Sicherheit und neue Features nimm ein Upgrade auf die neueste Version von GitHub Enterprise vor. Wende Dich an den GitHub Enterprise-Support, um Hilfe beim Upgrade zu erhalten.

TLS konfigurieren

Sie können Transport Layer Security (TLS) auf your GitHub Enterprise Server instance konfigurieren, damit Sie ein von einer vertrauenswürdigen Zertifizierungsstelle signiertes Zertifikat verwenden können.

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 Sie TLS deaktivieren oder ein von einer vertrauenswürdigen Zertifizierungsstelle wie Let's Encrypt signiertes Zertifikat hochladen.

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 finden Sie unter „HTTP Strict Transport Security (HSTS)“ auf Wikipedia.

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

Sie müssen TLS für Ihre Instanz aktivieren, um Benutzern zu erlauben, FIDO U2F für die Zwei-Faktor-Authentifizierung zu verwenden. Weitere Informationen finden Sie unter „Zwei-Faktor-Authentifizierung konfigurieren“.

Vorrausetzungen

Um TLS in der Produktion zu verwenden, müssen Sie über ein Zertifikat verfügen, das ein unverschlüsseltes PEM-Format aufweist und von einer vertrauenswürdigen Zertifizierungsstelle signiert wurde.

Darüber hinaus schreibt Ihr Zertifikat Subject Alternative Names vor, die für die in „Subdomain-Isolation aktivieren“ aufgelisteten Subdomains konfiguriert sind, und es muss die gesamte Zertifikatskette enthalten, wenn es von einer zwischengeschalteten Zertifizierungsstelle signiert wurde. Weitere Informationen finden Sie unter „Subject Alternative Name“ auf Wikipedia.

Du kannst mit dem Befehl ghe-ssl-generate-csr eine Anfrage zur Signierung des Zertifikats (CSR) für Deine Instanz erzeugen. Weitere Informationen finden Sie unter „Befehlszeilenprogramme“.

Benutzerdefiniertes TLS-Zertifikat hochladen

  1. From an administrative account on GitHub Enterprise Server, click in the upper-right corner of any page. Raumschiffsymbol für den Zugriff auf die Einstellungen des Websiteadministrators

  2. Klicke auf der linken Seitenleiste auf Managementkonsole. Registerkarte „Managementkonsole" in der linken Seitenleiste

  3. Klicke auf der linken Seitenleiste auf Privacy (Datenschutz). Registerkarte „Privacy“ (Datenschutz) auf der Seitenleiste mit den Einstellungen

  4. Aktiviere TLS only (recommended) (Nur TLS (empfohlen)). Kontrollkästchen zum Aktivieren von „TLS only“ (Nur TLS)

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

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

  7. Klicken Sie unter „Unencrypted key“ (Unverschlüsselter Schlüssel) auf Choose File (Datei auswählen), um einen TLS-Schlüssel (im PEM-Format) zur Installation auszuwählen. Diese Datei hat in der Regel eine .key-Erweiterung. Schaltfläche zum Suchen der TLS-Schlüsseldatei

    Warnung: Ihr TLS-Schlüssel darf keine Passphrase aufweisen. Weitere Informationen finden Sie unter „Passphrase aus Ihrer Schlüsseldatei entfernen“.

  8. Klicke auf der linken Seitenleiste auf Save settings (Einstellungen speichern). Die Schaltfläche „Save settings“ (Einstellungen speichern) in der Managementkonsole

  9. 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. Sie können Let's Encrypt-Zertifikate auf Ihrer 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 Sie die Automatisierung der TLS-Zertifikatsverwaltung mit Let's Encrypt aktivieren, 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 können Sie das Befehlszeilenprogramm ghe-ssl-acme auf your GitHub Enterprise Server instance verwenden, um ein Let's Encrypt-Zertifikat automatisch zu generieren. Weitere Informationen finden Sie 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.

  1. From an administrative account on GitHub Enterprise Server, click in the upper-right corner of any page. Raumschiffsymbol für den Zugriff auf die Einstellungen des Websiteadministrators
  2. Klicke auf der linken Seitenleiste auf Managementkonsole. Registerkarte „Managementkonsole" in der linken Seitenleiste
  3. Klicke auf der linken Seitenleiste auf Privacy (Datenschutz). Registerkarte „Privacy“ (Datenschutz) auf der Seitenleiste mit den Einstellungen
  4. Aktiviere TLS only (recommended) (Nur TLS (empfohlen)). Kontrollkästchen zum Aktivieren von „TLS only“ (Nur TLS)
  5. Wählen Sie Enable automation of TLS certificate management using Let's Encrypt (Automatisierung der TLS-Zertifikatsverwaltung mit Let's Encrypt aktivieren) aus. Kontrollkästchen zum Aktivieren von Let's Encrypt
  6. Klicke auf der linken Seitenleiste auf Save settings (Einstellungen speichern). Die Schaltfläche „Save settings“ (Einstellungen speichern) in der Managementkonsole
  7. Warten Sie auf den Abschluss der Konfigurationsausführung.
  8. Klicke auf der linken Seitenleiste auf Privacy (Datenschutz). Registerkarte „Privacy“ (Datenschutz) auf der Seitenleiste mit den Einstellungen
  9. Klicken Sie auf Request TLS certificate (TLS-Zertifikat anfordern). Schaltfläche „Request TLS certificate“ (TLS-Zertifikat anfordern)
  10. Wait for the "Status" to change from "STARTED" to "DONE". Let's Encrypt status
  11. Klicken Sie auf Save configuration (Konfiguration speichern).