- NGINX publicó una versión preliminar con soporte nativo para el protocolo ACME, que automatiza la emisión y renovación de certificados SSL/TLS
- Mediante el nuevo módulo basado en Rust
ngx_http_acme_module, ahora es posible solicitar, instalar y renovar certificados solo con la configuración de NGINX, sin herramientas externas
- Con esto, se reduce la dependencia de herramientas externas como Certbot y se mejora la seguridad y la independencia de la plataforma
- La versión inicial admite el desafío HTTP-01, y el soporte para TLS-ALPN y DNS-01 está previsto para más adelante
- Se espera que el soporte de ACME desempeñe un papel importante en la automatización de la seguridad no solo en la web, sino también en entornos de IoT y edge computing
Descripción general y cambios principales
- NGINX publicó una versión preliminar de su función de soporte para el protocolo ACME
- A través del nuevo módulo
ngx_http_acme_module, fue diseñado para permitir manejar directamente desde la configuración de NGINX la solicitud, instalación y renovación de certificados
- Este soporte de ACME utiliza internamente el NGINX-Rust SDK y se ofrece en forma de módulo dinámico basado en Rust
- Tanto los usuarios de código abierto como los clientes empresariales de NGINX Plus pueden usar esta función
- Al reducir la dependencia de herramientas externas como Certbot, mejora la seguridad y la eficiencia de la gestión de certificados
Introducción al protocolo ACME
- El protocolo ACME (Automated Certificate Management Environment) es un protocolo de comunicación que automatiza la emisión, validación, renovación y revocación de certificados SSL/TLS
- Los clientes pueden gestionar directamente el ciclo de vida de los certificados mediante comunicación automatizada con una CA (Certificate Authority), sin intervención manual de terceros
- Fue desarrollado y publicado en 2015 por Internet Security Research Group (ISRG) como parte del proyecto Let’s Encrypt
- Antes de la aparición de ACME, el proceso de emisión de certificados era manual y tenía mayores costos y posibilidades de error
- La versión más reciente, ACMEv2, añade varias funciones, como métodos de validación y soporte para comodines, aumentando la flexibilidad y la seguridad
Flujo de automatización de certificados basado en ACME en NGINX
- En NGINX, la automatización del ciclo de vida de los certificados con el protocolo ACME se compone de las siguientes 4 etapas
-
1. Configuración del servidor ACME
- Para activar la función ACME, es obligatorio especificar la URL del directorio del servidor ACME con
acme_issuer
- Si surge un problema con la emisión del certificado, también se pueden definir opcionalmente datos de contacto del cliente y la ruta para guardar los datos de estado
-
2. Asignación de memoria compartida (zone)
- Con
acme_shared_zone, se puede configurar adicionalmente una zona de memoria compartida para almacenar certificados, claves privadas y datos del desafío
- El tamaño predeterminado es de 256K y puede ampliarse según sea necesario
-
3. Configuración del desafío (Challenge)
- La versión preliminar actual solo admite el desafío HTTP-01, que se usa para verificar la propiedad del dominio
- Para ello, se debe definir en la configuración de NGINX un listener en el puerto 80 y una configuración de respuesta 404 predeterminada
- Más adelante se añadirá soporte para los desafíos TLS-ALPN y DNS-01
-
4. Emisión y renovación de certificados
- Si se agrega la directiva
acme_certificate al bloque del servidor, se puede automatizar la emisión y renovación de certificados TLS para ese dominio
- Normalmente, el dominio objetivo para emitir el certificado se especifica con
server_name
- Las expresiones regulares y los comodines en
server_name no son compatibles en la versión preliminar
- Mediante las variables del módulo
$acme_certificate y $acme_certificate_key, el certificado y la clave se vinculan automáticamente
Principales ventajas
- El protocolo ACME está en el centro del rápido crecimiento global del uso de HTTPS
- La gestión automatizada de certificados reduce drásticamente los costos del ciclo de vida de los certificados y los errores derivados del trabajo manual
- Al eliminar herramientas externas, se logra una reducción de la superficie de ataque y mayor portabilidad
- Impulsa la estandarización de la seguridad en distintos entornos
Planes a futuro
- Está previsto añadir soporte para los desafíos TLS-ALPN y DNS-01
- Se ampliarán las funciones con base en la retroalimentación de los usuarios
- A medida que se expanda la adopción de IoT, API y edge computing, se espera que ACME desempeñe un papel central en una infraestructura de seguridad automatizada cada vez más amplia
- El soporte nativo de ACME en NGINX servirá como base para convertir la seguridad web, la automatización y la escalabilidad en el estándar del futuro
Primeros pasos
- Los usuarios de código abierto pueden usar el módulo precompilado desde NGINX Linux packages
- Para los clientes empresariales de NGINX Plus, se ofrece como módulo dinámico con soporte de F5
- Consulta la documentación del módulo en NGINX Docs
Aún no hay comentarios.