#60 Gestionar certificados SSL mejor

Open
opened 1 year ago by drymer · 13 comments
drymer commented 1 year ago

Ahora mismo tenemos un script que cada tres meses renueva los certificados y los copia a los directorios de cada docker que lo necesite. Esto es un problema por que podemos tener el mismo certificado en varios sitios a la vez, sin estar del todo seguros que sean iguales en todos los directorios.

Como esto puede llevarnos a errores, como ya pasó con el certificado del prosody que arregló Ceilano hace un par de días, creo que puede ser buena idea juntar todos los certificados en el mismo sitio. La respuesta obvia seria usar enlaces simbólicos, pero no funciona bien al mapearlos al arrancar un contenedor. Por lo tanto, podemos mirar de centralizar los certificados en un solo directorio o mejor aún, crear un volumen de docker con los certificados. El script de renovación solo tendria que actualizarlo ahí y ya.

Opiniones?

Ahora mismo tenemos un script que cada tres meses renueva los certificados y los copia a los directorios de cada docker que lo necesite. Esto es un problema por que podemos tener el mismo certificado en varios sitios a la vez, sin estar del todo seguros que sean iguales en todos los directorios. Como esto puede llevarnos a errores, como ya pasó con el certificado del prosody que arregló Ceilano hace un par de días, creo que puede ser buena idea juntar todos los certificados en el mismo sitio. La respuesta obvia seria usar enlaces simbólicos, pero no funciona bien al mapearlos al arrancar un contenedor. Por lo tanto, podemos mirar de centralizar los certificados en un solo directorio o mejor aún, crear un volumen de docker con los certificados. El script de renovación solo tendria que actualizarlo ahí y ya. Opiniones?
drymer added the
Dificultad: Normal
label 1 year ago
m0wer commented 1 year ago
Collaborator

Cosa guay, dentro de poco (previsto para 20180227) va a haber wildcards de Let’s Encrypt por si nos interesa upcoming features.

Yo diría que pongamos un cron de certbot renew como suele recomendar Let’s Encrypt. Se puede configurar cada dominio en /etc/letsencrypt/renewal/{{ domain }}.conf y añadir hooks para que copien el cert nuevo (solo cuando se actualice) a donde convenga y reinicie el docker que sea o lo que haga falta.

¿Qué os parece @La_Brecha_Digital?

Cosa guay, dentro de poco (previsto para 20180227) va a haber wildcards de Let's Encrypt por si nos interesa [upcoming features](https://letsencrypt.org/upcoming-features/). Yo diría que pongamos un cron de `certbot renew` como suele recomendar Let's Encrypt. Se puede configurar cada dominio en */etc/letsencrypt/renewal/{{ domain }}.conf* y añadir hooks para que copien el cert nuevo (solo cuando se actualice) a donde convenga y reinicie el docker que sea o lo que haga falta. ¿Qué os parece @La_Brecha_Digital?
drymer commented 1 year ago
Owner

Así es como está hecho y tiene las desventajas que comento, tenemos el mismo certificado en varios directorios distintos, lo cual puede llevar a errores.

Así es como está hecho y tiene las desventajas que comento, tenemos el mismo certificado en varios directorios distintos, lo cual puede llevar a errores.
m0wer commented 1 year ago
Collaborator

Aaa vale, perdona que no me había enterado bien. Pues +1 al volumen para certificados.

Aaa vale, perdona que no me había enterado bien. Pues +1 al volumen para certificados.
lyz commented 1 year ago
Owner

@La_Brecha_Digital, Sobre el rol para desplegar letsencrypt, @ceighlander propuso un rol de geerlinguy,

Lo he retocado para que se pueda usar sin ser root, lo podeis descargar desde aqui, y es la version v3.0.1.

Tambien he hecho un MR, cuando me lo acepte podemos tirar de el

