Clicky

Cómo utilizar automáticamente el certificado SSL de Let"™s Encrypt en Virtualmin/Webmin

certificado SSL de Let"™s Encrypt

Webmin y Virtualmin hacen que sea muy fácil de solicitar, autenticar la propiedad del dominio, crear, generar, instalar, aplicar y renovar los certificados SSL

Desde Webmin 1.78 y Virtualmin 5.0, Webmin se puede solicitar un certificado SSL por uno mismo desde Let"™s Encrypt, la autoridad de certificación (CA) gratuita, automatizada y abierta, si tienes instalado en el servidor los comandos del cliente letsencrypt. La función integrada Let"™s Encrypt en Webmin y Virtualmin hace que sea muy fácil de solicitar, autenticar la propiedad del dominio, crear, generar, instalar, aplicar y renovar los certificados SSL y claves privadas para varios servidores virtuales (dominios y sitios web).

 

Este tutorial guía sobre cómo configurar y establecer Virtualmin y Webmin para manejar y gestionar todo lo relacionado con los certificados SSL de Let"™s Encrypt.

Let"™s Encrypt pregunta por los certificados de Dominio Validado (Domain Validated - DV) que requieren que se verifique la propiedad de los dominios. La implementación de Let"™s Encrypt en Webmin y Virtualmin está usando el plugin webroot como método de autenticación.

El plugin webroot funciona creando un archivo temporal para cada uno de los dominios solicitados en ${webroot-path}/.well-known/acme-challenge. A continuación, el servidor de validación Let's Encrypt hace las solicitudes HTTP para validar que el DNS para cada dominio solicitado se resuelva en el servidor que aloja el sitio web para el dominio.

Instalar el cliente Let"™s Encrypt

Sigue estas instrucciones para instalar el cliente Let"™s Encrypt en tu sistema.

Instalar y Configurar Let"™s Encrypt en Webmin / Virtualmin

1. Inicia sesión en Webmin / Virtualmin.
2. Ir a la pestaña Webmin.
3. Ir a Webmin → Webmin Configuration.
4. Hacer clic o tocar en el enlace Module Config o en el botón situado en la esquina superior izquierda.

webmin config module

5. En el cuadro de texto Full path to Let"™s Encrypt client command, introduce la ruta completa al ejecutable del cliente Let"™s Encrypt. Haz clic o toca Save cuando hayas terminado.

Si has instalado Let"™s Encrypt a través de la clonación de Git, tendrás tanto el script letsencrypt-auto en el directorio de descarga y letsencrypt binario en un lugar menos prominente. Si instalas Let"™s Encrypt a través del paquete de sistema, sólo está disponible letsencrypt binario.

letsencrypt-auto acepta los mismos parámetros que letsencrypt y se puede utilizar indistintamente; letsencrypt-auto instala todas sus propias dependencias y actualiza el código de cliente de forma automática, y por lo tanto es comparativamente más lento y más grande que letsencrypt.

Para el cliente Let"™s Encrypt obtenido manualmente con letsencrypt-auto, el cliente (letsencrypt binario) está disponible dentro del entorno virtual que creó: /home/username/.local/share/letsencrypt/bin/letsencrypt

Solicitar e instalar el certificado SSL de Let"™s Encrypt para servidores virtuales/dominios

Webmin/Virtualmin soporta hosts virtuales basados en nombre con SSL como Apache HTTPD y se construye con la extensión SNI (Servidor de Nombres Indicación).

1. Ir a la pestaña Virtualmin.
2. Seleccionar de la lista desplegable el servidor virtual/dominio en el que deseas habilitar el protocolo SSL con certificado SSL de Let's Encrypt.
3. Selecciona Edit Virtual Server.
4. Ir a Enabled Features.
5. Comprueba el campo SSL website enabled?. Y pincha Save Virtual Server cuando hayas terminado.

virtualmin enable ssl

Nota: Si no puedes ver la opción "SSL website enabled?", ve a System Settings -> Features and Plugins para habilitar el sitio web SSL.

Después de habilitar SSL para tu host virtual, se crea y aplica automáticamente un certificado autofirmado. El certificado autofirmado será reemplazado y sobrescrito por el certificado SSL de Let's Encrypt.

