Kennisbank Eenvoudige instructies om met de Profitserver-service te werken
Hoofd Kennisbank Certbot: Let's Encrypt-certificaat installeren

Certbot: Let's Encrypt-certificaat installeren


In dit artikel gaan we dieper in op het installeren en configureren van Certbot op een Linux-server. We leggen gedetailleerd uit hoe u een Let's Encrypt SSL/TLS-certificaat voor uw domein kunt verkrijgen . We beschrijven ook hoe u dit op een webserver (zoals Nginx of Apache) installeert en hoe u automatische certificaatvernieuwingen instelt om een ​​continue veilige verbinding met uw website te garanderen.

Certbot is een gratis, open-source tool die is ontworpen voor het automatisch verkrijgen en verlengen van SSL/TLS-certificaten . Het speelt een cruciale rol in het beveiligen van de verbinding tussen de server en de client en het beschermen van gegevens tegen ongeautoriseerde toegang. Certbot vereenvoudigt het installatie- en verlengingsproces van een SSL-certificaat. Het certificaat verbetert niet alleen de beveiliging, maar vergroot ook het vertrouwen van gebruikers in uw website, waardoor zowel de reputatie van de site als de positie in zoekmachines verbetert.

Certbot installeren

Certbot is standaard inbegrepen in de meeste distributies, dus om het op Debian/Ubuntu -systemen te installeren, hoeft u alleen de pakketlijst bij te werken:

apt update

Start vervolgens het installatieproces:

apt install certbot

Certbot ondersteunt plugins die de installatie en configuratie van het certificaat voor een webserver vergemakkelijken. Om deze plugins te installeren, gebruikt u de bijbehorende opdracht:

apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache

Het installatieproces voor Red Hat -systemen (zoals RHEL , CentOS , Fedora ) is iets anders. Je moet eerst de EPEL-repository toevoegen:

yum install epel-release

Installeer vervolgens de tool:

yum install certbot

Op dezelfde manier is er een optie om een ​​plugin voor een specifieke webserver te selecteren:

yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache

Na de installatie kunt u direct overgaan tot het verkrijgen van het certificaat.

Een SSL-certificaat verkrijgen

In deze sectie bespreken we het proces van het verkrijgen van een certificaat onafhankelijk van een specifieke webserver, gevolgd door een beschrijving van het proces van het installeren van het certificaat voor Nginx en Apache. Het is echter essentieel om eerst de syntaxis en functionaliteit van het programma te begrijpen. Het ziet er als volgt uit:

certbot command option -d domain

De belangrijkste opdrachten zijn:

certbot certonly - Haalt het certificaat op, maar installeert het niet.
certbot certificates - Met deze opdracht wordt een lijst met alle geïnstalleerde certificaten weergegeven.
certbot renew - Breidt het bestaande certificaat uit.
certbot revoke - Trekt het bestaande certificaat in.
certbot delete - Verwijdert het bestaande certificaat.

De meest gebruikte opties zijn:

--nginx - Gebruikt Nginx-configuratiescripts voor domeinverificatie.
--apache - Gebruikt Apache-configuratiescripts voor domeinverificatie.
-d - Een lijst met domeinen waarvoor het certificaat wordt aangevraagd.
--standalone - Gebruikt de stand-alone modus voor domeinverificatie.
--manual - Voert handmatige domeinverificatie uit.

Dit is slechts een voorbeeld van de meest voorkomende opdrachten en opties. U kunt uzelf vertrouwd maken met de volledige lijst met programmamogelijkheden in de helpsectie:

certbot –help
Help-sectie van de Certbot-tool

We gaan nu verder met het verkrijgen van het certificaat. Als voorbeeld zullen we een certificaat aanvragen voor een virtuele server voor een gratis domein op het derde niveau, zoals yourusername.pserver.space.

Eerst moet u de opdracht invoeren:

certbot certonly

Als reactie hierop vraagt ​​het hulpprogramma u om een ​​methode te kiezen voor het verifiëren van domeineigendom:

Hoe verkrijgt u een Certbot SSL-certificaat?

De eerste optie is handig als u geen geconfigureerde webserver hebt of als u geen wijzigingen wilt aanbrengen in een bestaande. Deze methode creëert een tijdelijke webserver om uw recht op het domein te bevestigen. Het is ideaal voor een eenvoudige en snelle installatie. Bij het kiezen van deze methode is het belangrijk om poort 80 vrij te houden.

