Certificados SSL gratuitos
Para habilitar HTTPS en su sitio web, debe obtener un certificado de una Autoridad de certificación (CA). Let's Encrypt es una CA... ¡y lo gratis siempre es bueno!
Let's Encrypt es una autoridad de certificación abierta, automatizada y gratuita presentada por la organización sin fines de lucro Internet Security Research Group (ISRG) .
Además del precio, una de las partes atractivas de esta solución es que realmente no requiere que demuestre la propiedad del dominio DNS para el que desea obtener un certificado. Si ya hay un nombre DNS que se resuelve en ese host, puede obtener un certificado SSL para ese dominio y nombre de host. En realidad, esto podría ser un problema para algunas organizaciones si requieren el uso de su propia CA.
Certbot es la forma más fácil de comenzar con Let's Encrypt si tiene acceso ssh a ese host y acceso raíz. Siga las instrucciones en su sitio web para instalarlo en su sistema operativo particular. Asegúrese de que su firewall/grupo de seguridad permita el tráfico entrante en el puerto 80 y, si ya tiene un host ejecutándose en el puerto 80, apáguelo temporalmente y ejecute:
sudo certbot certonly --standalone
Cerbot le pedirá el nombre DNS asociado con ese host e iniciará un proceso de escucha en el puerto 80. Si su servicio puede acceder a ese proceso desde Internet, se emitirá su certificado SSL. ¡Es así de fácil!
☑ Sugerencia rápida: si usa Cloudflare para DNS, asegúrese de DESACTIVAR el modo "Proxied" o Cerbot no podrá comunicarse con el host.
Una vez que tenga un certificado, deberá concatenar el certificado en un formato que su servidor web entienda. En este ejemplo, usaremos HAProxy como nuestro servidor, reemplace < your.dns.name > con su nombre de host DNS:
sudo mkdir -p /etc/haproxy/ssl/
sudo cat /etc/letsencrypt/live/your.dns.name/fullchain.pem \
/etc/letsencrypt/live/your.dns.name/privkey.pem \
| sudo tee /etc/haproxy/ssl/cert.pem
Los certificados de Let's Encrypt son válidos durante 90 días , por lo que debe estar preparado para gestionar el proceso de renovación.
Para probar esto, puede ejecutar:
sudo certbot renew --dry-run
Si la renovación es exitosa, puede agregar la siguiente entrada en el archivo crontab de su sistema:
crontab -e
43 6 * * * sudo certbot renew --deploy-hook
La opción de gancho de implementación le permite a Cerbot ejecutar un script, pero solo si la renovación del certificado es exitosa. Puede personalizar este script:
sudo nano /etc/letsencrypt/renewal-hooks/deploy/start.sh
#!/bin/sh
sudo cat /etc/letsencrypt/live/your.dns.name/fullchain.pem \
/etc/letsencrypt/live/your.dns.name/privkey.pem \
| sudo tee /etc/haproxy/ssl/cert.pem
sudo service haproxy restart
Tagged with:
encryption