6. Ahora ve a Server Configuration → Manage SSL Certificate.
7. Ir a la pestaña Let's Encrypt.
8. Bajo Request certificate for, selecciona el botón de radio Domains associated with this server que permite a Virtualmin decidir automáticamente los dominios para el certificado SSL (normalmente el dominio raíz y su subdominio www), o Domain names listed here, donde se pueden enumerar los dominios (uno por línea) que deseas incluir manualmente en el certificado SSL.
9. Virtualmin también es compatible con la renovación automática del certificado de Let's Encrypt. Para ello, selecciona el botón de opción situado junto al cuadro de texto vacío Months between automatic renewal option y, a continuación, introduce un número entre 1 y 3 meses en el cuadro de texto.

El certificado SSL de Let's Encrypt tiene una vida útil de sólo 90 días antes de su caducidad. Así que hay que renovar el certificado SSL antes de los 3 meses para asegurar que las HTTPS que visitan tus sitios web no son interrumpidas.

10.
virtualmin letsencrypt request
Pincha en Request Certificate cuando hayas terminado.

11.
virtualmin letsencrypt success
Una vez hecho esto, Virtualmin instalará automáticamente el certificado SSL y configurará el servidor web para utilizar el nuevo certificado y una clave. Ahora puedes visitar tu sitio web a través de una conexión segura HTTPS, que automáticamente debería ser de confianza por la mayoría de los navegadores web, y verla protegida con un candado verde.

Redirigiendo el tráfico web HTTP a la conexión SSL HTTPS

Después de habilitar el SSL, es posible que desees que el servidor web redirija automáticamente todas las conexiones HTTP a conexiones HTTPS para el dominio. Virtualmin tiene capacidad incorporada para configurar esto. Para ello (asegúrate de que aún está seleccionado en Virtualmin el servidor virtual correcto), ve a Services → Configure Website (asegúrate de que no está marcado "Configure Website for SSL"). A continuación, selecciona Aliases and Redirects

virtual server options

Bajo Permanent URL redirects, introduce / (barra) en la caja de texto From, y en la caja de texto To escribe https://www.nombre-de-dominio.com (la URL de su sitio web con HTTPS en su totalidad).

permanent http to https redirect

Haz clic en Save cuando hayas terminado y luego en Apply Changes.

Securizar Webmin, Usermin, Postfix, Dovecot y ProFTPD con el certificado SSL de Let"™s Encrypt

Puedes el utilizar certificado SSL del Let"™s Encrypt en Webmin (si el nombre de dominio correspondiente está incluido en el certificado SSL, por lo que será presentado al administrador principal y los propietarios del dominio al acceder a la interfaz de usuario web de Virtualmin en el puerto 10000); Usermin, de modo que se presente a los usuarios de buzones de correo que acceden a la interfaz de correo web en el puerto 20000, en Dovecot para conexiones IMAP y POP3 protegidas con SSL; en Postfix para conexiones SMTP protegidas con SSL por clientes de correo y en ProFTPD para conexión FTP SSL protegida por clientes.

Para ello, ve a Server Configuration → Manage SSL Certificate. En la pestaña Current Certificate, haz clic o toca en Copy to Webmin, Copy to Usermin, Copy to Dovecot, Copy to Postfix, y / o Copy to ProFTPD para cada aplicación con que deseas usar el certificado de Let"™s Encrypt.

En el caso que el certificado SSL haya incluido el nombre de dominio con Webmin y Usermin ejecutándose, no es necesario copiar el certificado de Let"™s Encrypt en el Servidor Virtual

Alternativa para asegurar Webmin y Usermin usando Let"™s Encrypt

Webmin tiene otra forma de solicitar y generar certificados Let"™s Encrypt para asegurar Webmin, útil si la raíz de tu Webmin y Usermin está en un subdominio que requiere certificado SSL de los suyos.

Ir a Webmin → Webmin → Webmin Configuration → SSL Encryption. A continuación, ve a la pestaña Let"™s Encrypt. La pantalla es similar a cómo se genera el certificado de Let"™s Encrypt para el host virtual, donde el nombre de host para el certificado es detectado automáticamente por Webmin y se pueden añadir más, excepto que puede que tengas que especificar el directorio raíz del sitio web para el archivo de validación debido a que el root del nombre de dominio de Webmin y Usermin puede no ser accesible a través de un registro en el DNS. También asegúrate de que la opción Copy new key and certificate to Webmin? se establece en Yes para utilizar el certificado que acabas de crear en Webmin.

Para utilizar el nuevo certificado en Usermin, ir a Webmin → Webmin → Usermin Configuration → Current Certificate, y pulsa Certificate from Webmin para copiar el certificado SSL, la clave privada, CA CERT y otros ajustes que Webmin esté utilizando.

Jesus_Caceres