Vidensdatabase Enkle instruktioner til at arbejde med Profitserver-tjenesten
Main Vidensdatabase Certbot: Installation af Let's Encrypt Certificate

Certbot: Installation af Let's Encrypt Certificate


I denne artikel vil vi udforske processen med at installere og konfigurere Certbot på en Linux-server. Vi vil forklare i detaljer , hvordan du får et Let's Encrypt SSL/TLS-certifikat til dit domæne. Vi vil også beskrive, hvordan du installerer det på en webserver (f.eks. Nginx eller Apache) og konfigurerer automatiske certifikatfornyelser for at sikre en kontinuerlig sikker forbindelse til din webressource.

Certbot er et gratis open source-værktøj designet til automatisk erhvervelse og fornyelse af SSL/TLS-certifikater . Det spiller en afgørende rolle i at sikre forbindelsen mellem serveren og klienten og beskytte data mod uautoriseret adgang. Certbot forenkler installationen og fornyelsesprocessen for et SSL-certifikat. Certifikatet forbedrer ikke kun sikkerheden, men det øger også brugernes tillid til din webressource, hvilket forbedrer både webstedets omdømme og dets placering i søgemaskinerne.

Installation af Certbot

Certbot er som standard inkluderet i de fleste distributioner, så for at installere det på Debian/Ubuntu -systemer skal du blot opdatere pakkelisten:

apt update

Start derefter installationsprocessen:

apt install certbot

Certbot understøtter plugins, der letter opsætningen og konfigurationen af ​​certifikatet til en webserver. For at installere disse plugins skal du bruge den tilsvarende kommando:

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

Installationsprocessen for Red Hat- systemer (såsom RHEL , CentOS , Fedora ) er en smule anderledes. Først skal du tilføje EPEL-repository'et:

yum install epel-release

Installer derefter værktøjet:

yum install certbot

På samme måde er der mulighed for at vælge et plugin til en bestemt webserver:

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

Efter installationen kan du straks fortsætte for at få certifikatet.

At få et SSL-certifikat

I dette afsnit vil vi diskutere processen med at opnå et certifikat uafhængigt af en specifik webserver, efterfulgt af en beskrivelse af processen med at installere certifikatet til Nginx og Apache. Det er dog vigtigt først at forstå programmets syntaks og funktionalitet. Det ser ud som følger:

certbot command option -d domain

De vigtigste kommandoer inkluderer:

certbot certonly - Henter certifikatet, men installerer det ikke.
certbot certificates - Denne kommando viser en liste over alle installerede certifikater.
certbot renew - Udvider det eksisterende certifikat.
certbot revoke - Tilbagekalder det eksisterende certifikat.
certbot delete - Sletter det eksisterende certifikat.

De mest brugte muligheder er:

--nginx - Bruger Nginx-konfigurationsscripts til domænebekræftelse.
--apache - Bruger Apache-konfigurationsscripts til domænebekræftelse.
-d - En liste over domæner, som certifikatet er anmodet om.
--standalone - Bruger selvstændig tilstand til domænebekræftelse.
--manual - Udfører manuel domænebekræftelse.

Dette er blot et eksempel på de mest hyppige kommandoer og muligheder. Du kan gøre dig bekendt med den fulde liste over programfunktioner i hjælpeafsnittet:

certbot –help
Hjælp-sektionen i Certbot-værktøjet

Vi går nu videre med at indhente certifikatet. Som et eksempel vil vi indhente et certifikat til en virtuel server for et gratis domæne på tredje niveau som ditbrugernavn.pserver.space

Først skal du indtaste kommandoen:

certbot certonly

Som svar vil hjælpeprogrammet bede dig om at vælge en metode til at bekræfte domæneejerskab:

Sådan får du et Certbot SSL-certifikat

Den første mulighed er praktisk, hvis du ikke har en konfigureret webserver, eller du ikke ønsker at foretage ændringer på en eksisterende. Denne metode opretter en midlertidig webserver for at bekræfte din ret til domænet. Den er ideel til en enkel og hurtig opsætning. Når du vælger denne metode, er det vigtigt at holde port 80 fri.

