Hur man genererar LetsEncrypt SSL-certifikat med CloudFlare DNS-01 Challenge och använder det på Synology NAS

Hur Man Genererar Letsencrypt Ssl Certifikat Med Cloudflare Dns 01 Challenge Och Anvander Det Pa Synology Nas



Disk Station Manager v7 (DSM 7) är operativsystemet för Synology NAS-enheter. Du kan konfigurera Let's Encrypt SSL-certifikat för din Synology NAS från DSM 7-webbgränssnittet. Som standard använder Synology DSM 7 HTTP-01-utmaningen för att verifiera ägandet av domänen (som du vill använda för din Synology NAS) och utfärda ett SSL-certifikat för domänen. Men HTTP-01-utmaningen fungerar inte om du inte har en offentlig IP-adress och din dator är tillgänglig från internet. Så om du vill använda Let's Encrypt SSL-certifikat för ditt hemnätverk eller privata nätverk måste du istället använda DNS-01-utmaningen. När DNS-01-utmaningen används, verifierar Let's Encrypt ägandet av domänen med hjälp av domänens DNS-server. Så det fungerar för privata nätverk också. Tyvärr erbjuder Synology DSM 7-webbgränssnittet inget sätt att erhålla Let's Encrypt SSL-certifikat med DNS-01-utmaningen.

Lyckligtvis kan programmet 'acme.sh' installeras på din Synology NAS och används för att generera och förnya Let's Encrypt SSL-certifikat med DNS-01-utmaningen.







I den här artikeln kommer vi att visa dig följande:



  • Så här installerar du 'sh' på din Synology NAS
  • Hur man använder 'acme.sh' för att generera ett Let's Encrypt SSL-certifikat (via DNS-01-utmaningen) för domännamnet som du använder på din Synology NAS
  • Så här installerar du det 'acme.sh'-genererade Let's Encrypt SSL-certifikatet på din Synology NAS
  • Så här konfigurerar du DSM 7-operativsystemet på din Synology NAS för att använda det genererade Let's Encrypt SSL-certifikatet
  • Så här konfigurerar du din Synology NAS för att automatiskt förnya de genererade Let's Encrypt SSL-certifikaten med 'acme.sh'

I den här artikeln kommer vi att använda CloudFlare DNS-servern för demonstration. Du kan använda andra DNS-tjänster som stöds av acme.sh också. Allt du behöver göra är att göra nödvändiga justeringar.



Ämne för innehåll:

  1. Skapa en Certadmin-användare på Synology NAS
  2. Konfigurera CloudFlare DNS Server för LetsEncrypt DNS-01 Challenge
  3. Konfigurera andra DNS-tjänster för LetsEncrypt DNS-01 Challenge
  4. Åtkomst till Synology NAS-terminalen via SSH
  5. Ladda ner Acme.sh på din Synology NAS
  6. Installera Acme.sh på din Synology NAS
  7. Generera ett Let's Encrypt SSL-certifikat med Acme.sh för din Synology NAS
  8. Installera Let's Encrypt SSL-certifikatet på din Synology NAS med Acme.sh
  9. Ställa in Let's Encrypt SSL-certifikatet som standard på din Synology NAS
  10. Konfigurera Synology NAS för att automatiskt förnya ett Let's Encrypt SSL-certifikat med Acme.sh
  11. Slutsats
  12. Referenser

Skapa en Certadmin-användare på Synology NAS

Först bör du skapa en ny administratörsanvändare på din Synology NAS för att generera och förnya Let's Encrypt SSL-certifikaten.





För att skapa en ny administratörsanvändare på Synology NAS, klicka på Kontrollpanel [1] > Användargrupp [2] från DSM 7 webbgränssnitt.



Klicka på 'Skapa' från fliken 'Användare'.

Skriv in 'certadmin' som användarnamn [1] , en valfri kort beskrivning för användaren [2] , användarens inloggningslösenord [3] och klicka på 'Nästa' [4] .

För att skapa en administratörsanvändare, markera gruppen 'administratörer' från listan [1] och klicka på 'Nästa' [2] .

Klicka på 'Nästa'.

Klicka på 'Nästa'.

Klicka på 'Nästa'.

Klicka på 'Nästa'.

Klicka på 'Klar'.

De certadmin användare ska nu skapas på din Synology NAS.

Konfigurera CloudFlare DNS-servern för Let's Encrypt DNS-01 Challenge

För att använda CloudFlare DNS-servern för Let's Encrypt DNS-01-utmaningen måste du generera en CloudFlare DNS-token. Du kan generera en CloudFlare DNS-servertoken från CloudFlare-instrumentpanelen. För mer information, läs den här artikeln .

Konfigurera andra DNS-tjänster för Let's Encrypt DNS-01 Challenge

'Acme.sh' stöder andra DNS-tjänster. Om du inte vill använda CloudFlare DNS kan du använda någon av de 'acme.sh'-stödda DNS-tjänsterna. Konfigurationen är lite annorlunda för olika DNS-tjänster. För mer information, kolla 'acme.sh' DNS API-guiden .

Åtkomst till Synology NAS-terminalen via SSH

För att installera 'acme.sh' och generera och installera ett Let's Encrypt SSL-certifikat på din Synology NAS måste du komma åt terminalen på din Synology NAS. För mer information om att aktivera SSH-åtkomst på din Synology NAS och komma åt terminalen på din Synology NAS, läs den här artikeln .

När du har aktiverat SSH-åtkomst på din Synology NAS, öppna en terminalapp på din dator och kör följande kommando:

$ ssh certadmin@

Du kommer att bli ombedd att skriva in inloggningslösenordet för certadmin användare. Skriv in inloggningslösenordet för certadmin användare av din Synology NAS och tryck på . Du bör vara inloggad på din Synology NAS som certadmin användare.

Ladda ner Acme.sh på din Synology NAS

För att ladda ner den senaste versionen av 'acme.sh'-klienten, kör följande kommando:

$ wget -O /tmp/acme.sh.zip https://github.com/acmesh-official/acme.sh/archive/master.zip

Den senaste versionen av 'acme.sh'-klientarkivet 'acme.sh.zip' ska laddas ner i katalogen '/tmp' på din Synology NAS.

Installera Acme.sh på din Synology NAS

För att extrahera '/tmp/acme.sh.zip'-arkivet i katalogen '/usr/local/share' på din Synology NAS, kör följande kommando och skriv in inloggningslösenordet för certadmin-användaren och tryck på när du tillfrågas om lösenordet. Arkivet '/tmp/acme.sh.zip' bör extraheras i katalogen '/usr/local/share/acme.sh-master'.

$ sudo 7z x -o /usr/local/share /tmp/acme.sh.zip

För enkelhetens skull, byt namn på 'acme.sh-master'-katalogen till bara 'acme.sh' med följande kommando:

$ sudo mv -v /usr/local/share/acme.sh-master /usr/local/share/acme.sh

Att göra certadmin användarägare av katalogen '/usr/local/share/acme.sh' och dess innehåll, kör följande kommando:

$ sudo chown -Rfv certadmin /usr/local/share/acme.sh

Generera ett Let's Encrypt SSL-certifikat med Acme.sh för din Synology NAS

För att generera ett Let's Encrypt SSL-certifikat för domännamnet som du använder på din Synology NAS, navigera till katalogen '/usr/local/share/acme.sh' enligt följande:

$ cd /usr/local/share/acme.sh

Nu måste du exportera de nödvändiga DNS API-tokenmiljövariablerna. Vi använder CloudFlare DNS för att hantera domännamnet som vi använder på vår Synology NAS. Så för oss behöver vi bara exportera miljövariabeln CF_Token med värdet av CloudFlare DNS API-token. Om du använder någon annan DNS-tjänst, kontrollera 'acme.sh' DNS API-dokumentationen för de variabler som du behöver exportera för att 'acme.sh' ska fungera med din DNS-tjänst.

$ export CF_Token=''

Exportera också de nödvändiga Synology-miljövariablerna så att 'acme.sh' kan installera de genererade SSL-certifikaten på din Synology NAS.

$ export SYNO_User
$ export SYNO_Password='Your_certadmin_login_Password'
$ export SYNO_Certificate='Låt oss kryptera'
$ export SYNO_Create=1

För att generera ett Let's Encrypt SSL-certifikat för '*.nodekite.com' (wildcard) domännamn med hjälp av CloudFlare DNS-plugin ( –dns dns_cf ), kör följande kommando:

$ ./acme.sh --server letsencrypt --issue --dns dns_cf --home $PWD -d '*.nodekite.com'

Om du använder andra DNS-tjänster måste du ändra DNS-plugin-programmet (–dns ) i föregående kommando i enlighet med detta. För mer information, kontrollera 'acme.sh' DNS API-dokumentationen .

Ett Let's Encrypt SSL-certifikat genereras. Det tar ett tag att slutföra.

Vid denna tidpunkt bör Let's Encrypt SSL-certifikatet genereras.

Installera Let's Encrypt SSL-certifikatet på din Synology NAS med Acme.sh

När Let’s Encrypt SSL-certifikatet har genererats för domännamnet (*.nodekite.com i det här fallet) på din Synology NAS, kan du installera det på din Synology NAS med följande kommando:

$ ./acme.sh -d '*.nodekite.com' --deploy --deploy-hook synology_dsm --home $PWD

Om du har en tvåfaktorsautentisering aktiverad för certadmin användare får du en OTP-kod. Du måste skriva in OTP-koden och trycka .

Om du inte har tvåfaktorsautentiseringen aktiverad för certadmin användare, lämna den tom och tryck .

Tryck .

Det genererade Let's Encrypt SSL-certifikatet bör installeras på din Synology NAS.

När Let's Encrypt SSL-certifikatet är installerat på din Synology NAS, kommer det att visas på Kontrollpanel > säkerhet > Certifikat avsnittet i DSM 7-webbgränssnittet på din Synology NAS.

Ställa in Let's Encrypt SSL-certifikatet som standard på din Synology NAS

För att hantera SSL-certifikaten för din Synology NAS, navigera till Kontrollpanel > säkerhet > Certifikat avsnitt från DSM 7-webbgränssnittet på din Synology NAS.

För att ställa in det nyinstallerade Let's Encrypt SSL-certifikatet som standard så att de nyinstallerade webbtjänsterna på din Synology NAS kommer att använda det som standard, välj Let's Encrypt SSL-certifikatet och klicka på Handling > Redigera .

Markera 'Ange som standardcertifikat' [1] och klicka på 'OK' [2] .

Let's Encrypt SSL-certifikatet bör ställas in som standardcertifikat för din Synology NAS.

För att konfigurera befintliga webbtjänster för din Synology NAS för att använda Let's Encrypt SSL-certifikatet, klicka på 'Inställningar'.

Som du kan se använder alla webbtjänster det självsignerade SSL-certifikatet från Synology.

För att ändra SSL-certifikatet för en webbtjänst, klicka på respektive rullgardinsmeny från höger.

Välj sedan det Let's Encrypt SSL-certifikat som du vill använda för webbtjänsten från rullgardinsmenyn.

På samma sätt väljer du Let's Encrypt SSL-certifikatet för alla installerade webbtjänster på din Synology NAS och klickar på 'OK'.

Klicka på 'Ja'.

Ändringarna tillämpas. Det tar några sekunder att slutföra.

När Let's Encrypt SSL-certifikatet har tillämpats på alla webbtjänster på din Synology NAS, uppdatera webbsidan och ditt DSM 7-webbgränssnitt ska använda Let's Encrypt SSL-certifikatet.

Konfigurera Synology NAS för att automatiskt förnya Let's Encrypt SSL-certifikatet med Acme.sh

För att konfigurera din Synology NAS för att automatiskt förnya Let's Encrypt SSL-certifikatet, navigera till Kontrollpanel > Schemaläggaren från DSM 7 webbgränssnitt.

Från Schemaläggaren, klicka på Skapa > Schemalagd uppgift > Användardefinierat skript .

Från fliken 'Allmänt', skriv in 'Förnya SSL-certifikat' i avsnittet 'Uppgift' [1] och välj 'certadmin' från rullgardinsmenyn 'Användare'. [2] .

Från fliken 'Schema' väljer du 'Kör följande datum' [1] och välj 'Upprepa varje månad' från rullgardinsmenyn 'Repeat'. [2] .

Navigera till fliken 'Task Settings', skriv in följande kommando i avsnittet 'Användardefinierat skript' [1] och klicka på 'OK' [2] .

/usr/local/share/acme.sh/acme.sh –renew –server letsencrypt -d “*.nodekite.com” –home /usr/local/share/acme.sh

En ny uppgift bör skapas. Uppgiften 'Renew SSL Certs' kommer att köras varje månad och se till att Let's Encrypt SSL-certifikatet förnyas innan det löper ut.

Slutsats

I den här artikeln visade vi dig hur du installerar och använder 'acme.sh' ACME-klienten för att generera ett Let's Encrypt SSL-certifikat via DNS-01-utmaningen på din Synology NAS. Vi visade dig också hur du installerar det genererade Let's Encrypt SSL-certifikatet på din Synology NAS och konfigurerar webbtjänsterna på din Synology NAS för att använda det. Slutligen visade vi dig hur du konfigurerar en schemalagd uppgift på din Synology NAS för att automatiskt förnya Let's Encrypt SSL-certifikatet innan det löper ut.

Referenser: