Cómo generar un certificado SSL LetsEncrypt utilizando el desafío CloudFlare DNS-01 y usarlo en Synology NAS

Como Generar Un Certificado Ssl Letsencrypt Utilizando El Desafio Cloudflare Dns 01 Y Usarlo En Synology Nas



Disk Station Manager v7 (DSM 7) es el sistema operativo de los dispositivos Synology NAS. Puede configurar los certificados SSL Let's Encrypt para su Synology NAS desde la interfaz web de DSM 7. De forma predeterminada, Synology DSM 7 utiliza el desafío HTTP-01 para verificar la propiedad del dominio (que desea utilizar para su Synology NAS) y emitir un certificado SSL para el dominio. Pero el desafío HTTP-01 no funcionará a menos que tenga una dirección IP pública y se pueda acceder a su computadora desde Internet. Por lo tanto, si desea utilizar los certificados SSL de Let's Encrypt para su red doméstica o privada, debe utilizar el desafío DNS-01. Cuando se utiliza el desafío DNS-01, Let's Encrypt verifica la propiedad del dominio utilizando el servidor DNS del dominio. Por tanto, también funciona para redes privadas. Lamentablemente, la interfaz web de Synology DSM 7 no proporciona ninguna forma de obtener los certificados SSL de Let's Encrypt mediante el desafío DNS-01.

Afortunadamente, el programa 'acme.sh' se puede instalar en su Synology NAS y se utiliza para generar y renovar los certificados SSL Let's Encrypt mediante el desafío DNS-01.







En este artículo, le mostraremos lo siguiente:



  • Cómo instalar “sh” en su Synology NAS
  • Cómo utilizar 'acme.sh' para generar un certificado SSL Let's Encrypt (a través del desafío DNS-01) para el nombre de dominio que está utilizando en su Synology NAS
  • Cómo instalar el certificado SSL Let's Encrypt generado por 'acme.sh' en su Synology NAS
  • Cómo configurar el sistema operativo DSM 7 de su Synology NAS para utilizar el certificado SSL Let's Encrypt generado
  • Cómo configurar su Synology NAS para renovar automáticamente los certificados SSL Let's Encrypt generados utilizando 'acme.sh'

En este artículo, utilizaremos el servidor DNS de CloudFlare como demostración. Puedes usar otros Servicios DNS compatibles con acme.sh también. Todo lo que tienes que hacer es hacer los ajustes necesarios.



Tema de contenidos:

  1. Creación de un usuario Certadmin en Synology NAS
  2. Configuración del servidor DNS de CloudFlare para el desafío LetsEncrypt DNS-01
  3. Configuración de otros servicios DNS para el desafío LetsEncrypt DNS-01
  4. Acceso a Synology NAS Terminal a través de SSH
  5. Descarga de Acme.sh en su Synology NAS
  6. Instalación de Acme.sh en su Synology NAS
  7. Generación de un certificado SSL Let's Encrypt utilizando Acme.sh para su Synology NAS
  8. Instalación del certificado SSL Let's Encrypt en su Synology NAS mediante Acme.sh
  9. Configuración del certificado SSL Let's Encrypt como predeterminado en su Synology NAS
  10. Configure Synology NAS para renovar automáticamente un certificado SSL Let's Encrypt mediante Acme.sh
  11. Conclusión
  12. Referencias

Creación de un usuario Certadmin en Synology NAS

Primero, debe crear un nuevo usuario administrador en su Synology NAS para generar y renovar los certificados SSL de Let's Encrypt.





Para crear un nuevo usuario administrador en Synology NAS, haga clic en Panel de control [1] > Grupo de usuario [2] desde la interfaz web de DSM 7.



Haga clic en 'Crear' en la pestaña 'Usuario'.

Escriba 'certadmin' como nombre de usuario [1] , una breve descripción opcional para el usuario [2] , la contraseña de inicio de sesión del usuario [3] y haga clic en “Siguiente” [4] .

Para crear un usuario administrador, marque el grupo 'administradores' de la lista [1] y haga clic en “Siguiente” [2] .

Haga clic en 'Siguiente'.

Haga clic en 'Siguiente'.

Haga clic en 'Siguiente'.

Haga clic en 'Siguiente'.

Haga clic en 'Listo'.