Den anden mulighed er at foretrække, hvis du allerede har en webserver i drift, og du vil bruge den til at bekræfte retten til domænet. Certbot placerer specielle filer i en mappe på din server, som derefter kontrolleres af certificeringscentret.

Vi vælger den første mulighed og klikker på næste. På dette stadium skal du:

  1. Indtast en e-mailadresse;
  2. Accepter servicevilkårene;
  3. Acceptere eller nægte at modtage e-mails på vegne af virksomheden og dets partnere;
  4. Angiv det domænenavn, som certifikatet er udstedt til.
Data til at opnå et SSL-certifikat

Efter at have gennemført certifikatudstedelsesprocessen med Certbot-værktøjet, vil det angive stien til den mappe, hvor det udstedte certifikat og dataene for din konto er gemt:

Data for det opnåede SSL-certifikat

Det eneste, der er tilbage, er, at du knytter det opnåede certifikat til den nødvendige service.

Installation af certifikatet til Nginx eller Apache

Dette afsnit forudsætter, at visse grundlæggende betingelser er opfyldt:

  1. Du har allerede installeret og konfigureret en webserver, enten Nginx eller Apache. Det skal være tilgængeligt fra internettet via det domænenavn, som du har til hensigt at få certifikatet til;
  2. Under installationen af ​​værktøjet installerede du også et plugin til Nginx eller Apache ved hjælp af den passende kommando;
  3. Firewallen tillader forbindelser på porte 80 og 443. Hvis disse porte er lukket for forbindelser, vil tjenesten ikke være tilgængelig for indgående forbindelser. For flere detaljer om firewall-drift diskuterede vi dette i artiklen om opsætning af en firewall på Linux.

Når alle betingelser er opfyldt, kan du gå direkte til certifikatudstedelsen. Vi vil overveje processen med at opnå et SSL-certifikat på en server, der bruger Nginx som eksempel. Men hvis du bruger en Apache-webserver, er processen fuldstændig identisk.

For at få certifikatet skal du indtaste kommandoen:

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

Som svar vil værktøjet anmode om: en e-mailadresse, samtykke til vilkårene for brug af Let's Encrypt-tjenesten og tilladelse til at sende e-mails på vegne af tjenesten og dens partnere.

Få et SSL-certifikat til Nginx og Apache

Derefter skal du angive det domænenavn, som certifikatet er udstedt til. Certbot kan automatisk bestemme domænet, hvis det blev angivet i feltet server_name for Nginx- konfigurationen eller ServerName og ServerAlias ​​for Apache . Hvis det ikke er angivet, vil programmet give dig besked og bede dig om at indtaste domænenavnet manuelt. Derefter vil værktøjet spørge, om omdirigering af anmodninger fra HTTP- til HTTPS-protokollen skal aktiveres. For at konfigurere automatisk omdirigering skal du vælge den anden mulighed:

Omdirigering af anmodninger fra HTTP til HTTPS

Efter nogen tid vil Certbot informere dig om den vellykkede erhvervelse af certifikatet for det angivne domæne. Fra dette tidspunkt vil alle indgående forbindelser blive omdirigeret fra port 80 til 443. Værktøjet viser de mapper, hvor du kan finde alle certifikatdata og Let's Encrypt-kontooplysningerne:

Vellykket udstedelse af Certbot-certifikatet

Meddelelsen vil også angive gyldighedsperioden for det opnåede certifikat og vigtige muligheder for at administrere alle aktive certifikater:

  1. bestemt. Denne mulighed bruges til at hente eller opdatere certifikatet uden automatisk webserverkonfiguration. Certbot vil kun anmode om eller opdatere certifikatet, men vil ikke foretage nogen automatiske ændringer i serverkonfigurationen. Tidligere brugte vi denne mulighed til at opnå et certifikat uden at være bundet til en webserver.
  2. forny bruges til automatisk fornyelse af alle certifikater, der er opnået gennem Certbot og er inden for deres gyldighedsperiode. Programmet vil kontrollere alle certifikater, og hvis nogen af ​​dem udløber inden for 30 dage eller mindre, vil de automatisk blive fornyet.

