[Howto] Eigenes Zertifikat mit "qnap-letsencrypt"

  • Da ich für die Bedienung des NAS von außen andere als die Standard-Ports (443) benutzen möchte, klappt das leider nicht so einfach.

    Ich hatte auch probiert sowohl den Port 443 als auch 80 auf das NAS per Portweiterleitung zu nutzen, es funktionierte aber nicht, warum auch immer.


    Mit der neuen Fritz!Box Firmware hat sich das Problem aber wahrscheinlich sowieso erledigt, da die auch direkt Let's Encrypt unterstützen soll. Dann kann ich das Zertifikat dort exportieren und in das QNAP importieren und fertig.

  • Dann kann ich das Zertifikat dort exportieren und in das QNAP importieren und fertig.


    Toll wäre es wenn man dies dann auch noch mit einem Script machen könnte. (vom NAS aus)


    Grüße

    Kasimodo


    ps: bei meiner alten Fritte kann ich über ein Script vom NAS aus Ports öffnen und schließen. Leider habe ich dies für die neuere Firmware nicht hin bekommen.

  • Hallo,


    Bei mir hat das Script super funktioniert. Vielen Dank für die Hilfe.


    Weiß einer wie ich die Dateien exportieren kann, bzw. wo sie genau liegen?

    Oder vielleicht wie ich daraus eine pfx-Datei mache?



    Ich konnte mir selbst helfen ;)


    vielleicht für den ein oder anderen auch Interessant:


    # Eingabe via SSH


    cd /opt/qnap-letsencrypt/letsencrypt

    openssl pkcs12 -export -in chained.pem -inkey account.key -out output.pfx


    # beliebiges Passwort eingeben

    # output.pfx wird unter "/opt/qnap-letsencrypt/letsencrypt" erzeugt

    Einmal editiert, zuletzt von asp27 ()

  • Nun ist es wieder an der Zeit und es klappt wieder nicht, liegt es an der neuen Firmware?

    Port 80 ist offen, in meinem Fall unter Service Binding ist Web Server auch aktiviert, Web Server an sich ist auch aktiviert, ich komme über die DynDNS Adresse auch auf die Webseite per http, also Port 80, und dennoch will es nicht klappen.


    Edit: Verrückt, einfach eine Stunde gewartet, nochmal probiert, und es funktioniert. Unerklärlich.

    Einmal editiert, zuletzt von UpSpin ()

  • Servus,


    hat jemand eine Idee, warum das aktuelle Zertifikat erst nach einem Neustart der NAS genutzt wird? Obwohl das neue Zertifikat erfolgreich erstellt wurde.

    Danke.


    Viele Grüße,


    Fbn

  • Mit der neuen Fritz!Box Firmware hat sich das Problem aber wahrscheinlich sowieso erledigt, da die auch direkt Let's Encrypt unterstützen soll. Dann kann ich das Zertifikat dort exportieren und in das QNAP importieren und fertig.


    Tja, zumindest für mich funktioniert das leider nicht. Die Funktion wird von der Fritz!Box leider nur für den MyFritz Zugang angeboten. Dort wird ja mit <krytischerName>@myfritz.net gearbeitet. Ich benutze das aber über einen anderen dyndns Provider, der auch vernünftige Namen anbietet, die man sich merken kann.

  • Nachdem ich jetzt auch mit der Zertifikatserneuerung (über die Systemsteuerung) langsam am verzweifeln war, weil sich das Zertifikat einfach nicht erneuern lassen wollte,

    , bin ich jetzt auch mal der Anleitung hier gefolgt und hatte innerhalb weniger Minuten ein funktionierendes SSL Zertifikat - danke!

    Bin schon gespannt wie die automatische Erneuerung läuft - ich hoff ich kann mir in Zukunft die ganze Probiererei über die Systemsteuerung damit ersparen!

  • und wenn du nun einmal ein funktionierendes Zertifikat hast, dann versuche jetzt mal über die Systemsteuerung ein neues Zertifikat anzufordern ;) (das jetzt schon vorhandene nicht vorher deaktivieren!)


    mal sehen, wie da denn deine Erfahrungen sind! :)

  • Hallo,


    Ich habe auch das Skript benutzt um ein Zertifikat benutzen würde es gerne für das Plugin WebTools von Plex benutzen.

    Leider finde ich die .crt und .key datei nicht welche ich in WebTools einbinden kann.

  • leider finde ich die .crt und .key datei nicht welche ich in WebTools einbinden kann.

    hier schon nachgeschaut?

    /share/CE_CACHEDEV1_DATA/.qpkg/Entware/qnap-letsencrypt

    bzw. falls CE_CACHEDEV1_DATA bei dir anders heißt, einfach nach /opt/qnap-letsencrypt wechseln

  • Zertifikatserneuerung über die Systemsteuerung (QTS 4.3.5.0760) schlägt fehl. Die Portfreigaben sind an der FritzBox vorgenommen.

    Allerdings ist der Admin durch einen Neuen ersetzt und abgeschalten. Damit gab es bereits Probleme mit anderen APPs auf der Qnap. Mein Verdacht ist, dass der Standard-Admin root-Rechte besitzt. Oder weshalb sollte ein neuer Admin nicht alles notwendige administrieren können?

  • Moin,


    bin jetzt mal die Anleitung in Post #1 durchgegangen und stoße nun nach Eingabe von Zeile #9 des Shell-Scripts auf folgende Fehlermeldung:


    Code
    [/opt] # git clone https://github.com/Yannik/qnap-letsencrypt.git
    Cloning into 'qnap-letsencrypt'...
    fatal: unable to access 'https://github.com/Yannik/qnap-letsencrypt.git/': error setting certificate verify locations:
      CAfile: /opt/cacert.pem
      CApath: /opt/etc/ssl/certs


    Die Pfade habe ich überprüft per WinSCP. cacert.pem ist nicht vorhanden und /opt/etc/ss/certs ist vorhanden.


    Wie komme ich nun weiter? Habe da absolut keinen Plan :(

  • Funzt aber noch immer!


    Code
    wget --no-check-certificate https://curl.haxx.se/ca/cacert.pem

    alternativ:

    Code
    curl --silent --location --remote-name --insecure https://curl.haxx.se/ca/cacert.pem

    siehe auch:

    https://github.com/Yannik/qnap-letsencrypt


    3 Mal editiert, zuletzt von kasimodo ()

  • Ergebnis zu Code 1:

    Code
    [admin@QNAPTS412 ~]$ wget --no-check-certificate https://curl.haxx.se/ca/cacert.pem
    --2018-12-14 17:13:32--  https://curl.haxx.se/ca/cacert.pem
    Resolving curl.haxx.se... 2a04:4e42:1b::561, 151.101.114.49
    Connecting to curl.haxx.se|2a04:4e42:1b::561|:443... connected.
    OpenSSL: error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version
    Unable to establish SSL connection.

    Hatte aus den Beiträgen verstanden, dass die Fehlermeldung Unable to establish SSL connection. ignoriert werden kann.


    Interessanterweise antwortet der Server beim nächsten Befehl mit folgendes:

    Code
    [admin@QNAPTS412 ~]$ git config --system http.sslVerify true
    -sh: git: command not found

    Wie kann das nun sein? Entware-ng ist installiert. Beim Restart von Entware wird nun gemeldet:

    Code
    [admin@QNAPTS412 ~]$ /share/HDA_DATA/.qpkg/Entware-ng/Entware-ng.sh restart
    Disable Entware-ng/opkg
    /share/HDA_DATA/.qpkg/Entware-ng/Entware-ng.sh: line 35: /opt/etc/init.d/rc.unslung: No such file or directory
    Enable Entware-ng/opkg
    Segmentation fault
    Segmentation fault
    Segmentation fault

    Per WinSCP habe ich den Pfad /opt/etc/init.d/rc.unslung überprüft, jedoch ist im Stammverzeichnis nur eine Verknüpfung opt vorhanden. Diese leitet dann weiter auf /share/HDA_DATA/.qpkg/Entware-ng, von woaus ich dann über ./etc/init.d die rc.unslung finde, also unter /share/HDA_DATA/.qpkg/Entware-ng/etc/init.d/rc.unslung.


    Hatte dann die Idee vorher mal nach /opt zu wechseln und habe den Code dann nochmal ausgeführt. Das Ergebnis ist nun:

    Code
    [admin@QNAPTS412 opt]$ /share/HDA_DATA/.qpkg/Entware-ng/Entware-ng.sh restart
    Segmentation fault

    Also noch mal zurück auf Anfang und und den Code nach Anleitung nacheinander eingegeben:

    Bis hierhin ohne Port 80 und Weiterleitung in der Fritzbox und ohne http für Webserver und Admin-Oberfläche zu erlauben. Jedoch ändert die Port-80-Weiterleitung und Freigabe von http für Webserver und Admin-Oberfläche nix am Ergebnis. Zur Sicherheit hatte ich sogar noch den http-Port der Admin-Oberfläche weitergeleitet.


    Was ist hier nun verkehrt gelaufen??? :handbuch:


    Statt Python 2.7 habe ich 3.5 installiert, da eine ältere Version im QNAP-Store nicht vorhanden war. Anschließend Entware-ng installiert und darüber dann git-http, was auch alles geklappt hatte. [admin@QNAPTS412 opt]$ wget --no-check-certificate https://curl.haxx.se/ca/cacert.pem und [admin@QNAPTS412 opt]$ curl --silent --location --remote-name --insecure https://curl.haxx.se/ca/cacert.pem hatte gestern auch keine Fehlermeldung, erst seit heute :(

  • Niemand eine Idee oder einen Hinweis?

    Habe die Lösung selbst gefunden, warum git clone https://github.com/Yannik/qnap-letsencrypt.git nicht funktionieren wollte:


    wget --no-check-certificate https://curl.haxx.se/ca/cacert.pem legte die Datei cacert.pem im Verzeichnis /root/ ab, jedoch sucht git clone https://github.com/Yannik/qnap-letsencrypt.git im Stammverzeichnis /.


    cacert.pem ins Stammverzeichnis kopiert und git clone https://github.com/Yannik/qnap-letsencrypt.git nochmal drüberlaufen lassen und schon klappte es :)

    Allerdings hakt es nun bei ./renew_certificate.sh. Und das ähnlich stark wie bei einigen meiner Vorredner: Weboberfläche zerschossen.


    Gut, die Admin-Oberfläche ist mittlerweile nach mehrmaligem restart von /etc/init.d/Qthttpd.sh, /etc/init.d/thttpd.sh und /mnt/ext/opt/apache/bin/apachectl wieder erreichbar, jedoch spuckt nextcloud noch den üblichen binary-log Fehler aus und phpMyAdmin lässt sich nicht öffnen bzw. einloggen - ich erhalte nur diese Fehlermeldung:


    Code
    Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly. Also ensure that cookies are enabled in your browser.


    Der mysql binary-log-Fehler [HY000] tritt übrigens nach jedem Neustart der NAS auf, somit scheint der Befehl SET GLOBAL binlog_format = 'ROW'; einen Reboot nicht zu überleben :(

  • Hallo Allerseits,


    seit einigen Tage kann ich kein neues Zertifikat erzeugen.


    Der Fehler "ValueError :Error registring: 400"

    weist darauf hin , dass 2 Dokumenttypen voneinander abweichen.


    Es sind die folgenden "LE-SA_v1.1.1-August-1-2016" zu "LE-SA_v1.2-November-15-2017"


    Bis Januar hat die Aktualisierung des Zertifikates noch geklappt. Bin etwas ratlos. Bin ich der Einzige der diese Möglichkeit der Herstellung des Zertifikates genutzt hat ?


    Beste Grüße