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
lxc exec srv-internet bashcd /opt/gestion-certificados- Ejecutar
./01-renueva-certs-paso-#1.sh: dará el comando a introducir que mostrará el TXT _acme-challenge.lechuga.eu - Ejecutar
./02-renueva-certs-paso-#2.sh: dará el comando a introducir que comprobará el TXT y renovará los certificados - Ejecutar
./03-renueva-certs-publicacion.sh: Publicará los nuevos archivos al repo en apache2 - 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
- Bajar el repo
cd /opt/gestion-certificados
- añadir la línea al /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_LOCATIONyDOMAIN_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
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 certificadossl-hugo.cat/hugo.cat.key.txt como clave secreta