En aquest article, explorarem el procés d'instal·lació i configuració Certbot en un servidor Linux. Ho explicarem amb detall com obtenir un certificat Let's Encrypt SSL/TLS per al teu domini. També descriurem com instal·lar-lo en un servidor web (com ara Nginx o Apache) i configurar les renovacions automàtiques de certificats per garantir una connexió segura contínua amb el vostre recurs web.
Certbot és una eina gratuïta i de codi obert dissenyada per a l'adquisició i renovació automàtica de Certificats SSL/TLS. Té un paper crucial per assegurar la connexió entre el servidor i el client, protegint les dades de l'accés no autoritzat. Certbot simplifica el procés d'instal·lació i renovació d'un certificat SSL. El certificat no només millora la seguretat, sinó que també augmenta la confiança dels usuaris en el vostre recurs web, millorant així tant la reputació del lloc com la seva classificació en els cercadors.
Instal·lació de Certbot
Certbot s'inclou a la majoria de distribucions de manera predeterminada, així que per instal·lar-lo Debian / Ubuntu sistemes, només cal actualitzar la llista de paquets:
apt update
A continuació, inicieu el procés d'instal·lació:
apt install certbot
Certbot admet connectors que faciliten la configuració i configuració del certificat per a un servidor web. Per instal·lar aquests connectors, utilitzeu l'ordre corresponent:
apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache
El procés d'instal·lació de Red Hat sistemes (com ara RHEL, CentOS, Fedora) és lleugerament diferent. Inicialment, heu d'afegir el repositori EPEL:
yum install epel-release
A continuació, instal·leu l'eina:
yum install certbot
De la mateixa manera, hi ha una opció per seleccionar un connector per a un servidor web específic:
yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache
Després de la instal·lació, podeu procedir immediatament a obtenir el certificat.
Obtenció d'un certificat SSL
En aquesta secció, parlarem del procés d'obtenció d'un certificat independentment d'un servidor web específic, seguit de la descripció del procés d'instal·lació del certificat per a Nginx i Apache. Tanmateix, primer és essencial entendre la sintaxi i la funcionalitat del programa. Apareix de la següent manera:
certbot command option -d domain
Les ordres principals inclouen:
certbot certonly - Recupera el certificat però no l'instal·la.certbot certificates - Aquesta ordre mostra una llista de tots els certificats instal·lats.certbot renew - Amplia el certificat existent.certbot revoke - Revoca el certificat existent.certbot delete - Elimina el certificat existent.
Les opcions més utilitzades són:
--nginx - Utilitza scripts de configuració Nginx per a la verificació del domini.--apache - Utilitza scripts de configuració d'Apache per a la verificació del domini.-d - Una llista de dominis per als quals es demana el certificat.--standalone - Utilitza el mode autònom per a la verificació del domini.--manual - Realitza la verificació manual del domini.
Aquest és només un exemple de les ordres i opcions més freqüents. Podeu familiaritzar-vos amb la llista completa de les capacitats del programa a la secció d'ajuda:
certbot –help
Ara procedim a l'obtenció del certificat. Com a exemple, obtindrem un certificat per a servidor virtual per a un domini gratuït de tercer nivell com el vostrenomdusuari.pserver.space
Primer, heu d'introduir l'ordre:
certbot certonly
En resposta, l'utilitat us demanarà que trieu un mètode per verificar la propietat del domini:
La primera opció és convenient si no teniu un servidor web configurat o no voleu fer canvis a un existent. Aquest mètode crea un servidor web temporal per confirmar el vostre dret al domini. És ideal per a una configuració senzilla i ràpida. Quan escolliu aquest mètode, és important mantenir el port 80 lliure.
La segona opció és preferible si ja teniu un servidor web en funcionament i voleu utilitzar-lo per verificar el dret al domini. Certbot col·loca fitxers especials en una carpeta del vostre servidor, que després són verificats pel centre de certificació.
Triem la primera opció i fem clic a següent. En aquesta etapa, haureu de:
- Introduïu una adreça de correu electrònic;
- Accepteu les condicions del servei;
- Acceptar o negar-se a rebre correus electrònics en nom de l'empresa i els seus socis;
- Especifiqueu el nom de domini per al qual s'emet el certificat.
Després de completar el procés d'emissió del certificat amb l'eina Certbot, indicarà el camí al directori on s'emmagatzemen el certificat emès i les dades del vostre compte:
Només queda vincular el certificat obtingut al servei requerit.
Instal·lació del certificat per a Nginx o Apache
Aquest apartat suposa que s'han complert determinades condicions fonamentals:
- Ja heu instal·lat i configurat un servidor web, ja sigui Nginx o Apache. Ha de ser accessible des d'Internet mitjançant el nom de domini per al qual es vol obtenir el certificat;
- Durant la instal·lació de l'eina, també heu instal·lat un connector per a Nginx o Apache mitjançant l'ordre corresponent;
- El tallafoc permet connexions als ports 80 i 443. Si aquests ports es tanquen a les connexions, el servei no estarà disponible per a les connexions entrants. Per obtenir més detalls sobre el funcionament del tallafoc, ho vam parlar a l'article sobre configurar un tallafoc a Linux.
Un cop es compleixin totes les condicions, podeu procedir directament a l'emissió del certificat. Considerarem el procés d'obtenció d'un certificat SSL en un servidor utilitzant Nginx com a exemple. Tanmateix, si utilitzeu un servidor web Apache, el procés és completament idèntic.
Per obtenir el certificat, heu d'introduir l'ordre:
certbot --nginx # for Nginx
certbot --apache # for Apache
En resposta, l'eina sol·licitarà: una adreça de correu electrònic, el consentiment a les condicions d'ús del servei Let's Encrypt i permís per enviar correus electrònics en nom del servei i dels seus socis.
Després d'això, haureu d'especificar el nom de domini per al qual s'emet el certificat. Certbot pot determinar automàticament el domini si s'ha especificat a nom_servidor camp per a Nginx configuració o Nom del servidor i ServerAlias for Apache. Si no s'especifica, el programa us ho notificarà i us demanarà que introduïu el nom de domini manualment. Aleshores, la utilitat preguntarà si s'habilita la redirecció de sol·licituds del protocol HTTP al protocol HTTPS. Per configurar la redirecció automàtica, hauríeu de triar la segona opció:
Passat un temps, Certbot us informarà de l'adquisició correcta del certificat per al domini especificat. A partir d'aquest moment, totes les connexions entrants es redirigiran del port 80 al 443. L'eina mostrarà els directoris en què podeu trobar totes les dades del certificat i els detalls del compte Let's Encrypt:
El missatge també especificarà el període de validesa del certificat obtingut i les opcions importants per gestionar tots els certificats actius:
- certament. Aquesta opció s'utilitza per obtenir o actualitzar el certificat sense la configuració automàtica del servidor web. Certbot només sol·licitarà o actualitzarà el certificat, però no farà cap canvi automàtic a la configuració del servidor. Anteriorment, utilitzàvem aquesta opció per obtenir un certificat sense estar vinculat a un servidor web.
- renovar s'utilitza per a la renovació automàtica de tots els certificats que s'han obtingut a través de Certbot i es troben dins del seu període de validesa. El programa comprovarà tots els certificats i, si algun d'ells caduca en un termini de 30 dies o menys, es renovarà automàticament.
A continuació, a les instruccions, parlarem de com configurar la renovació automàtica dels certificats sense intervenció de l'usuari cada tres mesos.
Renovació automàtica del certificat a Certbot
Per a Debian/Ubuntu
Quan s'utilitzen aquests sistemes operatius, Certbot afegeix automàticament un script a la llista de tasques per a la renovació automàtica dels certificats instal·lats. Podeu comprovar la funcionalitat de l'script amb l'ordre següent:
systemctl status certbot.timer
La resposta mostrarà l'estat del servei, així com el directori que conté el fitxer de configuració. Podeu obrir-lo amb qualsevol editor de text. Si no teniu experiència amb els editors de text a Linux, us recomanem que us familiaritzeu la nostra visió general de les solucions més populars. En aquest cas, utilitzarem nano:
nano /lib/systemd/system/certbot.timer
Es destaquen tots els paràmetres importants:
- L'horari indica que el servei funcionarà dues vegades al dia a les 00:00 i a les 12:00;
- Un segon valor indica un retard aleatori en segons que s'afegirà a l'inici del temporitzador. En aquest cas, són 43,200 segons (12 hores), la qual cosa fa que el llançament sigui més aleatori i distribueix la càrrega;
- Aquest paràmetre garanteix que si el temporitzador s'havia d'executar durant un tancament del sistema, s'activarà immediatament després de l'inici.
També podeu executar una comprovació forçada de la renovació del certificat amb l'ordre:
certbot renew --dry-run
Amb aquesta ordre, els certificats no s'actualitzaran. En canvi, l'eina realitzarà accions semblants a l'obtenció d'un certificat quan caduqui. D'aquesta manera, podeu garantir la funcionalitat del servei pel que fa a la renovació automàtica.
Per a CentOS, Fedora i altres
El procés d'activació de les actualitzacions automàtiques als sistemes de la família Red Hat difereix lleugerament. A diferència de Debian/Ubuntu, per a CentOS i altres sistemes, cal afegir manualment una tasca al planificador. Per a això, farem servir el cron eina:
crontab -e
A continuació, al fitxer que s'obre, afegiu la línia següent:
0 12 * * * /usr/bin/certbot renew --quiet
Desglossem els arguments principals de l'ordre:
- El temps d'execució. En aquest cas, l'ordre s'executarà automàticament a les 12:00 cada dia;
- L'ordre per renovar els certificats SSL/TLS mitjançant Certbot;
- La --tranquil·la La bandera suprimeix la sortida, fent que el procés sigui més amagat i menys intrusiu als registres o a la visualització del sistema.
Després d'afegir l'ordre, heu de desar els canvis al fitxer.
Igual que amb Debian/Ubuntu, també podeu iniciar una comprovació forçada de les renovacions de certificats:
certbot renew --dry-run
El resultat d'una execució correcta de l'ordre és el següent:
Conclusió
Hem explorat el procés complet d'instal·lació i configuració de Certbot en un servidor Linux. Si seguiu les instruccions proporcionades, podeu obtenir correctament un certificat SSL/TLS de Let's Encrypt, instal·lar-lo al vostre servidor web i configurar la renovació automàtica per garantir una protecció contínua i una major confiança en el vostre recurs web. Amb Certbot, podeu crear fàcilment un entorn fiable i segur per als usuaris.