El administrador certificado El usuario ahora debería crearse en su Synology NAS.

Configuración del servidor DNS de CloudFlare para el desafío Let's Encrypt DNS-01

Para utilizar el servidor DNS de CloudFlare para el desafío Let's Encrypt DNS-01, debe generar un token DNS de CloudFlare. Puede generar un token de servidor DNS de CloudFlare desde el panel de CloudFlare. Para más información, Lee este artículo .

Configuración de otros servicios DNS para el desafío Let's Encrypt DNS-01

“Acme.sh” admite otros servicios DNS. Si no desea utilizar el DNS de CloudFlare, puede utilizar cualquiera de los servicios DNS compatibles con “acme.sh”. La configuración es un poco diferente para los distintos servicios DNS. Para más información, consulte la guía de API de DNS “acme.sh” .

Acceso a Synology NAS Terminal a través de SSH

Para instalar “acme.sh” y generar e instalar un certificado SSL Let's Encrypt en su Synology NAS, debe acceder a la Terminal de su Synology NAS. Para obtener más información sobre cómo habilitar el acceso SSH en su Synology NAS y acceder a la Terminal de su Synology NAS, Lee este artículo .

Una vez que haya habilitado el acceso SSH en su Synology NAS, abra una aplicación de terminal en su computadora y ejecute el siguiente comando:

$ ssh certadmin@

Se le pedirá que escriba la contraseña de inicio de sesión del administrador certificado usuario. Escriba la contraseña de inicio de sesión del administrador certificado usuario de su Synology NAS y presione . Debe iniciar sesión en su Synology NAS como administrador certificado usuario.

Descarga de Acme.sh en su Synology NAS

Para descargar la última versión del cliente “acme.sh”, ejecute el siguiente comando:

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

La última versión del archivo cliente “acme.sh”, “acme.sh.zip”, debe descargarse en el directorio “/tmp” de su Synology NAS.

Instalación de Acme.sh en su Synology NAS

Para extraer el archivo “/tmp/acme.sh.zip” en el directorio “/usr/local/share” de su Synology NAS, ejecute el siguiente comando, escriba la contraseña de inicio de sesión del usuario certadmin y presione cuando se le solicite la contraseña. El archivo “/tmp/acme.sh.zip” debe extraerse en el directorio “/usr/local/share/acme.sh-master”.

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

Para simplificar, cambie el nombre del directorio “acme.sh-master” a simplemente “acme.sh” con el siguiente comando:

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

para hacer el administrador certificado usuario propietario del directorio “/usr/local/share/acme.sh” y su contenido, ejecute el siguiente comando:

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

Generación de un certificado SSL Let's Encrypt utilizando Acme.sh para su Synology NAS

Para generar un certificado SSL Let's Encrypt para el nombre de dominio que está utilizando en su Synology NAS, navegue hasta el directorio '/usr/local/share/acme.sh' de la siguiente manera:

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

Ahora, debe exportar las variables de entorno del token API de DNS requeridas. Usamos el DNS de CloudFlare para administrar el nombre de dominio que estamos usando en nuestro Synology NAS. Entonces, para nosotros, todo lo que tenemos que hacer es exportar la variable de entorno CF_Token con el valor del token API DNS de CloudFlare. Si está utilizando algún otro servicio DNS, consulte la documentación de la API de DNS “acme.sh” para conocer las variables que necesita exportar para que “acme.sh” funcione con su servicio DNS.

$ export CF_Token=''

Además, exporte las variables de entorno de Synology necesarias para que “acme.sh” pueda instalar los certificados SSL generados en su Synology NAS.

$ exportar SYNO_User
$ exportar SYNO_Password='Su_certadmin_login_Password'
$ export SYNO_Certificate='Cifremos'
$ exportar SYNO_Create=1

Para generar un certificado SSL Let's Encrypt para el nombre de dominio '*.nodekite.com' (comodín) utilizando el complemento DNS de CloudFlare ( –dns dns_cf ), ejecute el siguiente comando:

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

Si está utilizando otros servicios DNS, debe cambiar el complemento DNS (–dns ) en el comando anterior en consecuencia. Para más información, consulte la documentación de la API de DNS “acme.sh” .

Se está generando un certificado SSL de Let's Encrypt. Tarda un poco en completarse.

