Certificados Wildcard con Let’s Encrypt

No tener tu sitio con un certificado de seguridad es un pecado mayor en estos días, máxime cuando tenemos esta maravilla llamada Let’s Encrypt que proporciona certificados gratuitos para todo mundo.

Desde hace meses, también se pueden generar certificados Wildcard con lo que no hay pretexto para no tener uno. Veamos como.

IMPORTANTE: Debes de tener acceso a la configuración DNS de tu dominio para poder usar el método mostrado aquí.

Primero instalamos la herramienta certbot.

Para ArchLinux

sudo pacman -S certbot

Para Ubuntu Server 18.04

sudo apt install certbot

Primero nos registramos, se te solicitará un correo electrónico para esto.

sudo certbot register

[sudo] password for USER:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices) (Enter 'c' to
cancel): TU_CORREO_ELECTRONICO

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(A)gree/(C)ancel: A

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y

IMPORTANT NOTES:
 - Your account credentials have been saved in your Certbot
   configuration directory at /etc/letsencrypt. You should make a
   secure backup of this folder now. This configuration directory will
   also contain certificates and private keys obtained by Certbot so
   making regular backups of this folder is ideal.

Ahora solicitamos el certificado. Si copias y pegas, no olvides reemplazar empresalibre.mx por tu dominio.

sudo certbot certonly --manual --manual-public-ip-logging-ok --preferred-challenges dns -d empresalibre.mx -d *.empresalibre.mx

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator manual, Installer None
Obtaining a new certificate
Performing the following challenges:
dns-01 challenge for empresalibre.mx

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please deploy a DNS TXT record under the name
_acme-challenge.empresalibre.mx with the following value:

UuYw-kThdxK5gsKafAKbLLefNeO1qmkvaLfbZtmjGnI

Before continuing, verify the record is deployed.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue

En este momento, debes de ir al administrador de DNS de tu dominio y agregar un nuevo registro TXT con los valores que te muestre el script. Como ejemplo, te muestro una imagen de mi proveedor, el tuyo deberías ser muy similar. Intenta usar en el valor TTL, el menor valor que te permite tu proveedor.

Agregar registro TXT

Al crear o guardar debes de verlo listado en tus registros DNS.

Agregar registro TXT

IMPORTANTE: dependiendo de la velocidad con que tu proveedor actualice sus registros, la consulta de este nuevo registro TXT tardará más o menos, te sugiero consultar que el registro ha sido actualizado antes de continuar.

dig TXT _acme-challenge.empresalibre.mx +short

"UuYw-kThdxK5gsKafAKbLLefNeO1qmkvaLfbZtmjGnI"

En cuanto veas la consulta correcta de tu registro TXT, presiona Enter para continuar. Si todo esta bien, debes de ver una salida similar a la siguiente:

Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/empresalibre.mx/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/empresalibre.mx/privkey.pem
   Your cert will expire on 2019-05-02. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot
   again. To non-interactively renew *all* of your certificates, run
   "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Puedes verificar el certificado con:

sudo certbot certificates

Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
  Certificate Name: empresalibre.mx
    Domains: empresalibre.mx *.empresalibre.mx
    Expiry Date: 2019-05-02 03:52:05+00:00 (VALID: 89 days)
    Certificate Path: /etc/letsencrypt/live/empresalibre.mx/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/empresalibre.mx/privkey.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Eso es todo, ahora tienes tu certificado Wildcard listo para usarse en tu dominio o subdominios. No olvides renovarlo cada 90 días.

Si tienes dudas, puedes preguntarme en Mastodon

Comments