De tweede optie is beter als u al een webserver hebt draaien en u deze wilt gebruiken om het recht op het domein te verifiëren. Certbot plaatst speciale bestanden in een map op uw server, die vervolgens worden gecontroleerd door het certificeringscentrum.

We kiezen de eerste optie en klikken op volgende. In deze fase moet u:

  1. Voer een e-mailadres in;
  2. Ga akkoord met de servicevoorwaarden;
  3. Akkoord gaan of weigeren om e-mails te ontvangen namens het bedrijf en zijn partners;
  4. Geef de domeinnaam op waarvoor het certificaat is uitgegeven.
Gegevens voor het verkrijgen van een SSL-certificaat

Nadat u het certificaatuitgifteproces met de Certbot-tool hebt voltooid, wordt het pad aangegeven naar de map waar het uitgegeven certificaat en de gegevens voor uw account zijn opgeslagen:

Gegevens van het verkregen SSL-certificaat

Het enige dat u nu nog hoeft te doen, is het verkregen certificaat aan de gewenste dienst te koppelen.

Het certificaat voor Nginx of Apache installeren

In dit gedeelte wordt ervan uitgegaan dat aan bepaalde fundamentele voorwaarden is voldaan:

  1. U hebt al een webserver geïnstalleerd en geconfigureerd, hetzij Nginx of Apache. Deze moet toegankelijk zijn vanaf het internet via de domeinnaam waarvoor u het certificaat wilt verkrijgen;
  2. Tijdens de installatie van de tool hebt u ook een plugin voor Nginx of Apache geïnstalleerd met behulp van de juiste opdracht;
  3. De firewall staat verbindingen toe op poorten 80 en 443. Als deze poorten gesloten zijn voor verbindingen, is de service niet beschikbaar voor inkomende verbindingen. Voor meer details over de werking van de firewall, hebben we dit besproken in het artikel over een firewall instellen op Linux.

Zodra aan alle voorwaarden is voldaan, kunt u direct doorgaan naar de uitgifte van het certificaat. We zullen het proces van het verkrijgen van een SSL-certificaat op een server met behulp van Nginx als voorbeeld beschouwen. Als u echter een Apache-webserver gebruikt, is het proces volledig identiek.

Om het certificaat te verkrijgen, moet u de volgende opdracht invoeren:

certbot --nginx # for Nginx
certbot --apache # for Apache

Als reactie hierop vraagt ​​de tool om: een e-mailadres, toestemming voor de gebruiksvoorwaarden van de Let's Encrypt-service en toestemming om e-mails te versturen namens de service en haar partners.

Een SSL-certificaat verkrijgen voor Nginx en Apache

Vervolgens moet u de domeinnaam opgeven waarvoor het certificaat is uitgegeven. Certbot kan de domeinnaam automatisch bepalen als deze is opgegeven in het veld `server_name` voor de Nginx- configuratie of in `ServerName` en `ServerAlias` voor Apache . Als deze niet is opgegeven, zal het programma u hiervan op de hoogte stellen en u vragen de domeinnaam handmatig in te voeren. Daarna zal het programma vragen of u de omleiding van verzoeken van HTTP naar HTTPS wilt inschakelen. Om automatische omleiding in te stellen, moet u de tweede optie kiezen:

Verzoeken omleiden van HTTP naar HTTPS

Na enige tijd zal Certbot u informeren over de succesvolle verwerving van het certificaat voor het opgegeven domein. Vanaf dit punt worden alle inkomende verbindingen omgeleid van poort 80 naar 443. De tool zal de mappen weergeven waarin u alle certificaatgegevens en de Let's Encrypt-accountgegevens kunt vinden:

Succesvolle uitgifte van het Certbot-certificaat

In het bericht wordt ook de geldigheidsperiode van het verkregen certificaat vermeld, evenals belangrijke opties voor het beheren van alle actieve certificaten:

  1. zeker. Deze optie wordt gebruikt voor het verkrijgen of updaten van het certificaat zonder automatische webserverconfiguratie. Certbot zal alleen het certificaat aanvragen of updaten, maar zal geen automatische wijzigingen aanbrengen in de serverconfiguratie. Voorheen gebruikten we deze optie om een ​​certificaat te verkrijgen zonder gebonden te zijn aan een webserver.
  2. vernieuwen wordt gebruikt voor de automatische verlenging van alle certificaten die zijn verkregen via Certbot en binnen hun geldigheidsperiode vallen. Het programma controleert alle certificaten en als een van hen binnen 30 dagen of minder verloopt, wordt deze automatisch verlengd.

