Let's Encrypt Zertifikate einrichten

Hintergrund

Ab SX-GATE Softwareversion 7.0-3.0 können auf Geräten für die ein Pflegevertrag abgeschlossen wurde Zertifikate von Let's Encrypt verwendet werden. Diese Zertifikate werden von allen gängigen Browsern unterstützt und sind kostenlos. Selbst Multi-Domain-Zertifikate, also Zertifikate, die für mehrere Servernamen gültig sind (z.B. "www.example.com" und "www.example.de"), sind kostenlos.

Das Besondere bei der Beantragung von Let's Encrypt-Zertifikaten ist, dass die Zertifikate vollautomatisch ausgestellt und erneuert werden. Das dabei eingesetzte Verfahren nennt sich "Automatic Certificate Management Environment" (ACME). Ein zentraler Punkt dieses Verfahrens ist die Verifizierung des Antragstellers. Um Missbrauch zu verhindern, muss der Antragsteller nachweisen, dass er die Kontrolle über die Server besitzt, für die das Zertifikat beantragt wird.

SX-GATE unterstützt ausschließlich die Verifizierung über HTTP.

Dabei muss unter den beantragten Servernamen ein Web-Server erreichbar sein, der eine Datei mit definiertem Inhalt bereitstellt. Daraus ergibt sich, dass Let's Encrypt-Zertifikate nicht für ausschließlich interne Server genutzt werden können.

Es gibt noch weitere wichtige Besonderheiten und Einschränkungen:

  • Da bei der Verifizierung lediglich die Kontrolle über den Servernamen geprüft wird, steht auch nur der Servername im Zertifikat. Der Firmenname beispielsweise steht nicht im Zertifikat.
  • Folgerichtig könne auch keine Extended-Evaluation-Zertifikate (EV-Zertifikate; Anzeige des Firmennamens in der Adresszeile des Browsers) über Let's Encrypt bezogen werden.
  • Der Abruf von Wildcard-Zertifikaten (*.example.com) ist derzeit noch nicht möglich.
  • Let's Encrypt erlaubt es nicht, Zertifikate für IP-Adressen auszustellen.
  • Zertifikate sind nur 3 Monate gültig. Aufgrund der automatischen Aktualisierung ist dies jedoch nicht weiter problematisch.

Konfiguration im SX-GATE

Die HTTP-Verifizierung wird mit Hilfe des Reverse-Proxies durchgeführt. Dieser muss aus dem Internet über Port 80 angesprochen werden können. Konfigurieren Sie den Reverse-Proxy wie folgt:

  • Öffnen Sie in der SX-GATE Administrationsoberfläche das Menü "Module > Reverse-Proxy".
  • Sofern noch nicht vorhanden, legen Sie dort einen neuen Port vom Typ "unverschlüsselt (http://)" an. Wählen Sie dazu eine freie Port-Nummer, z.B. 88.
  • In der folgenden Konfigurationsmaske sind keine besonderen Einstellungen notwendig. Mit "OK" kehren Sie zurück zur Port-Liste.
  • Klicken Sie dort in der Zeile des HTTP-Ports auf den Link "Virtuelle Hosts".
  • Legen Sie für jeden Servernamen der im Zertifikat enthalten sein soll einen virtuellen Server an. Bei einer größeren Anzahl von Servernamen ist es einfacher, wenn Sie das Eingabefeld leer lassen. Es wird dann ein virtueller Host angelegt, der für beliebige Servernamen zuständig ist. So ein Standardserver wird in der Liste mit "*" angezeigt.
  • In der Konfiguration aller relevanten virtuellen Server müssen Sie auf dem Reiter (Tab) "SX-GATE Dienste" die Option "ACME HTTP-Authorisierung" aktivieren.
  • Damit der Reverse-Proxy-Port aus dem Internet unter Port 80 angesprochen werden kann, ist noch eine Firewall-DNAT-Regel erforderlich. Wählen Sie dazu unter "Module > Firewall > Regeln" die Internet-Schnittstelle aus, über die Let's Encrypt auf den Reverse-Proxy zugreifen wird und wechseln Sie auf den Reiter (Tab) "DNAT > *".
  • Fügen Sie dort eine Regel mit dem Protokoll "HTTP" hinzu. Unter "zu IP" tragen Sie bitte eine beliebige SX-GATE-IP-Adresse ein. Der Reverse-Proxy-Port wird im Feld "Port" eingetragen.
  • Schließlich müssen Sie noch den Reverse-Proxy starten, sofern dieser nicht bereits läuft.

Jetzt können Sie das Let's Encrypt-Zertifikat ausstellen.

  • Wechseln Sie dazu in das Menü "System > Zertifikatsverwaltung > Schlüsselbund" und legen Sie dort einen neuen Eintrag an.
  • Starten Sie den Assistenten "Zertifikat neu ausstellen / Einstellungen ändern".
  • Wählen Sie die Option "Zertifikat über das ACME-Protokoll automatisiert abrufen (z.B. Let's Encrypt)".
  • Da die Anzahl der pro Tag ausgestellten Zertifikate limitiert ist, sollten Sie zunächst den Let's Encrypt Test-Server nutzen, um Ihre Konfiguration zu überprüfen. Beachten Sie bitte, dass die vom Test-Server ausgestellten Zertifikate von Webbrowsern nicht als gültig akzeptiert werden.
  • Tragen Sie alle Servernamen ein, auf die das Zertifikat ausgestellt werden soll und fahren Sie fort mit dem Abruf des Zertifikats.
  • Wiederholen Sie den Vorgang im Erfolgsfall mit dem Let's Encrypt Produktiv-Server.
  • Wechseln Sie schließlich in die Menüs der SX-GATE Server-Dienste, für die das neue Zertifikat bestimmt ist und wählen Sie es dort aus.

Jeden Montag morgen wird geprüft, ob die Restlaufzeit des Zertifikats weniger als 30 Tage beträgt. Falls ja, wird das Zertifikat automatisch erneuert.

Auf Cluster-Systemen wird das Zertifikat wie üblich über den Backup-Cluster-Knoten abgerufen. Verifizierungsanfragen die am Reverse-Proxy des Master-Cluster-Knotens ankommen werden automatisch an den Backup-Cluster-Knoten weitergeleitet. Damit neue Zertifikate automatisch vom Backup-Cluster-Knoten auf den Master-Cluster-Knoten übertragen werden, muss die automatische Synchronisierung der Konfiguration aktiviert sein.