En este punto, se debería generar el certificado SSL de Let's Encrypt.

Instalación del certificado SSL Let's Encrypt en su Synology NAS mediante Acme.sh

Una vez que se genera el certificado SSL Let's Encrypt para el nombre de dominio (*.nodekite.com en este caso) de su Synology NAS, puede instalarlo en su Synology NAS con el siguiente comando:

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

Si tiene una autenticación de dos factores habilitada para el administrador certificado usuario, recibirá un código OTP. Tienes que escribir el código OTP y presionar .

Si no tiene habilitada la autenticación de dos factores para el administrador certificado usuario, déjalo vacío y presiona .

Prensa .

El certificado SSL Let's Encrypt generado debe instalarse en su Synology NAS.

Una vez que el certificado SSL Let's Encrypt esté instalado en su Synology NAS, se mostrará en la Panel de control > Seguridad > Certificado sección de la interfaz web DSM 7 de su Synology NAS.

Configuración del certificado SSL Let's Encrypt como predeterminado en su Synology NAS

Para administrar los certificados SSL de su Synology NAS, navegue hasta el Panel de control > Seguridad > Certificado sección de la interfaz web DSM 7 de su Synology NAS.

Para configurar el certificado SSL Let's Encrypt recién instalado como predeterminado para que los servicios web recién instalados en su Synology NAS lo utilicen de forma predeterminada, seleccione el certificado SSL Let's Encrypt y haga clic en Acción > Editar .

Marque 'Establecer como certificado predeterminado' [1] y haga clic en “Aceptar” [2] .

El certificado SSL Let's Encrypt debe configurarse como el certificado predeterminado para su Synology NAS.

Para configurar los servicios web existentes de su Synology NAS para utilizar el certificado SSL Let's Encrypt, haga clic en 'Configuración'.

Como puede ver, todos los servicios web utilizan el certificado SSL autofirmado de Synology.

Para cambiar el certificado SSL de un servicio web, haga clic en el menú desplegable respectivo de la derecha.

Luego, seleccione el certificado SSL Let's Encrypt que desea utilizar para el servicio web en el menú desplegable.

De la misma forma, seleccione el certificado SSL Let's Encrypt para todos los servicios web instalados en su Synology NAS y haga clic en “Aceptar”.

Haga clic en 'Sí'.

Los cambios se están aplicando. Tarda unos segundos en completarse.

Una vez que el certificado SSL Let's Encrypt se haya aplicado a todos los servicios web de su Synology NAS, actualice la página web y su interfaz web DSM 7 debería utilizar el certificado SSL Let's Encrypt.

Configuración de Synology NAS para renovar automáticamente el certificado SSL Let's Encrypt mediante Acme.sh

Para configurar su Synology NAS para que renueve automáticamente el certificado SSL Let's Encrypt, navegue hasta Panel de control > Programador de tareas desde la interfaz web de DSM 7.

Desde el Programador de tareas, haga clic en Crear > Tarea programada > Script definido por el usuario .

En la pestaña 'General', escriba 'Renovar certificados SSL' en la sección 'Tarea' [1] y seleccione 'certadmin' en el menú desplegable 'Usuario' [2] .

En la pestaña 'Programar', seleccione 'Ejecutar en la siguiente fecha' [1] y seleccione 'Repetir mensualmente' en el menú desplegable 'Repetir' [2] .

Navegue a la pestaña 'Configuración de tareas', escriba el siguiente comando en la sección 'Script definido por el usuario' [1] y haga clic en “Aceptar” [2] .

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

Se debe crear una nueva tarea. La tarea 'Renovar certificados SSL' se ejecutará todos los meses y garantizará que el certificado SSL de Let's Encrypt se renueve antes de que caduque.

Conclusión

En este artículo, le mostramos cómo instalar y utilizar el cliente ACME “acme.sh” para generar un certificado SSL Let's Encrypt a través del desafío DNS-01 en su Synology NAS. También le mostramos cómo instalar el certificado SSL Let's Encrypt generado en su Synology NAS y configurar los servicios web de su Synology NAS para usarlo. Finalmente, le mostramos cómo configurar una tarea programada en su Synology NAS para renovar automáticamente el certificado SSL de Let's Encrypt antes de que caduque.

Referencias: