Come generare il certificato SSL LetsEncrypt utilizzando CloudFlare DNS-01 Challenge e utilizzarlo su Synology NAS

Come Generare Il Certificato Ssl Letsencrypt Utilizzando Cloudflare Dns 01 Challenge E Utilizzarlo Su Synology Nas



Disk Station Manager v7 (DSM 7) è il sistema operativo dei dispositivi Synology NAS. È possibile configurare i certificati Let's Encrypt SSL per Synology NAS dall'interfaccia web DSM 7. Per impostazione predefinita, Synology DSM 7 utilizza la verifica HTTP-01 per verificare la proprietà del dominio (che si desidera utilizzare per Synology NAS) ed emettere un certificato SSL per il dominio. Ma la sfida HTTP-01 non funzionerà a meno che tu non abbia un indirizzo IP pubblico e il tuo computer sia accessibile da Internet. Quindi, se desideri utilizzare i certificati Let’s Encrypt SSL per la tua rete domestica o privata, devi invece utilizzare la sfida DNS-01. Quando viene utilizzata la sfida DNS-01, Let's Encrypt verifica la proprietà del dominio utilizzando il server DNS del dominio. Quindi funziona anche per le reti private. Purtroppo, l'interfaccia web di Synology DSM 7 non fornisce alcun modo per ottenere i certificati SSL Let's Encrypt utilizzando la sfida DNS-01.

Fortunatamente, il programma 'acme.sh' può essere installato sul Synology NAS e viene utilizzato per generare e rinnovare i certificati SSL Let's Encrypt utilizzando la sfida DNS-01.







In questo articolo ti mostreremo quanto segue:



  • Come installare 'sh' su Synology NAS
  • Come utilizzare 'acme.sh' per generare un certificato SSL Let's Encrypt (tramite la verifica DNS-01) per il nome di dominio che stai utilizzando su Synology NAS
  • Come installare il certificato Let's Encrypt SSL generato da 'acme.sh' su Synology NAS
  • Come configurare il sistema operativo DSM 7 di Synology NAS per utilizzare il certificato Let's Encrypt SSL generato
  • Come configurare Synology NAS per rinnovare automaticamente i certificati Let's Encrypt SSL generati utilizzando 'acme.sh'

In questo articolo utilizzeremo il server DNS CloudFlare a scopo dimostrativo. Puoi usarne altri Servizi DNS supportati da acme.sh anche. Tutto quello che devi fare è apportare le modifiche necessarie.



Argomento dei contenuti:

  1. Creazione di un utente Certadmin su Synology NAS
  2. Configurazione del server DNS CloudFlare per LetsEncrypt DNS-01 Challenge
  3. Configurazione di altri servizi DNS per LetsEncrypt DNS-01 Challenge
  4. Accesso al terminale Synology NAS tramite SSH
  5. Download di Acme.sh su Synology NAS
  6. Installazione di Acme.sh su Synology NAS
  7. Generazione di un certificato SSL Let's Encrypt utilizzando Acme.sh per Synology NAS
  8. Installazione del certificato Let's Encrypt SSL su Synology NAS utilizzando Acme.sh
  9. Impostazione del certificato SSL Let's Encrypt come predefinito su Synology NAS
  10. Configurare Synology NAS per rinnovare automaticamente un certificato SSL Let's Encrypt utilizzando Acme.sh
  11. Conclusione
  12. Riferimenti

Creazione di un utente Certadmin su Synology NAS

Innanzitutto, dovresti creare un nuovo utente amministratore su Synology NAS per generare e rinnovare i certificati SSL Let's Encrypt.





Per creare un nuovo utente amministratore su Synology NAS, fare clic su Pannello di controllo [1] > Gruppo di utenti [2] dall'interfaccia web del DSM 7.



Fare clic su 'Crea' dalla scheda 'Utente'.

Digitare 'certadmin' come nome utente [1] , una breve descrizione facoltativa per l'utente [2] , la password di accesso dell'utente [3] e fare clic su 'Avanti' [4] .

Per creare un utente amministratore, seleziona il gruppo 'amministratori' dall'elenco [1] e clicca su “Avanti” [2] .

Fare clic su 'Avanti'.

Fare clic su 'Avanti'.

Fare clic su 'Avanti'.

Fare clic su 'Avanti'.

Fare clic su 'Fine'.

