Nextbox: Herunterfahren und Zertifikate

Hallo,

ich bin nun glücklich im Besitz meiner Nextbox.
Verwirrt hat mich spontan, dass ich nirgends eine Info finde, wie ich sie - wenn mal erforderlich - herunterfahre. Bisher kam mir nur als Idee, mich per SSH anzumelden und dann

sudo halt

auszuführen. Ist das wirklich der einzige Weg?

Eine weitere Frage, die etwas tiefer ins Detail geht: Ich möchte die Nextbox eigentlich nicht aus dem Internet erreichbar machen. Dennoch würde ich auch im eigenen Netz TLS-Verschlüsselung nutzen - ein Zertifikat habe ich schon. Wo muss ich das (per SSH) hinkopieren, wo muss eventuell noch eine Einstellung geändert werden und ist das ggf. bei jedem Update erneut notwendig?

Vielen Dank!

NC-Fan

Hey NC-Fan,

Ja, momentan ist das noch der einzige Weg. Aber fürs nächste Release ist das bereits geplant: add reboot and shutdown to api · Issue #6 · Nitrokey/nextbox-daemon · GitHub

Hui, das ist aktuell nicht wirklich supported. Ungefähr folgendes müsste man grob machen:
Die apache2 config liegt hier: /srv/apache2, dort müsste man entsprechenden Eintrag in sites-available machen (file-template hier ganz oben: nextbox-daemon/nextbox_daemon/certificates.py at main · Nitrokey/nextbox-daemon · GitHub) … dann aktivieren mit verlinken in sites-enabled

Das Zertifikat + Keyfile kann dann beliebig abgelegt werden, solange der angegebene Pfad passt in der angelegten Apache2-config.

Habe es mal hier als todo für die dokumentation hinzugefügt: NextBox: Missing documentation · Issue #38 · Nitrokey/nitrokey-documentation · GitHub weil die “Lösung” (hier: Implement other TLS certificate deployments · Issue #51 · Nitrokey/nextbox · GitHub) aktuell noch niedrige Priorität hat.

Gruß
Meissner

2 Likes

Wow, die Antwort war ja fix. Danke dafür.
Welcher Ablageort für ein Zertifikat übersteht denn sicher ein Update?

/srv ist auf der internen Festplatte, entweder direkt in /srv oder dort ein Verzeichnis anlegen, dann sollte das problemlos überleben…

Vorsicht das ist ungetestet, gerne hier Feedback geben wie das funktioniert hat.

Wenn ich am Wochenende dazu komme, werde ich berichten.

Wochenendwetter war zu schön - aber mittlerweile musste ich auch abends mal rumprobieren.

Ich habe das Template aus der Python-Datei übernommen und nur meine eigenen Zertifikatspfade eingefügt,und die Datei in “/srv/apache2/sites-available” abgespeichert.
Anschließend den vorhandenen Link in “sites-enabled” gelöscht und dann einen auf meine Datei erstellt.

Dann noch entsprechende Links von “mods-enabled” auf die Dateien ssl.conf, ssl.load und socache_shmcb.load in “mods-available” verlinkt aber

sudo docker exec nextbox-compose_app_1 apachectl configtest (oder ebenso: sudo docker exec nextbox-compose_app_1 apachectl graceful) melden nun folgenden Fehler:

SSLCertificateFile: file ‘/srv/own-ca/certificate.crt’ does not exist or is empty

Nun, die Datei ist da abgelegt für alle lesbar und enthält ein korrektes Zertifikat. Aktuell stehe ich auf dem Schlauch - vielleicht wird es morgen besser.

Update: Es lag daran, dass der Docker-Container die Zertifikatsdateien nicht lesen kann. Jetzt habe ich sie in “/srv/letsencrypt” abgelegt und in der Datei die Pfade als “/etc/letsencrypt” angegeben.
Jetzt meldet er folgendes, das ich mir aber erst morgen weiter ansehen werde:

apache2: Could not reliably determine the server’s fully qualified domain name, using 172.18.238.5. Set the ‘ServerName’ directive globally to suppress this message

Ach ja, noch eine niedrigpriore Idee: Ich benenne die Rechner in meinem Netz ja nach eigenem Schema. So etwas gefällt Nextcloud nicht und es meldet:

Zugriff über eine nicht vertrauenswürdige Domain

Bitte kontaktiere Deinen Administrator. Wenn Du Administrator bist, bearbeite die „trusted_domains“-Einstellung in config/config.php. Siehe Beispiel in config/config.sample.php.

Wenn eigenen Zertifikate eingebaut werden, könnte auch die Anpassungsmöglichkeit aktiviert werden.
(Ich muss nur mal schauen, ob eine Aktualisierung meinerseits ein Update übersteht.)

1 Like

Uha, ja natürlich, hab ich leider nicht dran gedacht, der Vorteil wenn es in /srv/letsencrypt ist dass es auch mit gebackuped wird.

Das sind die TrustedDomains (Installation wizard — Nextcloud latest Administration Manual latest documentation), diese sind ein Sicherheitsfeature von Nextcloud, die werden voll verwaltet vom NextBox Daemon, man kann aber eine einfach über die “Static Domain” Konfiguration hinzufügen, da werden aber aktuell nur “regelkonforme” Internetdomains gehen, hab das mal als need hier vermerkt: Implement other TLS certificate deployments · Issue #51 · Nitrokey/nextbox · GitHub (dass man da beliebige eingeben möchte)

So, jetzt läufts.
Ich musste in “/srv/apache2/apache2.conf” nur noch die Zeile

ServerName meinServerName

ergänzen.

Ja und in der config.php von nextcloud die trusted domain. Aber das ist ja unabängig vom eigenen Zertifikat.

Hallo NC-Fan,

ich stehe vor dem gleichen Problem wie du im Juli 21. Ich möchte meine Nextcloud/box nur im lokalen Netzwerk benutzen und falls nötig, von außen über einen VPN zugreifen.
Da ich überwiegend Applegeräte benutze brauche ich auch einTLS Zertifikat, da apps von Apple wie beispielsweise der Kalender nur eine Verbindung herstellen, wenn ein Zertifikat vorhanden ist.
Hast du vielleicht eine detaillierte Anleitung für mich, wie ich ein eigenes Zertifikat erstelle und wie ich dieses auf den Sever implementiere? Vorab, ich bin leider nicht ganz so fit in dem Thema.

Viele Grüße

Hallo NBC,

was die Implementierung auf der Nextbox angeht, habe ich im Forum eigentlich alles beschrieben, was ich gemacht habe. Wenn du da konkrete Fragen hast, kann ich nochmal nachschauen. Aber genauer wüsste ich momentan nicht mehr, als damals.
Die Erstellung des Zertifikats habe ich mit Easy-RSA erledigt. Erst eine CA erstellen, dann die Zertifikate (damit musste ich nur das CA-Zertifikat in meine Geräte importieren und alle davon unterzeichneten Zertifikate für Nextbox, NAS, etc. wurden akzeptiert). Wie Easy-RSA unter verschiedenen Systemen bedient wird, dazu gibt es viele Anleitungen im Netz - bei Apple habe ich persönlich keine Ahnung.
Ansonsten schreibe mir ruhig, wenn du noch konkrete Fragen hast.

Also bisher hat das Zertifikat alle Updates überlebt. Wobei, da die im Hintergrund laufen, bekomme ich die ja gar nicht so mit. :wink:

1 Like