TLS konfigurieren
Sie können Transport Layer Security (TLS) auf Ihre GitHub Enterprise Server-Instanz konfigurieren, damit Sie ein von einer vertrauenswürdigen Zertifizierungsstelle signiertes Zertifikat verwenden können.
In diesem Handbuch
- Informationen zu Transport Layer Security
- Voraussetzungen
- Benutzerdefiniertes TLS-Zertifikat hochladen
- Informationen zur Let's Encrypt-Unterstützung
- TLS mit Let's Encrypt konfigurieren
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.
Warning: When terminating HTTPS connections on a load balancer, the requests from the load balancer to GitHub Enterprise Server also need to use HTTPS. Downgrading the connection to HTTP is not supported.
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“.
Voraussetzungen
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.
Benutzerdefiniertes TLS-Zertifikat hochladen
-
In the upper-right corner of any page, click .
-
In the left sidebar, click Managementkonsole.
-
In the left sidebar, click Privacy.
-
Select TLS only (recommended).
-
Wählen Sie unter „TLS Protocol support“ (TLS-Protokollunterstützung) die Protokolle aus, die zugelassen werden sollen.
-
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.
-
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.
Warnung: Ihr TLS-Schlüssel darf keine Passphrase aufweisen. Weitere Informationen finden Sie unter „Passphrase aus Ihrer Schlüsseldatei entfernen“.
-
Under the left sidebar, click Save settings.
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.
To use Let's Encrypt automation, your appliance must be configured with a hostname that is publicly accessible over HTTP. The appliance must also be allowed to make outbound HTTPS connections.
Wenn Sie die Automatisierung der TLS-Zertifikatsverwaltung mit Let's Encrypt aktivieren, kontaktiert Ihre 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 können Sie das Befehlszeilenprogramm ghe-ssl-acme
auf Ihre GitHub Enterprise Server-Instanz verwenden, um ein Let's Encrypt-Zertifikat automatisch zu generieren. Weitere Informationen finden Sie unter „Befehlszeilenprogramme“.
TLS mit Let's Encrypt konfigurieren
To use Let's Encrypt automation, your appliance must be configured with a hostname that is publicly accessible over HTTP. The appliance must also be allowed to make outbound HTTPS connections.
-
In the upper-right corner of any page, click .
-
In the left sidebar, click Managementkonsole.
-
In the left sidebar, click Privacy.
-
Select TLS only (recommended).
-
Wählen Sie Enable automation of TLS certificate management using Let's Encrypt (Automatisierung der TLS-Zertifikatsverwaltung mit Let's Encrypt aktivieren) aus.
-
Under the left sidebar, click Save settings.
-
In the left sidebar, click Privacy.
-
Klicken Sie auf Request TLS certificate (TLS-Zertifikat anfordern).
-
Klicken Sie auf Save configuration (Konfiguration speichern).