Seite 1 von 1

Opsi V4.2 SSL Zertifikat ersetzen

Verfasst: 01 Jun 2021, 11:45
von psycho.unibas
Hallo zusammen

Leider klappt es nicht mehr, unser frisch aktualisiertes Opsi (4.2.0.101 [python-opsi=4.2.0.197]) mit unserem eigenen SSL-Zertifikat zu versehen. In Version 4.1 hatte ich in der /etc/opsi/opsiconfd.conf folgendes stehen:

Code: Alles auswählen

ssl server key = /etc/opsi/privkey.pem
ssl server cert = /etc/opsi/fullchain.pem


Opsi 4.2 erkennt dies nicht mehr, auch nicht nach Anpassung zu:

Code: Alles auswählen

ssl-server-key = /etc/opsi/privkey.pem
ssl-server-cert = /etc/opsi/fullchain.pem
Und den Befehl

Code: Alles auswählen

opsi-setup --renew-opsiconfd-cert
kann ich auch nicht mehr ausführen, da dieser nicht mehr existiert (?):
ERROR: option --renew-opsiconfd-cert not recognized
und dies obwohl – zumindest laut Handbuch: https://download.uib.de/opsi4.2/documen ... 4.2-en.pdf – die Option noch existieren sollte.

Zudem habe ich versucht die Zertifikate unter /etc/opsi/ssl mit unseren eigenen zu erstzen, doch auch dies hat keinen Erfolg gebracht.

Kann mir da jemand weiterhelfen?

Philippe C.

Re: Opsi V4.2 SSL Zertifikat ersetzen

Verfasst: 01 Jun 2021, 13:54
von j.schneider
Hallo,

der opsiconfd 4.2 führt bei jedem Start sogenannte Setup-Tasks durch.
Diese sorgen dafür, dass der opsiconfd eine lauffähige Umgebung bekommt.
Die Setup-Tasks können auch manuell gestartet werden:

Code: Alles auswählen

opsiconfd setup
In der Default-Konfiguration erstellen die Setup-Tasks eine "opsi CA" unter:

Code: Alles auswählen

/etc/opsi/ssl/opsi-ca-key.pem
/etc/opsi/ssl/opsi-ca-cert.pem
Über diese CA wird dann automatisch ein Private Key / Zertifikat für den opsi-Server erzeugt:

Code: Alles auswählen

/etc/opsi/ssl/opsiconfd-key.pem
/etc/opsi/ssl/opsiconfd-cert.pem
Sollten die CA oder das Zertifikat nicht existieren, auslaufen oder aus irgendeinem anderen Grund nicht passen, werden sie automatisch neu erzeugt.
Man kann die Server-Zertifikate also löschen und sie werden dann über die Setup-Tasks neu angelegt.
Der Befehl "opsi-setup --renew-opsiconfd-cert" ist somit nicht mehr erforderlich.
Wir werden die Dokumentation entsprechend korrigieren.

Über die "opsi CA" werden auch alle opsi-Depot-Server automatisch mit Zertifikaten versorgt.
Der opsiconfd kümmert sich weiterhin vollautomatisch um die Verlängerung der CA und der Zertifikate.

