Certificados Let’s Encrypt en máquinas secundarias …

.. que sólo los consumen pero no los crean.

Mientras ampliaba los scripts que distribuyen los certificados tras su renovación estuve pensando en que no es necesario limitarse tanto con los accesos a los mismos y me explico.

La mayor parte de los servicios que hacen uso de los certificados se inician como root, acceden a ellos y luego reducen sus privilegios con una cuenta específica. Con esos no hay problema en leer la clave privada por lo que no hay que hacer cambios.

El problema aparece con programas como qpsmtpd y aquí es donde he llegado a una conclusión: merece la pena centrarse en el recurso más que en los usuarios.

Aprovechando que el paquete ssl-certs crea un grupo de sistema llamado ssl-cert para asignarlo a su contenido voy a analizar qué cuentas de sistema están siendo usadas por programas que necesitan acceso a los certificados y las añadiré a este grupo.

De esta forma puedo limitar con precisión quién tiene acceso a las claves privadas y no necesito efectuar copias de los mismos para programas como qpsmtpd.

$ sudo chown -R root.ssl-cert /etc/letsencrypt.sh/certs
$ sudo chmod -R 0440 /etc/letsencrypt.sh/certs

Ah, y que no se me olvide declarar el paquete ssl-cert como dependencia en mis paquetes Debian.