Gestión de los certificados SSL de la red lechuga

Observaciones

Los certificados los prepara la máquina srv-internet.lechuga.eu y los expone mediante http.

Se describe la obtención y distribución en Maquinas.Srv-internet

Examinar archivos ssl

openssl x509 -text -noout -in /etc/ssl/certs/lechuga.eu.crt
openssl x509 -text -noout -in /etc/ssl/certs/hugo.cat.crt

Obtener información del certificado SSL

openssl s_client -connect [host:puerto]

Actualización de los certificados lechuga

Notas

Se genera un certificado wildcard mediante acme.sh en srv-internet

Este se publica en un directorio en el apache2 de srv-internet.lechuga.eu

Los certificados se generan en /root/.acme.sh/

Renovación

  1. lxc exec srv-internet bash
  2. cd /opt/gestion-certificados
  3. Ejecutar ./01-renueva-certs-paso-#1.sh: dará el comando a introducir que mostrará el TXT _acme-challenge.lechuga.eu
    1. lechuga.eu: https://www.dondominio.com/admin/services/555639/dns/
    2. hugo.cat: https://www.dondominio.com/admin/domains/252031/dns/
  4. Ejecutar ./02-renueva-certs-paso-#2.sh: dará el comando a introducir que comprobará el TXT y renovará los certificados
  5. Ejecutar ./03-renueva-certs-publicacion.sh: Publicará los nuevos archivos al repo en apache2
  6. Ejecutar ./descarga-certs-srv-internet: Descargará y actualizará los certificados del propio srv-internet

El resto de máquina se actualizan solas

Actualización en el resto de hosts

  1. Bajar el repo
git clone http://srv.lechuga.eu:3000/git/gestion-certificados
cd /opt/gestion-certificados
  1. añadir la línea al /etc/crontab
vim /etc/crontab

# añadir, según necesidad:

# 0 2 * * * root /opt/gestion-certificados/descarga-certs -c -d hugo.cat
# 0 2 * * * root /opt/gestion-certificados/descarga-certs -c -d lechuga.eu
 

Actualización de los certificados lechuga Ahora manual mediante certbot

Ejecución

Se encarga el host srv-internet.lechuga.eu, mediante el script /opt/gestion-certificados/renueva-certs-getssl

se ejecuta un cron cada noche pidiendo la actualización

se depositan en /mnt/html_internet/dist-certs-ae357e8cec0b por getssl

los hosts descargan los certificados desde https://srv-internet.lechuga.eu/dist-certs-ae357e8cec0b/host.(key|crt)

Agregación de un nuevo host

Generar un nuevo archivo de configuración getssl copiando uno de los directorios:

  • Modificando el getssl, cambiando DOMAIN_KEY_LOCATION y DOMAIN_CERT_LOCATION
  • Elimiando el resto de archivos

el crontab ya adquiere automáticament el nuevo host

Ejecución manual

ejecutando /opt/gestion-certificados/renueva-certs-getssl

Descarga de los certificados en un nuevo host

Descarga del ejecutable

Descargar el archivo descarga-certs en /usr/local/bin de la máquina de destino:

wget --no-check-certificate -O - https://srv.lechuga.eu/git/git/gestion-certificados/raw/branch/master/descarga-certs > /usr/local/bin/descarga-certs
chmod 440  /usr/local/bin/descarga-certs

Instalación de tarea cron

# Descarga del certificado y rearranque de los servicios dependientes
0 2 * * * root /usr/local/bin/descarga-certs -c -h $(hostname)
0 3 * * * root systemctl reload apache2

Localizacion de certificados Red Lechuga Sustituido por el host a host

Para el domínio lechuga.eu

En cada máquina hay una copia (cada máquina las recoge autónomamente)

Las claves privadas estan en /etc/ssl/private/lechuga.eu.key

Los certificados estan en /etc/ssl/certs/lechuga.eu.crt y lechuga.eu.chain.crt

Para el dominio hugo.cat

La clave (.key) y certificado (.crt) se encuentran en el directorio Antipatia de la nube.

Instalación de certificados en servicios de alojamiento

lechuga.eu - Manualmente

Copiar, el contenido de los archivos con los certificados directamente desde la consola

# desde brocoli.lechuga.eu
sudo cat /etc/ssl/certs/lechuga.eu.crt
sudo cat /etc/ssl/private/lechuga.eu.key

hugo.cat - Manualmente

Copiar, el contenido de los archivos del directorio antipatia de nube

\\NAS\nube hugo\Antipatia\ssl-hugo.cat\hugo.cat.crt.txt como certificado

ssl-hugo.cat/hugo.cat.crt.txt como certificado
ssl-hugo.cat/hugo.cat.key.txt como clave secreta