Bereitstellen von Zertifikaten für edoc-Anwendungen (Container)
Komponente | edoc platform |
---|---|
Version | 23.8.15 |
Erstellt am |
|
Zuletzt geändert am | Thu, 08 Aug 2024 13:23:47 GMT |
Reviewstatus | Review: Approved (1/1) |
KB-Artikelnummer | 440041595 |
Zusammenfassung
Viele Anwendungen von Drittanbietern wie z.B. Webserver oder Datenbanken sind mittlerweile TLS-verschlüsselt.
Die Anwendungen können sowohl ein Zertifikat von einer öffentlich bekannten Zertifizierungsstelle oder von einer lokale Stammzertifizierungsstelle ausstellen.
Anwendungen von edoc solutions ag akzeptieren ausschließlich ein Zertifikat von einer öffentlich bekannten Zertifizierungsstelle.
Anwendungsfälle sind zum Beispiel:
Verbindung zwischen edoc workplace und einem On-Premises-System mit d.velop documents (d.3one mit d.ecs task)
Verbindung zwischen edoc datahub und einem On-Premises-Datenbankserver mit TLS-Verschlüsselung
Damit die Zertifikate akzeptiert werden, müssen diese bzw. die zugehörigen Zertifizierungsstellenzertifikate auf dem edoc platform-Server übertragen werden.
Durch das Neustarten der Container werden diese Zertifikate dann an die Container übertragen. Die edoc-Anwendungen akzeptieren nun die Verbindung zur Drittanbieteranwendung.
Wichtige Voraussetzungen
edoc platform (edoc agent): mindestens 01.08.2023 (Commit
15d9327a9397ca2315f12c7a52237e9f06cf856c
)edoc-Anwendungen in edoc system control: ab Release 23.8.15
Administrativer Zugriff auf den Server mit edoc platform
Zertifikat einer Zertifizierungsstelle (Certification Authority, CA) im PEM-Format. Die Dateierweiterung des Zertifikats muss .crt sein.
Sie müssen Mitglied in der Gruppe sudo auf dem Linux-Server sein.
Die Server müssen neu gestartet werden. Planen Sie daher vorab den Neustart der Server.
Lösung
Kopieren Sie das Zertifikat auf den Server mit edoc platform und stellen Sie das Zertifikat den Containern bereit.
So geht’s
Melden Sie sich per SSH auf dem edoc platform-Server als Mitglied der Gruppe sudo an.
Öffnen Sie eine interaktive Root-Shell mit diesem Befehl:
sudo -i
Kopieren Sie das Zertifikat mit der Dateierweiterung *.crt nach /usr/local/share/ca-certificates/ mit folgendem Befehl:
cp /home/$user/$certificate.crt /usr/local/share/ca-certificates/
Aktualisieren Sie die Zertifikate auf Betriebssystemebene mit folgendem Befehl:
update-ca-certificates
Das Zertifikat steht jetzt zur Verfügung. Damit die einzelnen Services das Zertifikat benutzen können, müssen die einzelnen Container neu gestartet werden.
Sie können sich für eine der Vorgehensweisen entscheiden:
Gesamten Server neu starten. Für die Dauer des Neustarts stehen die Services nicht zur Verfügung.
CODEreboot
Kubernetes-Server neu starten. Für die Dauer des Neustarts stehen die Services nicht zur Verfügung.
BASHmicrok8s stop;microk8s start
Einzelne Container neu starten mit delete pods. Alle anderen Container werden wie gewohnt weiterausgeführt. Beispiel für den workflow-Container:
CODEkns=master service=workflow-deploy kubectl delete pod -n $kns $(kubectl get pods -n $kns --no-headers -o custom-columns=":metadata.name"|grep $service)
Nach dem Neustarten steht das Zertifikat im gewünschten Container bereit und das Herstellen einer verschlüsselten Verbindung zu den Drittanbieteranwendungen ist möglich.