ACME SSL /TLS Automatización con Apache y Nginx

Este tutorial lo guiará a través de la configuración de la instalación y renovación automatizada de certificados con SSL.com para Apache y Nginx con el protocolo ACME y el cliente Certbot.

Nota: Necesitará acceso SSH y sudo privilegios en su servidor web para seguir estas instrucciones.
Nota:
Puede utilizar muchos otros clientes ACME, incluidos Administrador de certificados de Kubernetes, con el servicio ACME de SSL.com.
acme4j  El cliente ahora puede usar los servicios ACME de SSL.com en este repositorio: https://github.com/SSLcom/acme4j
Consulte la documentación de su proveedor de software para obtener instrucciones para otros clientes que no sean Certbot ACME.

Instale Certbot y recupere las credenciales de ACME

  1. SSH en su servidor web.
  2. Asegúrese de que una versión actual de Certbot, junto con los complementos de Apache y Nginx, están instalados en su servidor web:
    • Si tiene snapd instalado, puede utilizar este comando para la instalación:
      sudo snap install - certbot clásico
    • If /snap/bin/ no esta en tu PATH, también necesitará agregarlo o ejecutar un comando como este:
      sudo ln -s / snap / bin / certbot / usr / bin / certbot
  3. Recupere sus credenciales ACME de su cuenta SSL.com:
    1. Inicie sesión en su cuenta de SSL.com. Si ya ha iniciado sesión, vaya a la Panel De Control .
      Panel De Control
    2. Haga clic credenciales de la API, ubicado debajo desarrolladores e integración.
      Enlace de credenciales de API
    3. Necesitarás tu Cuenta / clave ACME y Clave HMAC para solicitar certificados. Haga clic en el icono del portapapeles () junto a cada tecla para copiar el valor al portapapeles.
      Cuenta / clave ACME y clave HMAC

Instalación y automatización de Apache

Utilice un comando como este para instalar en Apache. Reemplace los valores TODOS EN MAYÚSCULAS con sus valores reales:

sudo certbot --apache --email DIRECCIÓN DE CORREO ELECTRÓNICO --agree-tos --no-eff-email --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com --eab -kid ACCOUNT-KEY --eab-hmac-key HMAC-KEY --server https://acme.ssl.com/sslcom-dv-ecc -d DOMINIO.NOMBRE

Desglosando el comando:

  • sudo certbot corre el certbot comando con privilegios de superusuario.
  • --apache especifica la instalación de certificados para su uso con Apache.
  • --email EMAIL-ADDRESS proporciona una dirección de correo electrónico de registro. Puede especificar varias direcciones, separadas por comas.
  • --agree-tos (opcional) acepta el acuerdo de suscriptor de ACME. Puede omitir esto si desea estar de acuerdo de forma interactiva.
  • --no-eff-email (opcional) indica que no desea compartir su dirección de correo electrónico con la EFF. Si omite esto, se le pedirá la opción de compartir su dirección de correo electrónico.
  • --config-dir /etc/ssl-com (opcional) establece el directorio de configuración.
  • --logs-dir /var/log/ssl-com (opcional) establece el directorio para los registros.
  • --eab-kid ACCOUNT-KEY especifica la clave de su cuenta.
  • --eab-hmac-key HMAC-KEY especifica su clave HMAC.
  • --server https://acme.ssl.com/sslcom-dv-ecc especifica el servidor ACME de SSL.com.
  • -d DOMAIN.NAME especifica el nombre de dominio que cubrirá el certificado.
Nota: Certbot 2.0.0 o más reciente genera de forma predeterminada ECDSA para nuevos certificados. El comando anterior es para un par de claves y un certificado ECDSA. Para usar claves RSA en su lugar:

  • Cambie el --server valor en el comando para https://acme.ssl.com/sslcom-dv-rsa
