Recurso Educativo

Clientes ACME en Linux

11 de febrero de 2024
9 min de lectura
Contenido Experto

Publicado el

11 de febrero de 2024

Introducción

El protocolo ACME es un protocolo de red diseñado para automatizar el proceso de validación de dominios y la entrega de certificados X.509. El proceso se establece entre un servidor ACME y un cliente ACME.

Dos clientes populares en Linux son Certbot y acme.sh.

Certbot es un cliente ACME de código abierto creado por la Electronic Frontier Foundation (EFF) originalmente para ser usado en coordinación con su propio servicio de Autoridad de Certificación: Let's Encrypt.

El segundo cliente, acme.sh, es un cliente escrito en lenguaje Shell (shell de Unix) bajo la licencia GPLv3.

Visión general

Certbot y acme.sh son clientes ACME simples basados en CLI para Linux.

Certbot puede ejecutarse en cualquier sistema operativo tipo UNIX reciente equipado con Python 2.7 or 3.4+, mientras que acme.sh también puede ejecutarse en cualquier distribución Linux reciente que ejecute bash, dash or sh

Ambos soportan completamente la última ACMEv2 protocolo, incluyendo su característica principal más reciente: certificados comodín (\*.example.com).

Ambos clientes admiten diferentes modos para obtener un certificado y, en algunos casos, instalarlo automáticamente.

Las siguientes tablas enumeran los diferentes modos para cada cliente:

ModoCert botAcme.shNotas
apache✔️✔️Obtiene e instala automáticamente un certificado usando el servidor Apache en ejecución.( Para acme.sh, este modo solo obtendrá un certificado sin instalarlo)
nginx✔️✔️Obtiene e instala automáticamente un certificado usando el servidor NGINX en ejecución.( Para acme.sh, este modo solo obtendrá un certificado sin instalarlo)
raíz web✔️✔️Obtiene un certificado escribiendo en el directorio webroot de un servidor web ya en funcionamiento.
independiente✔️✔️Utiliza un servidor web "standalone" gestionado por Certbot o acme.sh. Este modo es útil en sistemas sin servidores web o si no se desea usar el servidor web en funcionamiento.
DNS✔️✔️Este modo automatiza la obtención de un certificado modificando un registro DNS para demostrar el control sobre un dominio.
tls-alpn✔️Utiliza un servidor TLS para validar el control sobre un dominio.

Solicitud de certificado

Ambos clientes deben ejecutarse usando privilegios administrativos (sudo), excepto acme.sh cuando se usa el webroot o DNS modos.

Cada cliente requiere solo unos pocos parámetros para solicitar un certificado por defecto de Let's Encrypt.

¿Desea implementar estas prácticas PKI?

Obtenga orientación experta para implementar soluciones PKI seguras para su organización.

Obtener ayuda experta

Por ejemplo para Certbot:

ParámetroDescripción
certonlyObtener o renovar un certificado, pero no instalarlo
raíz webColoque archivos en la carpeta raíz web de un server's para autenticación
-w [VALUE]Ruta de la carpeta raíz web del server's
-d [VALUE]Los dominio(s) para inscribirse.

El comando sería: certbot certonly --webroot -w /var/www/example -d www.example.com

Por otro lado, los parámetros para acme.sh son:

ParámetroDescripción
--issueObtener o renovar un certificado, pero no instalarlo
-d [VALUE]Los dominio(s) para inscribirse.
-w [VALUE]Ruta de la carpeta raíz web del server's

El comando sería: acme.sh --issue -d example.com -w /var/www/example

Hay muchas más opciones en ambos clientes para personalizar las solicitudes a necesidades específicas.

Para obtener más información, visite la página web oficial de Certbot y acme.sh: * [Certbot](https://certbot.eff.org/docs/using.html) * [acme.sh](https://github.com/Neilpang/acme.sh)

Casos de uso

Por defecto, Certbot y acme.sh solicitarán un certificado usando la Let's Encrypt CA pero hay varios casos de uso donde se preferiría solicitar un certificado de otra CA.

Los siguientes ejemplos describirán cómo usar algunos de los diferentes modos de Certbot y acme.sh para solicitar o revocar un certificado de otra CA.

Modo Apache

Usar el modo Apache de Certbot y acme.sh solicitará un certificado, validará el control sobre el dominio solicitado utilizando el servidor Apache en ejecución y luego instalará el certificado en el servidor (solo para Certbot).

El siguiente ejemplo detalla la solicitud utilizada, sus parámetros y los resultados de la solicitud usando el modo Apache con Certbot.

Modo NGINX

Usar el modo NGINX de Certbot y acme.sh solicitará un certificado, validará el control sobre el dominio solicitado usando el servidor NGINX en ejecución y luego instalará el certificado en el servidor (solo para Certbot).

Los siguientes ejemplos detallan las solicitudes utilizadas, los parámetros y los resultados de las solicitudes usando el modo NGINX.

Modo independiente

Usar el modo independiente de Certbot y acme.sh solicitará un certificado, validará el control sobre el dominio solicitado utilizando un servidor web independiente ejecutado por Certbot o acme.sh.

En este caso de uso, el certificado solo se obtiene y no se instala en el servidor web en funcionamiento. La configuración del servidor web debe modificarse posteriormente para que el certificado sea utilizado.

Los siguientes ejemplos detallan las solicitudes utilizadas, los parámetros y los resultados de las solicitudes usando el modo independiente.

Revocación

Ambos clientes también pueden revocar los certificados que manejan enviando una solicitud de revocación con el nombre de dominio correcto del certificado a revocar.

Los siguientes ejemplos detallan las solicitudes utilizadas, los parámetros y los resultados de las solicitudes para revocar un certificado usando Certbot.

¿Fue útil?
Volver al Centro de Educación

Tabla de contenidos

Sigue aprendiendo

Reciba el contenido educativo más reciente y conocimientos PKI directamente en su bandeja de entrada.

Al suscribirse acepta recibir nuestras comunicaciones. Puede darse de baja en cualquier momento.

Recursos relacionados

Evertrust

Secuencia 2: Instalar y configurar NGINX para cifrado TLS en RHEL/Debian/OpenSUSE

22 de abril de 2024
1 min

Mejora la seguridad de tu servidor web dominando el cifrado TLS. Nuestra guía detallada ofrece pasos prácticos para configurar NGINX en diferentes distribuciones de Linux, añadiendo una capa de seguridad para proteger los datos sensibles transmitidos por la web.

Leer más
Evertrust Cómo

Habilitar soporte de criptografía postcuántica en navegadores web

17 de abril de 2024
1 min

Explore el futuro de la criptografía post-cuántica y el intercambio seguro de claves en la comunicación web. Aprenda cómo habilitar estas funciones de seguridad avanzadas en los principales navegadores como Microsoft Edge y Firefox. Manténgase a la vanguardia con nuestra guía paso a paso.

Leer más
Evertrust

Secuencia 1: La guía para instalar y configurar Apache Httpd para cifrado TLS en RHEL, Debian, OpenSUSE

16 de abril de 2024
1 min

Explore el proceso óptimo para configurar y asegurar un servidor web en distribuciones Linux como RHEL, Debian y OpenSUSE. Dominando la implementación del cifrado TLS en servidores web Apache Httpd, ofrecemos pasos concisos para una mayor protección de datos.

Leer más

¿Listo para retomar el control de sus certificados?

Habla con nuestros expertos y descubre cómo Evertrust puede ayudarte a implementar las mejores prácticas en PKI y la gestión del ciclo de vida de los certificados.

Habla con un experto