Daher empfehlen wir die Verwendung der "opsi CA".
Übrigens kann die CA über einen aktuellen opsi-client-agent automatisch auf die Clients verteilt werden (https://download.uib.de/opsi4.2/documen ... ver2client).

Es können jedoch auch Zertifikate einer anderen CA verwendet werden.
In diesem Fall macht es Sinn die Setup-Tasks so zu konfigurieren, dass keine Prüfung der CA / Zertifikate stattfindet.
Das erreicht man über den folgenden Eintrag in der opsiconfd.conf:

Code: Alles auswählen

skip-setup = [ssl]
Man muss sich dann jedoch selbst darum kümmern Zertifikate und CA rechtzeitig zu erneuern und zu verteilen, insbesondere wenn man den opsi-client-agent so konfiguriert, dass er die Server-Zertifikate prüft (https://download.uib.de/opsi4.2/documen ... ver2client)!

Sollten die eigenen Zertifikate nicht funktionieren, bitte ich um die entsprechenden Meldungen aus der /var/log/opsi/opsiconfd/opsiconfd.log.

Grüße
Jan Schneider

Re: Opsi V4.2 SSL Zertifikat ersetzen

Verfasst: 01 Jun 2021, 14:46
von psycho.unibas
Hallo Jan,

Super, herzlichen Dank für die ausführliche Antwort: in diesem Falle werden wir dann die opsi CA verwenden (und damit keine Sorgen mehr bezüglich der Erneuerung etc. von den Zertifikaten mehr haben).

Gruss,
Philippe C.

Re: Opsi V4.2 SSL Zertifikat ersetzen

Verfasst: 27 Dez 2021, 13:49
von ricky_opsifan
Guten Tag zusammen,

ich habe bei unseren Servern eigene SSL Zertifikate abgelegt und in der /etc/opsi/opsiconfd.conf durch folgende Zeilen angepasst:

Code: Alles auswählen

ssl-server-key = /etc/opsi/ssl/certs/opsissl.key
ssl-server-cert = /etc/opsi/ssl/certs/opsissl.crt
skip-setup = [ssl]
Nach dem setzen der Rechte und dem Neustart des confd klappt das auch :)

Nur habe ich nun folgendes Problem: Nach einiger Zeit ersetzt die opsi CA einfach mein eigen hinterlegtes Zertifikat :(
Das entfernen der folgenden CA Dateien führt leider nur dazu, dass der opsiconfd nicht startet:

Code: Alles auswählen

/etc/opsi/ssl/opsi-ca-key.pem
/etc/opsi/ssl/opsi-ca-cert.pem
Durch einen Neustart des confd wird unser eigenes Zertifikat nicht einfach durch die der opsi CA ersetzt.
Es scheint mir eher so, als ob das willkürlich nach einer bestimmten Zeit ersetzt wird.
In der offiziellen Doku finde ich dazu aber leider nichts.

im Log finde ich folgenden Fehler (taucht minütlich auf):

Code: Alles auswählen

PermissionError: [Errno 1] Operation not permitted: '/etc/opsi/ssl/opsi-ca-key.pem'
[3] [2021-12-21 13:09:30.533] [               ] [Errno 1] Operation not permitted: '/etc/opsi/ssl/opsi-ca-key.pem'   (manager.py:139)
Traceback (most recent call last):
  File "opsiconfd/manager.py", line 135, in async_main
  File "opsiconfd/manager.py", line 104, in check_server_cert
  File "opsiconfd/ssl.py", line 374, in setup_server_cert
  File "opsiconfd/ssl.py", line 166, in store_local_server_key
  File "opsiconfd/ssl.py", line 96, in store_key
  File "opsiconfd/ssl.py", line 84, in setup_ssl_file_permissions
  File "OPSI/Util/Task/Rights.py", line 235, in set_rights
  File "OPSI/Util/Task/Rights.py", line 82, in apply
  File "OPSI/Util/Task/Rights.py", line 77, in chown
Kann ich irgendwie verhindern, dass die opsi CA das hinterlegte Zertifikat ersetzt?
Ist der Dateiort /etc/opsi/ssl/certs/ für das eigene Zertifikat vielleicht ungünstig gewählt?

Re: Opsi V4.2 SSL Zertifikat ersetzen

Verfasst: 28 Dez 2021, 17:28
von ThomasT
Ich würde es mal mit

Code: Alles auswählen

skip-setup = [ssl]
in der opsiconfd.conf ausprobieren.

Re: Opsi V4.2 SSL Zertifikat ersetzen

Verfasst: 28 Dez 2021, 18:31
von j.schneider
Aus oben genannten Gründen rate ich weiterhin von der Verwendung eigener Zertifikate ab.
Dennoch sollten eigene Zertifikate grundsätzlich funktionieren.
In diesem Fall würde ich in der opsiconfd außer

Code: Alles auswählen

skip-setup = [ssl]
nichts weiter ändern.
Man kann weiterhin die Standardpfade

Code: Alles auswählen

ssl-server-key = /etc/opsi/ssl/opsiconfd-key.pem
ssl-server-cert = /etc/opsi/ssl/opsiconfd-cert.pem
verwenden und das eigenen Zertifikat / Key hier ablegen.

Während der opsiconfd läuft, prüft er in regelmäßigen Abständen, ob die Zertifikate erneuert werden müssen.
Es gab mal einen Bug, dass das trotz skip-setup = [ssl] durchgeführt wurde.
Das könnte hier der Fall sein.
Das Problem wurde in Version 4.2.0.215 behoben.

Bitte auch beachten, dass der ssl-server-key mit der ssl-server-key-passphrase verschlüsselt bzw. entschlüsselt wird.

Re: Opsi V4.2 SSL Zertifikat ersetzen

Verfasst: 03 Jan 2022, 13:30
von ricky_opsifan
Hi j.schneider und Thomas,

der Hintergrund warum wir ein selfsigned Zertifikat verwenden ist, dass wir webDAV verwenden wollen für unser opsi WAN Depot, welches wir im Internet routen möchten. Aus Sicherheitsgründen wollen wir nicht, dass alle unsere Rechner der opsi CA vertrauen.

Also

Code: Alles auswählen

skip-setup = [ssl]
hatte ich auf jeden Fall schon drin... Ich versuche Mal die von Ihnen genannten Standardpfade und Dateinamen (auch .pem anstelle von .key) zu belassen für meinen selfsigned Zertifikat, also:

Code: Alles auswählen

ssl-server-key = /etc/opsi/ssl/opsiconfd-key.pem
ssl-server-cert = /etc/opsi/ssl/opsiconfd-cert.pem
Bitte auch beachten, dass der ssl-server-key mit der ssl-server-key-passphrase verschlüsselt bzw. entschlüsselt wird.
Ich bin mir nicht genau sicher, ob ich das richtig verstehe... Also ich habe den Key von der Passphrase befreit mit dem folgenden Befehl:

Code: Alles auswählen

openssl rsa -in opsissl.key -out opsissl.key
Ansonsten konnte der confd gar nicht erst gestartet werden.

meine opsiconfd Version ist opsiconfd 4.2.0.204-1, vielleicht liegt es auch daran... ich upgrade es auch mal

Vielen Dank für die Antwort!

LG

Ricky

Re: Opsi V4.2 SSL Zertifikat ersetzen

Verfasst: 19 Jan 2022, 12:33
von ricky_opsifan
Wollte kurz Rückmeldung geben, dass nun alles klappt und mein Selfsigned Zertifikat nicht mehr ersetzt wird :D

Vielen Dank für die Hilfe!

Re: Opsi V4.2 SSL Zertifikat ersetzen

Verfasst: 25 Apr 2024, 13:37
von melha
j.schneider hat geschrieben: 28 Dez 2021, 18:31 Aus oben genannten Gründen rate ich weiterhin von der Verwendung eigener Zertifikate ab.

Opsi läuft bei mir in Docker und Docker wiederum auf einer gehosteten VM.
Ich müsste bei der VM wahrscheinlich noch ein eigenes Zertifikat einbinden.
Kann es dann da zu Problemen kommen mit der Opsi CA, dass sich das irgendwie beißt? Oder ist das egal?
So weit reichen meine Netzwerkkenntnisse leider nicht...