Nota: Puede utilizar el -d DOMAIN.NAME opción varias veces en su comando para agregar nombres de dominio a su certificado. Consulte nuestra información sobre tipos de certificados y facturación para ver cómo se asignan las diferentes combinaciones de nombres de dominio a Tipos de certificado SSL.com y su precio correspondiente.
Cuando ejecuta por primera vez lo anterior certbot comando, la información de la cuenta ACME se almacenará en su computadora en el directorio de configuración (/etc/ssl-com en el comando que se muestra arriba. En futuras ejecuciones de certbot, puede omitir el --eab-hmac-key y --eab-kid opciones porque certbot las ignorará en favor de la información de la cuenta almacenada localmente.

Si necesita asociar sus pedidos de certificados ACME para la computadora con una cuenta de SSL.com diferente, debe eliminar esta información de cuenta de su computadora con el comando sudo rm -r /etc/ssl-com/accounts/acme.ssl.com (o, si omitió el opcional --config-dir opción, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com).

Debería ver un resultado como este después de ejecutar el comando:

Guardando el registro de depuración en /var/log/ssl-com/letsencrypt.log Complementos seleccionados: Authenticator apache, Installer apache Obtención de un nuevo certificado Realizando los siguientes desafíos: desafío http-01 para DOMAIN.NAME Esperando verificación ... Limpiando desafíos Creó un vhost SSL en /etc/apache2/sites-available/DOMAIN-le-ssl.conf Implementación de certificado en VirtualHost /etc/apache2/sites-available/DOMAIN-le-ssl.conf Habilitación del sitio disponible: / etc / apache2 / sites-available / DOMAIN-le-ssl.conf Redirigiendo vhost en /etc/apache2/sites-enabled/DOMAIN.NAME.conf a ssl vhost en /etc/apache2/sites-available/DOMAIN-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ¡Felicidades! Ha habilitado correctamente https://DOMAIN.NAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Certbot también creará un archivo crontab como este para la renovación automática no interactiva de cualquier certificado instalado por certbot que expire dentro de los 30 días:

$ cat /etc/cron.d/certbot # /etc/cron.d/certbot: entradas crontab para el paquete certbot # # Upstream recomienda intentar la renovación dos veces al día # # Eventualmente, esta será una oportunidad para validar certificados # haven ' t ha sido revocado, etc. La renovación solo ocurrirá si el # de vencimiento es dentro de los 30 días. # # ¡Nota IMPORTANTE! Este cronjob NO se ejecutará si # está ejecutando systemd como su sistema de inicio. Si está ejecutando systemd, # la función cronjob.timer tiene prioridad sobre este cronjob. Para # más detalles, consulte la página de manual de systemd.timer o use systemctl show # certbot.timer. SHELL = / bin / sh RUTA = / usr / local / sbin: / usr / local / bin: / sbin: / bin: / usr / sbin: / usr / bin 0 * / 12 * * * prueba de raíz -x / usr / bin / certbot -a \! -d / run / systemd / system && perl -e 'sleep int (rand (43200))' && certbot -q renew
Nota: Todo SSL /TLS los certificados emitidos a través de ACME por SSL.com tienen una vida útil de un año.

Instalación y automatización de Nginx

Para Nginx, simplemente sustituya --nginx para --apache en el comando que se muestra arriba:

sudo certbot --nginx --email DIRECCIÓN DE CORREO ELECTRÓNICO --agree-tos --no-eff-email --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com --eab -kid ACCOUNT-KEY --eab-hmac-key HMAC-KEY --server https://acme.ssl.com/sslcom-dv-ecc -d DOMINIO.NOMBRE
Nota: Certbot 2.0.0 o más reciente genera de forma predeterminada ECDSA para nuevos certificados. El comando anterior es para un par de claves y un certificado ECDSA. Para usar claves RSA en su lugar:

  • Cambie el --server valor en el comando para https://acme.ssl.com/sslcom-dv-rsa

Forzar la renovación manualmente

Si desea renovar manualmente un certificado antes de que el vencimiento sea inminente, use este comando:

certbot renew --force-renewal --cert-name DOMINIO.NOMBRE

SSL.com proporciona una amplia variedad de SSL /TLS certificados de servidor para sitios web HTTPS.

COMPARAR SSL /TLS CERTIFICADOS

Suscríbase al boletín de SSL.com

No te pierdas los nuevos artículos y actualizaciones de SSL.com

Manténgase informado y seguro

SSL.com es líder mundial en ciberseguridad, PKI y certificados digitales. Regístrese para recibir las últimas noticias, consejos y anuncios de productos de la industria de SSL.com.

Nos encantaría recibir tus comentarios

Responda nuestra encuesta y háganos saber lo que piensa sobre su compra reciente.