Recurso educativo

Clientes ACME en Linux

11 de febrero de 2024
9 minutos de lectura
Contenido de expertos

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.

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 utilizado 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.

Descripción general

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

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

Ambos son totalmente compatibles con el último ACMEv2 , incluida su última característica principal: 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:

ModoBot de certificaciónAcme.shNotas
apache✔️✔️Obtiene e instala automáticamente un certificado utilizando 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 utilizando 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 raíz de un servidor web que ya está en ejecución.
autónomo✔️✔️Utiliza un servidor web independiente administrado por Certbot o acme.sh. Este modo es útil en sistemas sin servidores web o si no se desea usar el servidor web en ejecución.
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 utilizando privilegios administrativos (sudo), excepto acme.sh cuando se utilizan los webroot o DNS .

Cada cliente requiere sólo unos pocos parámetros para solicitar un certificado predeterminado de Let's Encrypt.

¿Quieres implementar estas prácticas de PKI?

Obtenga orientación experta sobre la implementación de soluciones PKI seguras para su organización.

Obtenga ayuda de expertos

Por ejemplo para Certbot:

ParámetroDescripción
ciertamenteObtenga o renueve un certificado, pero no lo instale
raíz webColoque los archivos en la carpeta raíz web de un servidor para la autenticación
-w [VALOR]Ruta de la carpeta raíz web del servidor
-d [VALOR]El(los) dominio(s) a inscribir.

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
--asuntoObtenga o renueve un certificado, pero no lo instale
-d [VALOR]El(los) dominio(s) a inscribir.
-w [VALOR]Ruta de la carpeta raíz web del servidor

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 según 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

De forma predeterminada, Certbot y acme.sh solicitarán un certificado mediante la CA Let's Encrypt, pero hay varios casos de uso en los que uno preferiría solicitar un certificado de otra CA.

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

Modo Apache

Al usar el modo Apache de Certbot y acme.sh se solicitará un certificado, se validará el control sobre el dominio solicitado utilizando el servidor Apache en ejecución y luego se 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 utilizando el modo Apache usando Certbot.

Modo NGINX

Al usar el modo NGINX de Certbot y acme.sh se solicitará un certificado, se validará el control sobre el dominio solicitado utilizando el servidor NGINX en ejecución y luego se 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 utilizando el modo NGINX.

Modo independiente

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

En este caso, el certificado solo se obtiene y no se instala en el servidor web en ejecución. La configuración del servidor web debe modificarse posteriormente para que el certificado se utilice.

Los siguientes ejemplos detallan las solicitudes utilizadas, los parámetros y los resultados de las solicitudes utilizando 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 utilizando Certbot.

¿Fue útil esto?
Regresar al Centro de Educación

Tabla de contenido

Sigue aprendiendo

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

Al suscribirte, aceptas recibir nuestras comunicaciones. Puedes darte de baja en cualquier momento.

Recursos relacionados

Evertrust

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

22 de abril de 2024
1 minuto

Mejore la seguridad de su 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 confidenciales transmitidos por la web.

Leer más
Evertrust Cómo

Habilitar la compatibilidad con criptografía postcuántica en navegadores web

17 de abril de 2024
1 minuto

Explora el futuro de la criptografía poscuántica y el intercambio seguro de claves en las comunicaciones web. Aprende a habilitar estas funciones de seguridad avanzadas en navegadores populares como Microsoft Edge y Firefox. Mantente a la vanguardia con nuestra guía paso a paso.

Leer más
Evertrust

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

16 de abril de 2024
1 minuto

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

Leer más

¿Estás listo para recuperar el control de tus certificados?

Hable con nuestros expertos y descubra cómo Evertrust puede ayudarle a implementar las mejores prácticas en PKI y gestión del ciclo de vida de los certificados.

Habla con un experto