En una entrada anterior explicamos como gestionar certificados de Let’s Encrypt con el servidor web Nginx en una Raspberry Pi 2B con Raspbian (Debian Jessie 8.0) instalado. También explicamos qué es y sus claves de éxito. Por este motivo no vamos a repetir esta información y vamos a centrarnos en su instalación y gestión en un servidor con Centos instalado.
Esta entrada se basa en la versión 6 de Centos. Si quieres instalarlo en un Centos 7 dispones del paquete Certbot en sus repositorios oficiales, pudiendo tomar como referencia de comandos lo mostrado en la entrada anterior sobre la instalación de este en un sistema Debian. Sin embargo, también puedes usar los pasos que vamos a indicar en esta entrada.
Os dejo el enlace a la entrada anterior relacionada con este mismo tema pinchando aquí.
Tabla de contenidos
Escenario
Vamos a instalar el software necesario para gestionar certificados en un servidor con el sistema operativo Centos 6.10 instalado.
CentOS release 6.10 (Final)
Para ello clonaremos el repositorio de Let’s Encrypt alojado en GitHub para su ejecución con sistemas Red Hat.
El servidor web utilizado será Apache.
Server version: Apache/2.2.15 (Unix) Server built: Jun 19 2018 15:45:13
Requisitos
Debemos de disponer de los siguientes elementos para poder gestionar estos certificados:
- Servidor web, stand alone o compartido (webroot).
- Dominio público, que debe de apuntar a la IP del servidor. En nuestro caso usaremos example.tiraquelibras.com
- IP fija o un servicio DNS para direccionamiento dinámico, como DynDNS (pincha aquí).
- Conexión al puerto 80 del servidor web desde el exterior.
- Conexión al puerto 443 para levantar el servicio una vez instalado el certificado.
- NO tener un certificado instalado previamente para el dominio que vamos a utilizar.
El servidor web puede ser stand alone con un único dominio, o compartido con distintos Virtual Hosts configurados.
Instalación del programa
Vamos a proceder con los pasos necesarios para su instalación.
Instalación de paquetes necesarios
Instalamos el servidor web:
yum install httpd
Y su módulo SSL/TLS:
yum -y install mod_ssl
Iniciamos el servicio web:
service httpd start # Para Centos 6 systemctl start httpd.service # Para Centos 7
Ahora instalamos el paquete necesario para obtener Git:
yum install epel-release
Instalamos Git junto a todas sus dependencias:
yum install git
IMPORTANTE!!!, debemos de tener Python3 instalado, ya que de lo contrario cualquier script configurado en el Crontab fallará:
yum install python34
Clonado del repositorio
En este punto procedemos a clonar el repositorio de GitHub en el directorio /usr/local:
cd /usr/local/ git clone https://github.com/letsencrypt/letsencrypt
Ya tenemos nuestro programa disponible para su ejecución:
# cd /usr/local/letsencrypt/ # ls acme certbot-dns-ovh letshelp-certbot appveyor.yml certbot-dns-rfc2136 LICENSE.txt AUTHORS.md certbot-dns-route53 linter_plugin.py certbot certbot-dns-sakuracloud local-oldest-requirements.txt certbot-apache certbot-nginx MANIFEST.in certbot-auto certbot-postfix mypy.ini certbot-compatibility-test CHANGELOG.md pull_request_template.md certbot-dns-cloudflare CONTRIBUTING.md pytest.ini certbot-dns-cloudxns docker-compose.yml README.rst certbot-dns-digitalocean Dockerfile readthedocs.org.requirements.txt certbot-dns-dnsimple Dockerfile-dev setup.cfg certbot-dns-dnsmadeeasy Dockerfile-old setup.py certbot-dns-gehirn docs tests certbot-dns-google examples tools certbot-dns-linode ISSUE_TEMPLATE.md tox.cover.py certbot-dns-luadns letsencrypt-auto tox.ini certbot-dns-nsone letsencrypt-auto-source
OJO!!! Si ejecutamos la ayuda por primera vez acaba de instalar todas las dependencias que precisa, que no cunda el pánico. En mi caso estas fueron las dependencias pendientes:
================================================================================================================ Paquete Arquitectura Versión Repositorio Tamaño ================================================================================================================ Instalando: augeas-libs x86_64 1.0.0-10.el6 base 314 k libffi-devel x86_64 3.0.5-3.2.el6 base 18 k python-tools x86_64 2.6.6-66.el6_8 base 871 k python-virtualenv noarch 12.0.7-1.el6 epel 1.7 M Instalando para las dependencias: tix x86_64 1:8.4.3-5.el6 base 252 k tk x86_64 1:8.5.7-5.el6 base 1.4 M tkinter x86_64 2.6.6-66.el6_8 base 258 k Resumen de la transacción ================================================================================================================ Instalar 7 Paquete(s) Tamaño total de la descarga: 4.8 M Tamaño instalado: 11 M … ¡Listo! Creating virtual environment... Installing Python packages... Installation succeeded.
Una vez completado el punto anterior obtenemos la ayuda del comando:
# cd /usr/local/letsencrypt # ./letsencrypt-auto --help - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - letsencrypt-auto [SUBCOMMAND] [options] [-d DOMAIN] [-d DOMAIN] ... Certbot can obtain and install HTTPS/TLS/SSL certificates. By default, it will attempt to use a webserver both for obtaining and installing the certificate. The most common SUBCOMMANDS and flags are: obtain, install, and renew certificates: (default) run Obtain & install a certificate in your current webserver certonly Obtain or renew a certificate, but do not install it renew Renew all previously obtained certificates that are near expiry enhance Add security enhancements to your existing configuration -d DOMAINS Comma-separated list of domains to obtain a certificate for --apache Use the Apache plugin for authentication & installation --standalone Run a standalone webserver for authentication --nginx Use the Nginx plugin for authentication & installation --webroot Place files in a server's webroot folder for authentication --manual Obtain certificates interactively, or using shell script hooks -n Run non-interactively --test-cert Obtain a test certificate from a staging server --dry-run Test "renew" or "certonly" without saving any certificates to disk manage certificates: certificates Display information about certificates you have from Certbot revoke Revoke a certificate (supply --cert-path or --cert-name) delete Delete a certificate manage your account with Let's Encrypt: register Create a Let's Encrypt ACME account update_account Update a Let's Encrypt ACME account --agree-tos Agree to the ACME server's Subscriber Agreement -m EMAIL Email address for important account notifications More detailed help: -h, --help [TOPIC] print this message, or detailed help on a topic; the available TOPICS are: all, automation, commands, paths, security, testing, or any of the subcommands or plugins (certonly, renew, install, register, nginx, apache, standalone, webroot, etc.) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Instalación del certificado
Disponemos de dos métodos de instalación, la integrada (framework para Apache o Nginx) y la manual.
Instalación integrada
Ahora podemos configurar el entorno para ser usado con el servidor web, en nuestro caso Apache aunque también disponible para otros como Nginx, o podemos usarlo tal cual se ha instalado. Esto es debido a que si lo configuramos para cualquiera de estos servidores web él mismo se encarga de configurar las redirecciones HTTP->HTTPS de manera automática, sin que tengamos que hacer nada.
Ejecutamos el comando para generar el certificado de nuestro dominio example.tiraquelibras.com:
./letsencrypt-auto --apache -d example.tiraquelibras.com
Nos pregunta si queremos que el Framework para Apache haga la redirección de manera automática. Le indicamos que sí seleccionado la opción Redirect, opción 2:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Obtaining a new certificate Created an SSL vhost at /etc/httpd/conf.d/example-le-ssl.conf Deploying Certificate to VirtualHost /etc/httpd/conf.d/example-le-ssl.conf Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: No redirect - Make no further changes to the webserver configuration. 2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for new sites, or if you're confident your site works on HTTPS. You can undo this change by editing your web server's configuration. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 2
Primero nos indica los archivos que ha modificado para configurar la redirección, y si todo finalizó correctamente se muestra la URL de SSLLabs (https://www.ssllabs.com) para confirmar la validez del certificado, junto con la fecha de expiración dentro de 3 meses:
Redirecting vhost in /etc/httpd/conf.d/example.conf to ssl vhost in /etc/httpd/conf.d/example-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://example.tiraquelibras.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=example.tiraquelibras.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.tiraquelibras.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.tiraquelibras.com/privkey.pem Your cert will expire on 2019-05-27. To obtain a new or tweaked version of this certificate in the future, simply run letsencrypt-auto again with the "certonly" option. To non-interactively renew *all* of your certificates, run "letsencrypt-auto 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
Más adelante mostraremos el contenido de los archivos del VirtualHost, que en nuestro caso son /etc/httpd/conf.d/example.conf y /etc/httpd/conf.d/example-le-ssl.conf.
OJO!!!, el archivo ssl.conf generado contiene las etiquetas <IfModule mod_ssl.c> </IfModule>, pero a mi no me funcionó y por tanto las tuve que comentar.
Comprobamos que el certificado ha sido instalado correctamente y su periodo de validez, junto con los archivos correspondientes a la semilla y certificado finales:
# ./letsencrypt-auto certificates Saving debug log to /var/log/letsencrypt/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Found the following certs: Certificate Name: example.tiraquelibras.com Domains: example.tiraquelibras.com Expiry Date: 2019-05-27 14:22:52+00:00 (VALID: 89 days) Certificate Path: /etc/letsencrypt/live/example.tiraquelibras.com/fullchain.pem Private Key Path: /etc/letsencrypt/live/example.tiraquelibras.com/privkey.pem - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Instalación manual
Para la instalación manual podemos indicar que el servidor web es stand alone, o lo que es lo mismo con un único dominio configurado, o compartido, con varios Virtual Servers configurados, que es nuestro caso. Vamos a iniciar la instalación para el dominio example.tiraquelibras.com
Podemos ejecutar el comando anterior con el Framework para Apache escogiendo la opción 1 No redirect, el cual genera los archivos pero no configura el servidor web para redirigir el tráfico al puerto seguro HTTP->HTTPS.
Stand alone:
./letsencrypt-auto --standalone -d yeloquehay.com
Webroot (compartido), que es nuestro caso. Tenemos que indicar el Document Root en donde se encuentra alojada la web del dominio que vamos a indicar:
./letsencrypt-auto certonly --webroot -w /var/www/pruebas/ -d example.tiraquelibras.com
Si todo finalizó correctamente se muestran los archivos generados junto a su path y a la fecha de expiración de este:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator webroot, Installer None Obtaining a new certificate IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.tiraquelibras.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.tiraquelibras.com/privkey.pem Your cert will expire on 2019-05-27. To obtain a new or tweaked version of this certificate in the future, simply run letsencrypt-auto again. To non-interactively renew *all* of your certificates, run "letsencrypt-auto 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
Ahora podremos crear la redirección HTTP -> HTTPS indicando los archivos del certificado, teniendo en cuenta su fecha de expiración:
Cert -> /etc/letsencrypt/live/example.tiraquelibras.com/fullchain.pem Key -> /etc/letsencrypt/live/example.tiraquelibras.com/privkey.pem Your cert will expire on 2019-05-27
Archivos VirtualHost
Archivo para el puerto 80 HTTP, con la redirección al puerto seguro:
<VirtualHost *:80> ServerAdmin sbastian@telecable.com DocumentRoot /var/www/pruebas/ ServerName example.tiraquelibras.com ErrorLog /var/log/httpd/pruebas-error.log CustomLog /var/log/httpd/pruebas.log combined <Directory /var/www/pruebas/> Order Deny,Allow Allow from All </Directory> RewriteEngine on RewriteCond %{SERVER_NAME} =example.tiraquelibras.com RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [L,NE,R=permanent] </VirtualHost>
Archivo para el pureto 443 HTTPS, con los archivos del certificado generados anteriormente:
<VirtualHost *:443> ServerAdmin sbastian@telecable.com DocumentRoot /var/www/pruebas/ ServerName example.tiraquelibras.com ErrorLog /var/log/httpd/pruebas-error.log CustomLog /var/log/httpd/pruebas.log combined <Directory /var/www/pruebas/> Order Deny,Allow Allow from All </Directory> SSLCertificateFile /etc/letsencrypt/live/example.tiraquelibras.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.tiraquelibras.com/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf SSLCertificateChainFile /etc/letsencrypt/live/example.tiraquelibras.com/chain.pem </VirtualHost>
Reiniciamos el servicio web:
sudo service httpd restart # Para Centos 6 sudo systemctl restar httpd.service # Para Centos 7
Revisar cualquier error que os pueda dar el reinicio, ya que alguno de los pasos previos no está bien ejecutado.
Ahora el certificado que se muestra al acceder a la URL es el de Let’s Encrypt:
Comprobamos el estado de los certificados instalados:
# ./letsencrypt-auto certificates Saving debug log to /var/log/letsencrypt/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Found the following certs: Certificate Name: example.tiraquelibras.com Domains: example.tiraquelibras.com Expiry Date: 2019-05-27 14:39:17+00:00 (VALID: 89 days) Certificate Path: /etc/letsencrypt/live/example.tiraquelibras.com/fullchain.pem Private Key Path: /etc/letsencrypt/live/example.tiraquelibras.com/privkey.pem - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Actualización de los certificados
Podemos actualizar un certificado concreto o todos los instalados con Let’s Encrypt. Para ello usamos comandos distintos.
Dominio concreto – manual
Para actualizar el certificado de un dominio en concreto debemos indicar los siguientes datos:
- Tipo de instalación:
- Framework de Apache.
- Standalone.
- Webroot. Este será nuestro caso.
- El dominio dentro del listado de certificados instalados disponibles.
- Si el servidor web es standalone o webroot.
- Si mantenemos los archivos existentes o renovamos y sobrescribimos estos.
- Como nuestro caso es compartido debemos de indicar el nuevo webroot, o path en donde se encuentra la aplicación web instalada.
[root@hunter letsencrypt]# ./letsencrypt-auto certonly -d example.tiraquelibras.com Saving debug log to /var/log/letsencrypt/letsencrypt.log How would you like to authenticate with the ACME CA? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: Apache Web Server plugin (apache) 2: Spin up a temporary webserver (standalone) 3: Place files in webroot directory (webroot) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-3] then [enter] (press 'c' to cancel): 3 Plugins selected: Authenticator webroot, Installer None Cert not yet due for renewal You have an existing certificate that has exactly the same domains or certificate name you requested and isn't close to expiry. (ref: /etc/letsencrypt/renewal/example.tiraquelibras.com.conf) What would you like to do? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: Keep the existing certificate for now 2: Renew & replace the cert (limit ~5 per 7 days) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
Renovar y mantener archivos existentes
Escogeríamos la opción 1, Keep the existing certificate for now. Se generaría un nuevo directorio para los certificados obtenidos, manteniendo los existentes. Normalmente se nombra al nuevo directorio con el nombre del dominio acabado de una cadena de números, por ejemplo example.tiraquelibras.com-0001.
Podremos escoger qué archivos vamos a utilizar en el VirtualHost.
Renovar y sobreescribir archivos existentes
Escogeríamos la opción 2, Renew & replace the cert. No se genera un directorio nuevo, sino que se actualizan en el directorio actual.
Todos los dominios – manual y programado
Otra forma de actualizar los certificados es dejando que el mismo programa decida que tiene que actualizar y que no, dependiendo de su fecha de caducidad.
Si se encuentra entre los 7 ~ 5 días previos a su fecha de caducidad este pasará a estado disponible de renovar. De lo contrario no hará nada.
Manual
El comando que usaremos para renovar todos los certificados es el siguiente:
# ./letsencrypt-auto renew
Programado
Podemos automatizar la renovación de los certificados instalados con Let’s Encrypt en el servidor programando una tarea del crontab en el propio sistema.
Ejecución diaria a las 2:30 am, desde el usuario root:
$ crontab -e 30 2 * * * /usr/local/letsencrypt/letsencrypt-auto renew && /sbin/service httpd reload
Actualización sin aplicar cambios – test
También podemos comprobar el resultado de ejecutar una renovación de todos los certificados sin generar ni aplicar archivo alguno. De esta manera podemos identificar problemas a la hora de ejecutar la renovación de manera controlada. Para ello usaremos la opción –dry-run.
En nuestro caso debemos de indicar el Document Root del certificado, al estar en modo Webroot.
# /usr/local/letsencrypt/letsencrypt-auto renew --webroot -w /var/www/pruebas --dry-run Saving debug log to /var/log/letsencrypt/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Processing /etc/letsencrypt/renewal/example.tiraquelibras.com.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Cert not due for renewal, but simulating renewal for dry run Plugins selected: Authenticator webroot, Installer None Renewing an existing certificate Performing the following challenges: http-01 challenge for example.tiraquelibras.com Using the webroot path /var/www/pruebas for all unmatched domains. Waiting for verification... Cleaning up challenges Dry run: skipping deploy hook command: service httpd reload - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - new certificate deployed without reload, fullchain is /etc/letsencrypt/live/example.tiraquelibras.com/fullchain.pem - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ** DRY RUN: simulating 'certbot renew' close to cert expiry ** (The test certificates below have not been saved.) Congratulations, all renewals succeeded. The following certs have been renewed: /etc/letsencrypt/live/example.tiraquelibras.com/fullchain.pem (success) ** DRY RUN: simulating 'certbot renew' close to cert expiry ** (The test certificates above have not been saved.) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Revocar un certificado
Al revocar un certificado Let’s Encrypt lo publicará a través del OCSP (Online Certificate Status Protocol), el cual es consultado por algunos navegadores para identificar si el certificado es de confianza o no. Esto puede darse cuando por error compartimos las claves privadas de manera pública, por ejemplo. Documentación oficial pincha aquí.
Con este comando podemos aprovechar a eliminarlo también, como veremos a continuación.
Recuerda indicar el path de tu certificado:
/usr/local/letsencrypt/letsencrypt-auto revoce --cert-path /etc/letsencrypt/live/example.tiraquelibras.com/fullchain.pem
Confirmamos el certificado a revocar, nos pregunta si queremos eliminarlo o solo revocarlo:
Saving debug log to /var/log/letsencrypt/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you like to delete the cert(s) you just revoked, along with all earlier and later versions of the cert? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es (recommended)/(N)o: y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Deleted all files relating to certificate example.tiraquelibras.com. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully revoked the certificate that was located at /etc/letsencrypt/live/example.tiraquelibras.com/fullchain.pem - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Eliminar un certificado
Para eliminar un certificado de los cargados en nuestro servidor con Certbot ejecutamos el siguiente comando, indicando del listado cual queremos borrar.
/usr/local/letsencrypt/letsencrypt-auto delete
Nos pregunta qué certificado queremos borrar, lo seleccionamos y quedaría eliminado:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Which certificate(s) would you like to delete? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1: example.tiraquelibras.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Select the appropriate numbers separated by commas and/or spaces, or leave input blank to select all options shown (Enter 'c' to cancel): 1 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Deleted all files relating to certificate example.tiraquelibras.com. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Quedaría eliminado:
# /usr/local/letsencrypt/letsencrypt-auto certificates Saving debug log to /var/log/letsencrypt/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - No certs found. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Tareas de limpieza
Cuando generamos un certificado o renovamos uno existente se generan ciertos archivos necesarios para obtener el certificado final. Estos son los archivos .csr y .key, los cuales se almacenan en los directorios /etc/letsencrypt/csr/ y /etc/letsencrypt/keys/.
$ ls /etc/letsencrypt/csr/ 0000_csr-certbot.pem 0004_csr-certbot.pem 0008_csr-certbot.pem 0012_csr-certbot.pem 0016_csr-certbot.pem 0001_csr-certbot.pem 0005_csr-certbot.pem 0009_csr-certbot.pem 0013_csr-certbot.pem 0002_csr-certbot.pem 0006_csr-certbot.pem 0010_csr-certbot.pem 0014_csr-certbot.pem 0003_csr-certbot.pem 0007_csr-certbot.pem 0011_csr-certbot.pem 0015_csr-certbot.pem $ ls /etc/letsencrypt/keys/ 0000_key-certbot.pem 0004_key-certbot.pem 0008_key-certbot.pem 0012_key-certbot.pem 0016_key-certbot.pem 0001_key-certbot.pem 0005_key-certbot.pem 0009_key-certbot.pem 0013_key-certbot.pem 0002_key-certbot.pem 0006_key-certbot.pem 0010_key-certbot.pem 0014_key-certbot.pem 0003_key-certbot.pem 0007_key-certbot.pem 0011_key-certbot.pem 0015_key-certbot.pem
Es buena práctica borrarlos cada cierto tiempo.
Borrado manual
Los podemos borrar a mano.
rm -rf /etc/letsencrypt/csr/* rm -rf /etc/letsencrypt/keys/* service httpd reload
Borrado programado
O desde el crontab del usuario root.
30 3 * * * /bin/rm -rf /etc/letsencrypt/csr/* && /bin/rm -rf /etc/letsencrypt/keys/*
Comprobar validez del certificado
Una vez instalado el certificado podemos comprobar su validez con alguna herramienta online, como el test de Qualys desde la URL https://www.ssllabs.com/ssltest/analyze.html
Esto lleva un tiempo hasta finalizar todos los chequeos.
Consideraciones finales
Es importante mantener los certificados SSL/TLS configurados y permanentemente actualizados, colaborando a crear y mantener un Internet cada vez más seguro, pero que no nos suponga un esfuerzo económico grande. Para ello contamos con esta fabulosa plataforma sin ánimo de lucro, la cual está siendo muy bien acogida tanto por corporaciones como usuarios.
Enlaces de interés
Enlaces consultados, pincha aquí.
Let’s Encrypt oficial, pincha aquí.
Let’s Encrypt Wikipedia, pincha aquí.
Internet Security Research Group oficial, pincha aquí.
Namecheap certificados oficial, pincha aquí.
Qualys test online, pincha aquí.
Noticia Google y páginas HTTP, pincha aquí.
DynDNS oficial, pincha aquí.