@La_Brecha_Digital, Sobre el rol para desplegar letsencrypt, @ceighlander propuso un rol de geerlinguy, Lo he retocado para que se pueda usar sin ser root, lo podeis descargar desde [aqui](https://github.com/lyz-code/ansible-role-certbot), y es la version `v3.0.1`. Tambien he hecho un [MR](https://github.com/geerlingguy/ansible-role-certbot/pull/51), cuando me lo acepte podemos tirar de el
ceighlander commented 1 year ago
Owner

Joder que currado.

Muy buena Lyz

Joder que currado. Muy buena Lyz
ceighlander was assigned by lyz 1 year ago
lyz added this to the 201803 milestone 1 year ago
lyz commented 1 year ago
Owner

Algunos de los subdominios:

  • r.cslabrecha.org
  • registry.cslabrecha.org
  • drone.cslabrecha.org
  • pad.cslabrecha.org
  • dudle.cslabrecha.org
Algunos de los subdominios: * r.cslabrecha.org * registry.cslabrecha.org * drone.cslabrecha.org * pad.cslabrecha.org * dudle.cslabrecha.org
ceighlander commented 1 year ago
Owner

Bueno, he vuelto a arreglar “temporalmente” lo de los certificados. Las comillas son porque había un error en el script que movía particularmente el de prosody a su contendor y eso hacía que se copiasen correctamente todos, menos ese.

Ahora no volverá a dar problemas con el renovado automático, lo cual es un alivio.

Por otro lado he usado los dominios que usamos actualmente son:

  • labrecha.digital --> web
  • digitales.cslabrecha.org --> web
  • sala.chat.cslabrecha.org --> chat
  • chat.cslabrecha.org --> chat
  • imagenes.chat.cslabrecha.org --> chat
  • git.digitales.cslabrecha.org --> git
Bueno, he vuelto a arreglar "temporalmente" lo de los certificados. Las comillas son porque había un error en el script que movía particularmente el de prosody a su contendor y eso hacía que se copiasen correctamente todos, menos ese. Ahora no volverá a dar problemas con el renovado automático, lo cual es un alivio. Por otro lado he usado los dominios que usamos actualmente son: - labrecha.digital --> web - digitales.cslabrecha.org --> web - sala.chat.cslabrecha.org --> chat - chat.cslabrecha.org --> chat - imagenes.chat.cslabrecha.org --> chat - git.digitales.cslabrecha.org --> git
lyz added the
Prioridad: Alta
label 1 year ago
ceighlander commented 1 year ago
Owner

He estado probando un rato en un servidor propio y genera los certificados de forma conjunta (bien :D). He codificado este playbook, pero no se como probarlo sin tirarlo contra producción y reventarlo todo (o no) ¿Alguna idea?

- hosts: brecha
  become: yes
  vars:
   certbot_admin_email: labrechadigital@riseup.net
   certbot_create_if_missing: yes
   certbot_create_standalone_stop_services:
     - docker-nginx
   certbot_certs:
     - domains:
       - labrecha.digital
       - r.cslabrecha.org
       - registry.cslabrecha.org
       - drone.cslabrecha.org
       - pad.cslabrecha.org
       - dudle.cslabrecha.org
       - digitales.cslabrecha.org
       - git.digitales.cslabrecha.org
       - chat.cslabrecha.org
       - sala.chat.cslabrecha.org
       - imagenes.chat.cslabrecha.org
  roles:
    - ansible-role-certbot

/cc @lyz @drymer @labrechadigital

He estado probando un rato en un servidor propio y genera los certificados de forma conjunta (bien :D). He codificado este playbook, pero no se como probarlo sin tirarlo contra producción y reventarlo todo (o no) ¿Alguna idea? ``` - hosts: brecha become: yes vars: certbot_admin_email: labrechadigital@riseup.net certbot_create_if_missing: yes certbot_create_standalone_stop_services: - docker-nginx certbot_certs: - domains: - labrecha.digital - r.cslabrecha.org - registry.cslabrecha.org - drone.cslabrecha.org - pad.cslabrecha.org - dudle.cslabrecha.org - digitales.cslabrecha.org - git.digitales.cslabrecha.org - chat.cslabrecha.org - sala.chat.cslabrecha.org - imagenes.chat.cslabrecha.org roles: - ansible-role-certbot ``` /cc @lyz @drymer @labrechadigital
drymer commented 1 year ago
Owner

Nop, no creo que se pueda. Habrá que probar en producción a pelo. @ceighlander

Nop, no creo que se pueda. Habrá que probar en producción a pelo. @ceighlander
ceighlander commented 1 year ago
Owner

Pues nada. Lo probaremos este miércoles… a ver que tal.

Pues nada. Lo probaremos este miércoles... a ver que tal.
drymer commented 1 year ago
Owner
ping @ceighlander
drymer modified the milestone from 201803 to 201805 1 year ago
lyz modified the milestone from 201805 to 201806 1 year ago
lyz modified the milestone from 201806 to 201807 1 year ago
lyz commented 1 year ago
Owner

Faltaria desplegarlo dentro de la maquina de la brecha e integrarlo en el mega playbook master

Faltaria desplegarlo dentro de la maquina de la brecha e integrarlo en el mega playbook master
lyz modified the milestone from 201807 to 201810 1 year ago
lyz removed the due date 0001-01-01 1 year ago
drymer removed this from the 201810 milestone 1 year ago
drymer added this to the 201811 milestone 1 year ago
drymer was assigned by mastyleki 1 year ago
peter commented 1 year ago
Collaborator

Se cambia la prioridad a de alta a media por no estar asignada a ningún objetivo.

Se cambia la prioridad a de alta a media por no estar asignada a ningún objetivo.
peter removed the
Prioridad: Alta
label 1 year ago
peter added the
Prioridad: Media
label 1 year ago
Sign in to join this conversation.
No Milestone
No Assignees
5 Participants
Due Date

No due date set.

Dependencies

This issue currently doesn't have any dependencies.

Loading…
Cancel
Save
There is no content yet.