In de volgende instructies leggen we uit hoe u de automatische verlenging van certificaten elke drie maanden kunt instellen, zonder tussenkomst van de gebruiker.

Automatische certificaatvernieuwing in Certbot

Voor Debian/Ubuntu

Bij gebruik van deze besturingssystemen voegt Certbot automatisch een script toe aan de takenlijst voor de automatische vernieuwing van geïnstalleerde certificaten. U kunt de functionaliteit van het script controleren met de volgende opdracht:

systemctl status certbot.timer
De status van de certbot.timer-service controleren

Het antwoord toont de status van de service en de map waarin het configuratiebestand zich bevindt. Je kunt dit openen met een willekeurige teksteditor. Als je niet bekend bent met teksteditors in Linux, raden we je aan om ons overzicht van de populairste oplossingen te raadplegen. In dit geval gebruiken we nano:

nano /lib/systemd/system/certbot.timer
De configuratie van certbot.timer bekijken

Alle belangrijke parameters zijn gemarkeerd:

  1. Uit de dienstregeling blijkt dat de dienst twee keer per dag rijdt, om 00:00 en 12:00 uur;
  2. Een tweede waarde geeft een willekeurige vertraging in seconden aan die aan de start van de timer wordt toegevoegd. In dit geval is het 43,200 seconden (12 uur), wat de lancering willekeuriger maakt en de belasting spreidt;
  3. Deze parameter zorgt ervoor dat als de timer tijdens het afsluiten van het systeem moet worden uitgevoerd, deze direct bij het opstarten wordt geactiveerd.

U kunt ook een gedwongen controle op certificaatvernieuwing uitvoeren met de opdracht:

certbot renew --dry-run

Met deze opdracht worden de certificaten niet bijgewerkt. In plaats daarvan voert de tool acties uit die lijken op het verkrijgen van een certificaat na het verlopen ervan. Op deze manier kunt u de functionaliteit van de service met betrekking tot automatische verlenging garanderen.

Voor CentOS, Fedora en andere

Het proces voor het inschakelen van automatische updates op systemen uit de Red Hat-familie verschilt enigszins. In tegenstelling tot Debian/Ubuntu moet je voor CentOS en andere systemen handmatig een taak toevoegen aan de taakplanner. Hiervoor gebruiken we de cron- tool:

crontab -e

Voeg vervolgens de volgende regel toe aan het bestand dat wordt geopend:

0 12 * * * /usr/bin/certbot renew --quiet

Laten we de belangrijkste argumenten van de opdracht eens bekijken:

  1. De uitvoeringstijd. In dit geval wordt de opdracht automatisch elke dag om 12:00 uitgevoerd;
  2. De opdracht om SSL/TLS-certificaten te vernieuwen met Certbot;
  3. De --stil Met de vlag wordt de uitvoer onderdrukt, waardoor het proces beter verborgen blijft en minder opdringerig is in de systeemlogboeken of weergave.

Nadat u de opdracht hebt toegevoegd, moet u de wijzigingen in het bestand opslaan.

Net als bij Debian/Ubuntu kunt u ook een gedwongen controle op certificaatvernieuwingen initiëren:

certbot renew --dry-run

Het resultaat van een succesvolle uitvoering van de opdracht ziet er als volgt uit:

Resultaat van een succesvolle controle van het Renew Command

Conclusie

We hebben het uitgebreide proces van het installeren en configureren van Certbot op een Linux-server onderzocht. Door de meegeleverde instructies te volgen, kunt u met succes een SSL/TLS-certificaat van Let's Encrypt verkrijgen, het op uw webserver installeren en automatische verlenging configureren om continue bescherming en verhoogd vertrouwen in uw webresource te garanderen. Met Certbot kunt u eenvoudig een betrouwbare en veilige omgeving voor gebruikers creëren.

❮ Vorig artikel Linux pakketmanagers
Volgend artikel ❯ Serverbelasting verminderen

Vraag ons over VPS

Wij staan ​​altijd klaar om uw vragen te beantwoorden, op elk moment van de dag of nacht.