Certificados LetsEncrypt con tu dominio
#1
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:
  • sudo add-apt-repository ppa:certbot/certbotsudo apt updatesudo apt install certbot
3-Desactivo firewall de linux temporalmente para evitarme problemas de accesos o bloqueos.
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η
  Reply
#2
Hola, muy interesante pero mucho lio. Por si no lo sabías te recomiendo leer el siguiente enlace:

https://www.haztupaginaweb.com/certificado-ssl-gratis/

Y para crear los certificados lo puedes hacer aquí:

https://zerossl.com/

Nota: Los pasos interesantes del tutorial son los que van del paso 1 al 15. Una vez tengas el certificado lo descargas y los pasas al nas o a otro dispositivo donde tengas un servidor. En mi caso lo utilizo en un mini-pc con linux mint y el programa calibre-web. La renovación del certificado, cuando caduque, es muy sencilla desde la web ZeroSSL. De hecho, hasta te avisan por correo electrónico antes de que caduque.
  Reply
#3
Hola
Gracias por el comentario.

Si, ya conocía la web. También está la de sslforfree.com

Y haciendo pruebas me cree algún certificado con zerossl, pero creo que no hacen certificados comodín.

Al hacerlo con webs de terceros corremos el peligro de que cambien la forma de hacerlo vía web o recorten el número de certificados de mantener (creo que el límite era 3) y deje de funcionar ese sistema al de medio año.

Let’sencrypt también te avisa por correo al igual que zerossl.

Una vez tengamos una máquina estable donde poder renovarlo de forma estándar y documentada, sólo hemos de propagarlo a las máquinas que nos interesen.

Suelo ser más amigo de hacerlo por la espartana consola que no cambia, el hacerlo por entorno web es más visual y cómodo, pero tienden a variarlo con el tiempo y despista a la gente.

Cuando me toque renovar la próxima vez, intentaré crear algún script que me coloque los certificados en traefik y que me lo reinicie para activarlos.
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Reply
#4
La web de zerossl la conozco desde hace ya bastante tiempo y la forma de crear los certificados parece que no ha cambiado. Para los que tenemos escasos conocimientos, entre los que me incluyo, el método para hacerlo desde ahí es treméndamente sencillo y rápido siguiendo el tutorial que he puesto. Se crea un certificado nuevo en 5 minutos. Y en la renovación se tarda aún menos. Bien es cierto que la web tiene un número limitado de renovaciones pero eliminando la cuenta y volviendo a registrarse se soluciona. En cuanto a los certificados comodín desconozco si se pueden hacer pero en el punto 4 del tutorial que he puesto se ve un segundo apartado aparte del principal Enter Domains que pone Add Domain. No se si serviría para eso. Por supuesto, como bien dices, tu método puede que sea más directo pero tienes que crear una máquina virtual, modificar ajustes en el router, desactivar temporalmente y volver a activar el firewall, etc, etc. Lo bueno del tema es que cualquiera de los dos sistemas funcionan y eso es lo que al final importa.

Y, por supuesto, sin menospreciar tu completo y magnifico tutorial, te animo a que pruebes el sistema que propongo. La arruga es bella y lo sencillo también..... Smile Smile Smile

Y para terminar un tercer método sería hacerlo mediante docker:

https://blog.linuxserver.io/2019/04/25/l...ter-guide/

https://hub.docker.com/r/linuxserver/letsencrypt/
  Reply
#5
Hola

Con tiempo probaré todas, pero me falta eso, el tiempo

La del docker que me sugieres, es la que más me interesa.

Estoy buscando como hacer una descarga comodín y luego propagarlo a otras nas de Qnap, a contenedores docker de esa nas (y de otras),... resumiendo, distribuirlo y activarlo hacia otros. Y si es posible lo más automatizado posible

Es una lástima que desde el propio menú de Qnap no se pueda renovar el certificado si éste ha sido importado. A más de uno le resolvería muchos problemas ya que luego sólo hay que dar a un botón.
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Reply
#6
Eso está muy bien. Dos no discuten si uno no quiere.....Alea jacta est.....El amor mueve montañas.....No hay dos sin tres......No me pises lo fregao.....?????      Smile Smile Smile
  Reply
#7
(20-08-2020, 06:53 PM)Ganekogorta Wrote: Hola
Gracias por el comentario.

Si, ya conocía la web. También está la de sslforfree.com

Y haciendo pruebas me cree algún certificado con zerossl, pero creo que no hacen certificados comodín.

Al hacerlo con webs de terceros corremos el peligro de que cambien la forma de hacerlo vía web o recorten  el número de certificados de mantener (creo que el límite era 3) y deje de funcionar ese sistema al de medio año.

Let’sencrypt también te avisa por correo al igual que zerossl.

Una vez tengamos una máquina estable donde poder renovarlo de forma estándar y documentada, sólo hemos de propagarlo a las máquinas que nos interesen.

Suelo ser más amigo de hacerlo por la espartana consola que no cambia, el hacerlo por entorno web es más visual y cómodo, pero tienden a variarlo con el tiempo y despista a la gente.

Cuando me toque renovar la próxima vez, intentaré crear algún script que me coloque los certificados en traefik y que me lo reinicie para activarlos.
Hola buenas tarde compañero, muchas gracias por el tutorial, buscaba algo exactamente como tu caso.
Al final hiciste el script para poder automatizar el proceso de renovación?, si fuese así, seria tan amable de compartirlo?. Gracias
  Reply
#8
Hola

Tras hacer muchas actualizaciones o propagaciones cada tres meses.
Luego con uso de dockers y con un proxy inverso, centralicé los certificados de estos.

Y ahora además de tener el proxy inverso tengo un certificado de cloudflare con una vigencia más larga. Así que sigo instaladlos a mano, pero ahora con menos frecuencia.

Para los certificados de cloudflare echa una ojeada a este hilo https://www.qnapclub.es/showthread.php?t...Cloudflare
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Reply
#9
(13-05-2021, 10:12 PM)Ganekogorta Wrote: Hola

Tras hacer muchas actualizaciones o propagaciones cada tres meses.
Luego con uso de dockers y con un proxy inverso, centralicé los certificados de estos.

Y ahora además de tener el proxy inverso tengo un certificado de cloudflare con una vigencia más larga. Así que sigo instaladlos a mano, pero ahora con menos frecuencia.

Para los certificados de cloudflare echa una ojeada a este hilo https://www.qnapclub.es/showthread.php?t...Cloudflare

Vale compi muchas gracias, le hecho un vistazo a el hilo, pero el certificado es comodin (wildcard). Lo del proxy inverso te refieres a un estilo traefik? ya no usas certbot para el menester?.
Saludos...
  Reply
#10
Hola

Efectivamente, uso un certificado comodín porque estoy probando contenedores nuevos cada poco y así el certificado vale para todas las webs.

Y ahora estoy con traefik, pero he empezado a hacer alguna prueba con otro.

Y con cloudflare he conseguido un certificado de más vigencia pero aporte más funciones muy útiles.
Un saludo

Agur eta ondo ibili

Ganekogorta (TS-469Pro, TVS-673e, QBoat Sunny, TS-453Be, TR-002 y QHora-301w) Ʀɐɯ0η
  Reply




Users browsing this thread: 1 Guest(s)