Let's Encrypt mit eigener Domain (aber ohne QNAP Cloud)

Ich habe meine eigene Domain und wollte ein Zertifikat von Letsencrypt ohne myqnapcloud dazwischen.

Zunächst habe ich versucht, einen Reverse Proxy vor das NAS zu setzen, aber das hat sich als problematisch für qulog herausgestellt, darum habe ich ihn wieder entfernt.

Als nächstes habe ich acme.sh direkt installiert und das scheint zu funktionieren. Hier sind die Schritte:

# Hol dir den API-Key für deinen DNS-Anbieter: Dadurch muss der Webserver das Verifizierungstoken nicht öffentlich bereitstellen
# Per SSH als admin einloggen, ins Shell wechseln
cd /tmp
curl -L \
  https://github.com/acmesh-official/acme.sh/archive/master.tar.gz \
  -o acme.sh.tar.gz
tar -xvf acme.sh.tar.gz
cd acme.sh-master/
# Home-Verzeichnisse überstehen Neustarts / Updates, aber jedes freigegebene Verzeichnis funktioniert
mkdir /share/CACHEDEV1_DATA/homes/admin/acme.sh
./acme.sh --install \
  --home /share/CACHEDEV1_DATA/homes/admin/acme.sh \
  -m "youremail@example.org"
# Das acme Installationsskript verändert die RAM-Version des Crontab, Änderungen müssen persistent gemacht werden
crontab -l | grep acme.sh >> /etc/config/crontab
# Passe den DNS-Server an, hier verwende ich die (Standard-)Zone von OVH
export OVH_END_POINT="ovh-eu"
cd /share/CACHEDEV1_DATA/homes/admin/acme.sh/
./acme.sh --issue \
        --dns dns_ovh -d "yournas.yourdomain.com" \
        --reloadcmd "cat
/share/CACHEDEV1_DATA/homes/admin/acme.sh/yournas.yourdomain.com_ecc/yournas.yourdomain.com.key
/share/CACHEDEV1_DATA/homes/admin/acme.sh/yournas.yourdomain.com_ecc/fullchain.cer
> /etc/config/stunnel/stunnel.pem && /etc/init.d/stunnel.sh restart"

Warnungen und Hinweise:

  • Wenn dir myqnapcloud lieber ist als wie ich am System zu basteln, mach das ruhig: Das funktioniert für mich, aber falls etwas kaputt geht, musst du es auch selbst wieder reparieren :wink:
  • Ich habe NICHT HTTP-Validierung verwendet, sondern DNS: Schau im API-Dokument deines Domainanbieters nach, wie du den API-Key erhältst, um ihn mit der DNSAPI zu verwenden
  • Mein NAS ist NICHT im Internet erreichbar und ich habe meine lokale unbound-Installation so konfiguriert, dass ein Eintrag für yournas.yourdomain.com gefälscht wird, sodass acme.sh und meine lokalen Clients zufrieden sind
  • getestet: Übersteht Neustarts, tägliche Suspend-/Standby-Zyklen UND Updates

Ich bin verwirrt. Wenn dein NAS nicht mit dem Internet verbunden ist, wozu brauchst du ein Zertifikat? Außer du verwendest dein NAS in einer „Unternehmens“-Umgebung mit vielen möglichen Nutzern und möchtest ein gewisses Maß an Sicherheit erreichen, gibt es keinen Grund für ein lokales Zertifikat.

Was ist dein Grund, eines zu verwenden?

Zum Beispiel die Gewohnheit loszuwerden, selbstsignierte Zertifikate zu akzeptieren.

Etwas Neues zu lernen, wie schon im anderen Thread erwähnt, zählt auch dazu … und vielleicht braucht es jemand anderes in einem Kontext, wo es nicht nur ein Nice-to-have ist und von dieser kurzen Anleitung profitieren kann.

Danke fürs Teilen!!!

Es wäre schön, wenn die Funktionalität von Let’s Encrypt als kleine App im QNAP App Store verfügbar wäre. So könnte der Prozess automatisiert werden. Ich benutze außerdem myQNAPcloud nicht, daher wäre eine separate App nur für Let’s Encrypt ohne myQNAPcloud sehr praktisch.