Dernæst i instruktionerne vil vi diskutere, hvordan du konfigurerer automatisk fornyelse af certifikater uden brugerindblanding hver tredje måned.

Automatisk certifikatfornyelse i Certbot

Til Debian/Ubuntu

Når du bruger disse operativsystemer, tilføjer Certbot automatisk et script til opgavelisten til automatisk fornyelse af installerede certifikater. Du kan kontrollere funktionaliteten af ​​scriptet med følgende kommando:

systemctl status certbot.timer
Kontrol af status for certbot.timer-tjenesten

Svaret viser status for tjenesten samt den mappe, der indeholder konfigurationsfilen. Du kan åbne denne fil ved hjælp af en hvilken som helst teksteditor. Hvis du ikke har erfaring med teksteditorer i Linux, anbefaler vi, at du læser vores oversigt over de mest populære løsninger. I dette tilfælde bruger vi nano:

nano /lib/systemd/system/certbot.timer
Visning af konfigurationen af ​​certbot.timer

Alle de vigtige parametre er fremhævet:

  1. Tidsplanen angiver, at tjenesten vil køre to gange om dagen kl. 00:00 og 12:00;
  2. En anden værdi angiver en tilfældig forsinkelse i sekunder, der vil blive lagt til timerens start. I dette tilfælde er det 43,200 sekunder (12 timer), hvilket gør opsendelsen mere tilfældig og spreder belastningen;
  3. Denne parameter sikrer, at hvis timeren skulle udføres under en systemnedlukning, vil den blive aktiveret umiddelbart efter opstart.

Du kan også køre en tvungen kontrol af certifikatfornyelse med kommandoen:

certbot renew --dry-run

Ved at bruge denne kommando vil certifikaterne ikke blive opdateret. I stedet vil værktøjet udføre handlinger, der ligner at få et certifikat, når det udløber. På den måde kan du sikre tjenestens funktionalitet vedrørende automatisk fornyelse.

Til CentOS, Fedora og andre

Processen med at aktivere automatiske opdateringer på Red Hat-systemer er en smule anderledes. I modsætning til Debian/Ubuntu skal du manuelt tilføje en opgave til scheduleren for CentOS og andre systemer. Til dette bruger vi cron- værktøjet:

crontab -e

Tilføj derefter følgende linje i den fil, der åbnes:

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

Lad os nedbryde hovedargumenterne for kommandoen:

  1. Udførelsestiden. I dette tilfælde vil kommandoen automatisk køre kl. 12:00 hver dag;
  2. Kommandoen til at forny SSL/TLS-certifikater ved hjælp af Certbot;
  3. --stille flag undertrykker output, hvilket gør processen mere skjult og mindre påtrængende i systemlogfiler eller display.

Når du har tilføjet kommandoen, skal du gemme ændringerne i filen.

Ligesom med Debian/Ubuntu kan du også starte en tvungen kontrol af certifikatfornyelser:

certbot renew --dry-run

Resultatet af en vellykket udførelse af kommandoen ser ud som følger:

Resultat af en vellykket kontrol af fornyelseskommandoen

Konklusion

Vi har udforsket den omfattende proces med at installere og konfigurere Certbot på en Linux-server. Ved at følge de medfølgende instruktioner kan du opnå et SSL/TLS-certifikat fra Let's Encrypt, installere det på din webserver og konfigurere automatisk fornyelse for at sikre kontinuerlig beskyttelse og øget tillid til din webressource. Med Certbot kan du nemt skabe et pålideligt og sikkert miljø for brugerne.

❮ Forrige artikel Linux-pakkeadministratorer
Næste artikel ❯ Reduktion af serverbelastning

Spørg os om VPS

Vi er altid klar til at besvare dine spørgsmål når som helst på dagen eller natten.