OPNsense Forum
International Forums => German - Deutsch => Topic started by: ChrisChros on February 04, 2022, 02:42:45 pm
-
Hallo zusammen,
ich habe bei mir Nextcloud 23.0.0 auf meinem TrueNAS-System als Plugin laufen. So weit ist alles eingerichtet und läuft auch. Währen der Installation wird auch nginx eingerichtet und es findet ein redirect auf HTTPS statt. Die ganze Zertifikation mit SSL wird eigentlich nicht benötigt da nur von intern zugegriffen werden kann, ist aber Teil der Installationsroutine von dem Plugin.
Ich möchte nun gerne die Backupfunktion von OPNsense nutzen und alles in Nextcloud ablegen. Doch leider bekomme ich keinen Zugriff auf Nextcloud, ich vermute das dies mit dem HTTPS zusammenhängt.
Die eingegebenen Daten sind alle richtig. Dies konnte ich bestätigen, in dem ich die Datei
/usr/local/opnsense/mvc/app/library/OPNsense/Backup/Nextcloud.php
mit folgenden Zusätzen versehe:
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false,
Natürlich ist das nicht die schönste Art weshalb ich das gerne mit Zertifikaten lösen möchte. Zumal die Änderungen wahrscheinlich bei einem Update wieder überschrieben werden.
Woher bekomme ich nun das verwendete Zertifikat von Nextcloud und wie pflege ich diese in OPNsense ein damit der Zugriff klappt?
Danke für eure Unterstützung
Gruß Chris
-
Du musst auf der OPNsense ein CA-Zertifikat machen und ein Server-Zertifikat damit erzeugen und signieren. Alternativ kannst du das CA-Zertifikat auch in die OPNsense importieren oder ein öffentliches Zertifikat verwenden.
-
OK und woher bekomme ich das CA-Zertifikat um es in OPNsense zu importieren?
Kenne mich mit der ganzen Zertifikatsgeschichte Null aus.
-
Kannst du direkt auf der OPNsense erzeugen. Dann ein Server-Zertifikat erzeugen, das mit dem CA-Zertifikat signiert ist und das dann am Webserver, auf dem Nextcloud läuft, installieren. Wichtig dabei ist, dass der interne Hostname oder die IP-Adresse drin steht - je nachdem mit was du zugreifen willst.
-
welche IP Adresse, die von OPNsense oder Nextcloud?
-
Im Zertifikat immer alles von dem System, auf dem es betrieben wird. Das heiß beim Server-Zertifikat die Daten vom Nextcloud-Server.
-
OK, soweit so gut.
Wenn ich das richtig sehe nutz das plugin nginx. In der nginx.conf kann ich sehen wo aktuell die Zertifikate abgelegt sind:
# SSL
# ----------
ssl_certificate /usr/local/etc/letsencrypt/live/truenas/fullchain.pem;
ssl_certificate_key /usr/local/etc/letsencrypt/live/truenas/privkey.pem;
# Verify chain of trust of OCSP response using Root CA and Intermediate certs
ssl_trusted_certificate /usr/local/etc/letsencrypt/live/truenas/chain.pem;
muss ich dieser ersetzten?
Kann ich dort hinerlegten Zertifikaten in OPNsense einlesen damit es funtioniert?
Anbei noch ein screenshoot welche Zertifikate in dem Ordner alle sind. hilft das irgendwie weiter?
-
So habe es nun hinbekommen. Ich vermute, es ist nicht die schönste Möglichkeit, aber es klappt.
Zuerst habe ich, wie @fabian beschrieben hat, auf der OPNsense ein CA-Zertifikat erstellt und dann ein Server-Zertifikat damit erzeugen und signieren. Bei dem CA und Server-Zertifikat darauf achten das eine entsprechend lange Laufzeit eingetragen ist, somit ist man für die nächsten Jahre gut gewappnet.
Anschließend habe ich user cert und user key von OPNsense exportiert und mit einem Editor geöffnet.
Anschließend über die GUI von TrueNAS das Nextcloud Plugin stoppen. In dem Nextcloud Jail unter
/usr/local/etc/letsencrypt/live/truenas/
liegen die Zertifikate ab. Dort gibt es einmal fullchain.pem und privatkey.pem.
Das Zertifikat fullchain.pem habe mit nano geöffnet und mit dem Inhalt aus dem exportierten user cert überschrieben. Das Gleiche habe ich auch mit privatkey.pem und dem Inhalt von dem exportierten user key gemacht.
Danach wieder das Plugin gestartet und in OPNsense unter SYSTEM: CONFIGURATION: BACKUPS die benötigten Daten für Nextcloud eingegeben und gespeichert.
et voila das Backup kann wieder in Nextcloud gespeichert werden.
Aktuell habe ich im error.log von nginx noch folgenden Eintrag:
2022/02/04 23:17:05 [warn] 91318#101931: "ssl_stapling" ignored, issuer certificate not found for certificate "/usr/local/etc/letsencrypt/live/truenas/fullchain.pem"
Hat da jemand vielleicht noch eine Idee wie ich diese Warnung weg bekomme oder ist das nicht wirklich tragisch, bzw. bei einem selbstsignierten Zertifikat ganz normal?
Gruß Chris
-
Gibt es eine Möglichkeit das Zertifikat von Nextcloud in die OPNsense einzupflegen?
-
Das Setting dürfte in der nginx.conf zu finden sein
-
das müsste ja dann das hier sein oder?
ssl_certificate /usr/local/etc/letsencrypt/live/truenas/fullchain.pem;
ssl_certificate_key /usr/local/etc/letsencrypt/live/truenas/privkey.pem;
# Verify chain of trust of OCSP response using Root CA and Intermediate certs
ssl_trusted_certificate /usr/local/etc/letsencrypt/live/truenas/chain.pem;
certificate_key = Privat Key
trusted_certificate = CA
certificate = Zertifikat
Ist die Zuordnung so richtig?
-
Da müsste man ins chain.pem rein schauen.
Oder es ist beim Zertifikat dabei. Die können im PEM einfach untereinander sein.
-
In der Datei chain.pem hat nur folgenden Inhalt:
-----BEGIN CERTIFICATE-----
MIIDSDCCAjCgAwIBAgIUY6RcfCDrTg2BEgNZhZzpCLSKvZ4wDQYJKoZIhvcNAQEL
.
.
.
.
.
3ZUGddKmMSahL+0YrLztSrEYmsd9CL0qxdqmUw==
-----END CERTIFICATE-----
Das steht nur ein solcher Block drin.
In der Datei fullchain.pem sieht es genauso aus.
-
Schau dir den Inhalt an - Wenn es ein CA-Zertifikat ist, dann kannst du's importieren.
-
Woran kann ich ein CA erkennen.
Ist an dem Aufbau des CA etwas besonders?
Also das chain.pem scheint das CA-Zertifikat zu sein.
-
Habe jetzt mal das chain.pem als CA in OPNsense importiert.
Muss ich jetzt noch das fullchain.pem in SYSTEM: TRUST: CERTIFICATES zusammen mit dem privkey.pem importieren?
UPDATE:
Habs jetzt einfach mal so gemacht und die originalen Zertifikate von Nextcloud wieder hergestellt. Leider funktioniert dann das Backup auf Nextcloud nicht mehr.