06-08-2020, 10:59 AM
(This post was last modified: 07-08-2020, 05:47 PM by Ganekogorta.)
Hola
Llevo tiempo con el uso de certificados personalizados de LetsEncrypt, pero no acabo poder hacerlo siempre a la primera desde la NAS.
Para los subdominios de myqnapcloud.com no hay problemas y la nas lo hace perfectamente, incluso las renovaciones automáticas.
Pero cuando tienes un dominio propio, la cosa cambia.
Que yo sepa no me deja obtenerlos mediante comandos y tampoco renovarlos, importarlos y exportarlos.
Alguna vez he conseguido (no siempre) hacerlo desde panel de control, seguridad, Certificado. Pero luego he tenido problemas con renovaciones o a mas de un subdominio.
Así que me he puesto con ello y al final he conseguido hacerlo con un dominio y todos sus subdominios (certificado comodín).
Desgraciadamente he tenido que usar una VM de linux alojada en la nas o podría hacerse con otra máquina física, tal vez hasta con una raspberry)
He optado por crear una VM con Linux Mint (sirven también VMs con Debian o Ubuntu).
Así podré obtener los certificados mediante comandos documentados (lo tenemos en la web de LetsEncrypt) y a futuro podríamos automatizar procesos mediante scripts.
Los pasos son los siguientes:
1-En el router nos aseguramos que los puertos 80 y 443 apuntan al equipo virtual que va a solicitar los certificados.
2-Si no tenemos instalado el comando certbot, lo instalaremos con las siguientes ordenes:
4-Ejecuto comando de solicitud del certificado:
5- antes de terminar el anterior comando, se nos presentará en pantalla una cadena de texto que debemos crear en nuestros DNS como tipo TXT. Lo haremos desde el panel de administración de nuestro proveedor de dominio (se hace para comprobar que somos los legítimos propietarios y tenemos control sobre él). La variable se llamará "_acme-challenge" y su valor se presenta en pantalla como una cadena de texto que copiaremos y pegaremos. Si es posible interesa que el valor de TTL sea lo menor posible para que haya una propagación rápida. Ya que debemos de esperar a que haya sido antes de finalizar el asistente de creación. Si no ha dado tiempo y el equipo linux no valida el certificado, hemos de repetir desde el punto anterior, incluida la espera.
6- En el equipo linux se habrán creado los certificados en una ruta tipo a /etc/letsencrypt/archive/dominio.eu/. Para acceder a ellos, debemos ser usuarios con privilegios de root ya que hemos de copiarlos a otras ubicaciones.
7- Tendremos 4 archivos, 3 de ellos son los que nos interesan: cert1.pem, privkey1.pem y chain1.pem.
8-Ahora deshacemos los cambios reglas del router para que los puerto 80 y 443 apunten a donde lo teníamos configurado inicialmente. Activamos el cortafuegos del equipo Linux con "sudo ufw enable". También podemos eliminar del DNS el TXT o bien dejarlo para posibles solicitudes de certificados (sólo habríamos que editar su valor).
9- en nuestra QNAP vamos a panel de control, seguridad, Certificado y clave privada. Pulsamos sobre Reemplazar certificado, elegimos importar certificado y subimos el archivo cert1.pem en el campo Certificado, privkey1.pem en el campo Clave privada y chaim1.pem en el campo certificado intermedio que para Qnap es "inmediato" X)
10- si queremos renovaciones automáticas ejecutaremos el comando "sudo certbot renew". Y si queremos agregarlo en nuestro crontab. Pero para que sea efectivo, el router ha de tener continuamente activada la redirección de puertos a nuestra máquina linux. Hay que recordar que la vigencia de estos certificados es de 3 meses.
Llevo tiempo con el uso de certificados personalizados de LetsEncrypt, pero no acabo poder hacerlo siempre a la primera desde la NAS.
Para los subdominios de myqnapcloud.com no hay problemas y la nas lo hace perfectamente, incluso las renovaciones automáticas.
Pero cuando tienes un dominio propio, la cosa cambia.
Que yo sepa no me deja obtenerlos mediante comandos y tampoco renovarlos, importarlos y exportarlos.
Alguna vez he conseguido (no siempre) hacerlo desde panel de control, seguridad, Certificado. Pero luego he tenido problemas con renovaciones o a mas de un subdominio.
Así que me he puesto con ello y al final he conseguido hacerlo con un dominio y todos sus subdominios (certificado comodín).
Desgraciadamente he tenido que usar una VM de linux alojada en la nas o podría hacerse con otra máquina física, tal vez hasta con una raspberry)
He optado por crear una VM con Linux Mint (sirven también VMs con Debian o Ubuntu).
Así podré obtener los certificados mediante comandos documentados (lo tenemos en la web de LetsEncrypt) y a futuro podríamos automatizar procesos mediante scripts.
Los pasos son los siguientes:
1-En el router nos aseguramos que los puertos 80 y 443 apuntan al equipo virtual que va a solicitar los certificados.
2-Si no tenemos instalado el comando certbot, lo instalaremos con las siguientes ordenes:
- sudo add-apt-repository ppa:certbot/certbotsudo apt updatesudo apt install certbot
Code:
sudo ufw disable
4-Ejecuto comando de solicitud del certificado:
Code:
sudo certbot certonly --manual -d *.dominio.eu --agree-tos --no-bootstrap --manual-public-ip-logging-ok --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory
5- antes de terminar el anterior comando, se nos presentará en pantalla una cadena de texto que debemos crear en nuestros DNS como tipo TXT. Lo haremos desde el panel de administración de nuestro proveedor de dominio (se hace para comprobar que somos los legítimos propietarios y tenemos control sobre él). La variable se llamará "_acme-challenge" y su valor se presenta en pantalla como una cadena de texto que copiaremos y pegaremos. Si es posible interesa que el valor de TTL sea lo menor posible para que haya una propagación rápida. Ya que debemos de esperar a que haya sido antes de finalizar el asistente de creación. Si no ha dado tiempo y el equipo linux no valida el certificado, hemos de repetir desde el punto anterior, incluida la espera.
6- En el equipo linux se habrán creado los certificados en una ruta tipo a /etc/letsencrypt/archive/dominio.eu/. Para acceder a ellos, debemos ser usuarios con privilegios de root ya que hemos de copiarlos a otras ubicaciones.
7- Tendremos 4 archivos, 3 de ellos son los que nos interesan: cert1.pem, privkey1.pem y chain1.pem.
8-Ahora deshacemos los cambios reglas del router para que los puerto 80 y 443 apunten a donde lo teníamos configurado inicialmente. Activamos el cortafuegos del equipo Linux con "sudo ufw enable". También podemos eliminar del DNS el TXT o bien dejarlo para posibles solicitudes de certificados (sólo habríamos que editar su valor).
9- en nuestra QNAP vamos a panel de control, seguridad, Certificado y clave privada. Pulsamos sobre Reemplazar certificado, elegimos importar certificado y subimos el archivo cert1.pem en el campo Certificado, privkey1.pem en el campo Clave privada y chaim1.pem en el campo certificado intermedio que para Qnap es "inmediato" X)
10- si queremos renovaciones automáticas ejecutaremos el comando "sudo certbot renew". Y si queremos agregarlo en nuestro crontab. Pero para que sea efectivo, el router ha de tener continuamente activada la redirección de puertos a nuestra máquina linux. Hay que recordar que la vigencia de estos certificados es de 3 meses.
Un saludo
Agur eta ondo ibili
Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
Agur eta ondo ibili
Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η