IL certoadmin l'utente dovrebbe ora essere creato su Synology NAS.

Configurazione del server DNS CloudFlare per la sfida Let's Encrypt DNS-01

Per utilizzare il server DNS CloudFlare per la sfida Let's Encrypt DNS-01, devi generare un token DNS CloudFlare. Puoi generare un token del server DNS CloudFlare dalla dashboard di CloudFlare. Per maggiori informazioni, leggi questo articolo .

Configurazione di altri servizi DNS per la sfida Let's Encrypt DNS-01

'Acme.sh' supporta altri servizi DNS. Se non desideri utilizzare il DNS CloudFlare, puoi utilizzare uno qualsiasi dei servizi DNS supportati da 'acme.sh'. La configurazione è leggermente diversa per i diversi servizi DNS. Per maggiori informazioni, controlla la guida API DNS “acme.sh”. .

Accesso al terminale Synology NAS tramite SSH

Per installare 'acme.sh' e generare e installare un certificato SSL Let's Encrypt su Synology NAS, è necessario accedere al terminale di Synology NAS. Per ulteriori informazioni sull'abilitazione dell'accesso SSH su Synology NAS e sull'accesso al terminale di Synology NAS, leggi questo articolo .

Una volta abilitato l'accesso SSH su Synology NAS, aprire un'app terminale sul computer ed eseguire il seguente comando:

$ ssh certaadmin@

Ti verrà chiesto di digitare la password di accesso del certoadmin utente. Digitare la password di accesso del certoadmin utente di Synology NAS e proseguire . È necessario accedere a Synology NAS come certoadmin utente.

Download di Acme.sh su Synology NAS

Per scaricare l'ultima versione del client 'acme.sh', eseguire il comando seguente:

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

La versione più recente dell'archivio client 'acme.sh' 'acme.sh.zip' deve essere scaricata nella directory '/tmp' di Synology NAS.

Installazione di Acme.sh su Synology NAS

Per estrarre l'archivio “/tmp/acme.sh.zip” nella directory “/usr/local/share” di Synology NAS, eseguire il comando seguente e digitare la password di accesso dell'utente certiadmin e premere quando viene richiesta la password. L'archivio “/tmp/acme.sh.zip” deve essere estratto nella directory “/usr/local/share/acme.sh-master”.

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

Per semplicità, rinominare la directory 'acme.sh-master' solo in 'acme.sh' con il seguente comando:

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

Per fare il certoadmin utente proprietario della directory “/usr/local/share/acme.sh” e dei suoi contenuti, eseguire il seguente comando:

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

Generazione di un certificato SSL Let's Encrypt utilizzando Acme.sh per Synology NAS

Per generare un certificato SSL Let's Encrypt per il nome di dominio che stai utilizzando su Synology NAS, accedere alla directory '/usr/local/share/acme.sh' come segue:

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

Ora devi esportare le variabili di ambiente del token API DNS richieste. Utilizziamo il DNS CloudFlare per gestire il nome di dominio che stiamo utilizzando sul nostro Synology NAS. Quindi, per noi, tutto ciò che dobbiamo fare è esportare la variabile di ambiente CF_Token con il valore del token API DNS CloudFlare. Se utilizzi qualche altro servizio DNS, controlla la documentazione dell'API DNS 'acme.sh' per le variabili che devi esportare affinché “acme.sh” funzioni con il tuo servizio DNS.

$ export CF_Token=''

Inoltre, esportare le variabili di ambiente Synology richieste in modo che 'acme.sh' possa installare i certificati SSL generati su Synology NAS.

$ esporta SYNO_User
$ export SYNO_Password='La tua_certadmin_login_Password'
$ export SYNO_Certificate='Crittografiamo'
$ esporta SYNO_Create=1

Per generare un certificato SSL Let's Encrypt per il nome di dominio '*.nodekite.com' (carattere jolly) utilizzando il plug-in DNS CloudFlare ( –dns dns_cf ), eseguire il comando seguente:

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

Se utilizzi altri servizi DNS, devi modificare di conseguenza il plug-in DNS (–dns ) nel comando precedente. Per maggiori informazioni, controlla la documentazione dell'API DNS 'acme.sh'. .

È in fase di generazione un certificato SSL Let's Encrypt. Ci vuole un po' di tempo per completarlo.

A questo punto dovrebbe essere generato il certificato SSL Let’s Encrypt.

Installazione del certificato Let's Encrypt SSL su Synology NAS utilizzando Acme.sh

Una volta generato il certificato SSL Let's Encrypt per il nome di dominio (*.nodekite.com in questo caso) di Synology NAS, è possibile installarlo su Synology NAS con il seguente comando:

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

Se hai abilitato l'autenticazione a due fattori per il certoadmin utente, riceverai un codice OTP. Devi digitare il codice OTP e premere .

Se non hai abilitato l'autenticazione a due fattori per il certoadmin utente, lasciarlo vuoto e premere .

Premere .

Il certificato Let's Encrypt SSL generato deve essere installato su Synology NAS.

Una volta installato il certificato Let's Encrypt SSL su Synology NAS, verrà visualizzato su Pannello di controllo > Sicurezza > Certificato sezione dell'interfaccia web DSM 7 di Synology NAS.

Impostazione del certificato SSL Let's Encrypt come predefinito su Synology NAS

Per gestire i certificati SSL di Synology NAS, accedere a Pannello di controllo > Sicurezza > Certificato sezione dall'interfaccia web DSM 7 di Synology NAS.

Per impostare il certificato Let's Encrypt SSL appena installato come predefinito in modo che i servizi Web appena installati su Synology NAS lo utilizzino per impostazione predefinita, selezionare il certificato Let's Encrypt SSL e fare clic su Azione > Modificare .

Spunta la voce 'Imposta come certificato predefinito' [1] e fare clic su 'OK' [2] .

Il certificato Let's Encrypt SSL deve essere impostato come certificato predefinito per Synology NAS.

Per configurare i servizi Web esistenti di Synology NAS per utilizzare il certificato SSL Let's Encrypt, fare clic su 'Impostazioni'.

Come puoi vedere, tutti i servizi Web utilizzano il certificato SSL autofirmato Synology.

Per modificare il certificato SSL per un servizio web, fare clic sul rispettivo menu a discesa da destra.

Quindi, seleziona il certificato Let's Encrypt SSL che desideri utilizzare per il servizio web dal menu a discesa.

Allo stesso modo, seleziona il certificato Let's Encrypt SSL per tutti i servizi web installati su Synology NAS e fai clic su 'OK'.

Fare clic su 'Sì'.

Le modifiche vengono applicate. Sono necessari alcuni secondi per il completamento.

Una volta applicato il certificato Let's Encrypt SSL a tutti i servizi Web di Synology NAS, aggiornare la pagina Web e l'interfaccia Web DSM 7 dovrebbe utilizzare il certificato SSL Let's Encrypt.

Configurazione di Synology NAS per il rinnovo automatico del certificato SSL Let's Encrypt utilizzando Acme.sh

Per configurare Synology NAS per rinnovare automaticamente il certificato Let's Encrypt SSL, accedere a Pannello di controllo > Agenda dall'interfaccia web del DSM 7.

Dall'Utilità di pianificazione, fare clic su Creare > Operazione pianificata > Script definito dall'utente .

Dalla scheda “Generale”, digita “Rinnova certificati SSL” nella sezione “Attività”. [1] e seleziona 'certadmin' dal menu a discesa 'Utente'. [2] .

Dalla scheda “Pianificazione”, seleziona “Esegui nella data successiva” [1] e seleziona 'Ripeti mensilmente' dal menu a discesa 'Ripeti'. [2] .

Passare alla scheda 'Impostazioni attività', digitare il seguente comando nella sezione 'Script definito dall'utente'. [1] e fare clic su 'OK' [2] .

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

Dovrebbe essere creata una nuova attività. L'attività 'Rinnova certificati SSL' verrà eseguita ogni mese e assicurerà che il certificato SSL Let's Encrypt venga rinnovato prima della scadenza.

Conclusione

In questo articolo, ti abbiamo mostrato come installare e utilizzare il client ACME 'acme.sh' per generare un certificato SSL Let's Encrypt tramite la sfida DNS-01 sul tuo Synology NAS. Ti abbiamo anche mostrato come installare il certificato Let's Encrypt SSL generato sul tuo Synology NAS e configurare i servizi web del tuo Synology NAS per utilizzarlo. Infine, ti abbiamo mostrato come configurare un'attività pianificata su Synology NAS per rinnovare automaticamente il certificato SSL Let's Encrypt prima della scadenza.

Riferimenti: