Kunnskapsbase Enkle instruksjoner for å jobbe med Profitserver-tjenesten
Hoved Kunnskapsbase Certbot: Installerer Let's Encrypt Certificate

Certbot: Installerer Let's Encrypt Certificate


I denne artikkelen vil vi utforske prosessen med å installere og konfigurere certbot på en Linux-server. Vi vil forklare i detalj hvordan få et Let's Encrypt SSL/TLS-sertifikat for domenet ditt. Vi vil også beskrive hvordan du installerer den på en webserver (som Nginx eller Apache) og konfigurerer automatiske sertifikatfornyelser for å sikre en kontinuerlig sikker forbindelse med nettressursen din.

certbot er et gratis, åpen kildekode-verktøy designet for automatisk anskaffelse og fornyelse av SSL/TLS-sertifikater. Det spiller en avgjørende rolle for å sikre forbindelsen mellom serveren og klienten, og beskytter data mot uautorisert tilgang. Certbot forenkler installasjonen og fornyelsesprosessen for et SSL-sertifikat. Ikke bare øker sertifikatet sikkerheten, men det øker også brukertilliten til nettressursen din, og forbedrer dermed både nettstedets omdømme og søkemotorrangeringer.

Installerer Certbot

Certbot er inkludert i de fleste distribusjoner som standard, så for å installere den på Debian / Ubuntu systemer, trenger du bare å oppdatere pakkelisten:

apt update

Start deretter installasjonsprosessen:

apt install certbot

Certbot støtter plugins som forenkler oppsett og konfigurasjon av sertifikatet for en webserver. For å installere disse pluginene, bruk den tilsvarende kommandoen:

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

Installasjonsprosessen for Red Hat systemer (som f RHEL, CentOS, Fedora) er litt annerledes. Til å begynne med må du legge til EPEL-depotet:

yum install epel-release

Installer deretter verktøyet:

yum install certbot

På samme måte er det et alternativ for å velge en plugin for en bestemt webserver:

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

Etter installasjonen kan du umiddelbart fortsette for å få sertifikatet.

Få et SSL-sertifikat

I denne delen vil vi diskutere prosessen med å skaffe et sertifikat uavhengig av en spesifikk webserver, etterfulgt av å beskrive prosessen med å installere sertifikatet for Nginx og Apache. Det er imidlertid viktig først å forstå syntaksen og funksjonaliteten til programmet. Det ser ut som følger:

certbot command option -d domain

Hovedkommandoene inkluderer:

certbot certonly - Henter sertifikatet, men installerer det ikke.
certbot certificates - Denne kommandoen viser en liste over alle installerte sertifikater.
certbot renew - Utvider det eksisterende sertifikatet.
certbot revoke - Tilbakekaller det eksisterende sertifikatet.
certbot delete - Sletter det eksisterende sertifikatet.

De mest brukte alternativene er:

--nginx - Bruker Nginx-konfigurasjonsskript for domeneverifisering.
--apache - Bruker Apache-konfigurasjonsskript for domeneverifisering.
-d - En liste over domener som sertifikatet er forespurt for.
--standalone - Bruker frittstående modus for domeneverifisering.
--manual - Utfører manuell domeneverifisering.

Dette er bare et eksempel på de vanligste kommandoene og alternativene. Du kan gjøre deg kjent med hele listen over programfunksjoner i hjelpedelen:

certbot –help
Hjelpedelen av Certbot-verktøyet

Vi fortsetter nå for å få sertifikatet. Som et eksempel vil vi få et sertifikat for en virtuell server for et gratis domene på tredje nivå som yourusername.pserver.space

Først må du skrive inn kommandoen:

certbot certonly

Som svar vil verktøyet be deg velge en metode for å bekrefte domeneeierskap:

Hvordan få et Certbot SSL-sertifikat

Det første alternativet er praktisk hvis du ikke har en konfigurert webserver eller du ikke vil gjøre endringer i en eksisterende. Denne metoden oppretter en midlertidig webserver for å bekrefte din rett til domenet. Den er ideell for et enkelt og raskt oppsett. Når du velger denne metoden, er det viktig å holde port 80 fri.

Det andre alternativet er å foretrekke hvis du allerede har en webserver i drift, og du vil bruke den til å bekrefte retten til domenet. Certbot plasserer spesielle filer i en mappe på serveren din, som deretter sjekkes av sertifiseringssenteret.

Vi velger det første alternativet og klikker på neste. På dette stadiet må du:

  1. Skriv inn en e-postadresse;
  2. Godta vilkårene for bruk;
  3. Godta eller nekte å motta e-poster på vegne av selskapet og dets partnere;
  4. Angi domenenavnet som sertifikatet er utstedt for.
Data for å få et SSL-sertifikat

Etter å ha fullført sertifikatutstedelsesprosessen med Certbot-verktøyet, vil det indikere banen til katalogen der det utstedte sertifikatet og dataene for kontoen din er lagret:

Data for det oppnådde SSL-sertifikatet

Alt som gjenstår er at du kobler det innhentede sertifikatet til den nødvendige tjenesten.

Installere sertifikatet for Nginx eller Apache

Denne delen forutsetter at visse grunnleggende betingelser er oppfylt:

  1. Du har allerede installert og konfigurert en webserver, enten Nginx eller Apache. Det må være tilgjengelig fra internett via domenenavnet du har tenkt å få sertifikatet for;
  2. Under installasjonen av verktøyet installerte du også en plugin for Nginx eller Apache ved å bruke riktig kommando;
  3. Brannmuren tillater tilkoblinger på portene 80 og 443. Hvis disse portene er lukket for tilkoblinger, vil tjenesten være utilgjengelig for innkommende tilkoblinger. For mer informasjon om brannmurdrift, diskuterte vi dette i artikkelen om sette opp en brannmur på Linux.

Når alle betingelsene er oppfylt, kan du gå direkte til sertifikatutstedelsen. Vi vil vurdere prosessen med å få et SSL-sertifikat på en server som bruker Nginx som eksempel. Men hvis du bruker en Apache-webserver, er prosessen helt identisk.

For å få sertifikatet må du skrive inn kommandoen:

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

Som svar vil verktøyet be om: en e-postadresse, samtykke til vilkårene for bruk av Let's Encrypt-tjenesten og tillatelse til å sende e-poster på vegne av tjenesten og dens partnere.

Få et SSL-sertifikat for Nginx og Apache

Deretter må du spesifisere domenenavnet som sertifikatet er utstedt for. Certbot kan automatisk bestemme domenet hvis det ble spesifisert i Server navn felt for Nginx konfigurasjon eller Server navn og Serveralias forum Apache. Hvis det ikke er spesifisert, vil programmet varsle deg og be deg angi domenenavnet manuelt. Deretter vil verktøyet spørre om det skal aktiveres omdirigering av forespørsler fra HTTP til HTTPS-protokollen. For å sette opp automatisk omdirigering, bør du velge det andre alternativet:

Omdirigere forespørsler fra HTTP til HTTPS

Etter en tid vil Certbot informere deg om vellykket anskaffelse av sertifikatet for det angitte domenet. Fra dette tidspunktet vil alle innkommende tilkoblinger bli omdirigert fra port 80 til 443. Verktøyet vil vise katalogene der du kan finne alle sertifikatdataene og Let's Encrypt-kontodetaljer:

Vellykket utstedelse av Certbot-sertifikatet

Meldingen vil også spesifisere gyldighetsperioden for det innhentede sertifikatet og viktige alternativer for å administrere alle aktive sertifikater:

  1. visstnok. Dette alternativet brukes til å hente eller oppdatere sertifikatet uten automatisk webserverkonfigurasjon. Certbot vil bare be om eller oppdatere sertifikatet, men vil ikke gjøre noen automatiske endringer i serverkonfigurasjonen. Tidligere brukte vi dette alternativet for å få et sertifikat uten å være knyttet til en webserver.
  2. fornye brukes til automatisk fornyelse av alle sertifikater som er oppnådd gjennom Certbot og er innenfor deres gyldighetsperiode. Programmet vil sjekke alle sertifikater, og hvis noen av dem utløper innen 30 dager eller mindre, vil de automatisk fornyes.

Neste i instruksjonene vil vi diskutere hvordan du setter opp automatisk fornyelse av sertifikater uten brukerintervensjon hver tredje måned.

Automatisk sertifikatfornyelse i Certbot

For Debian/Ubuntu

Når du bruker disse operativsystemene, legger Certbot automatisk til et skript til oppgavelisten for automatisk fornyelse av installerte sertifikater. Du kan sjekke funksjonaliteten til skriptet med følgende kommando:

systemctl status certbot.timer
Kontrollerer statusen til certbot.timer-tjenesten

Svaret vil vise statusen til tjenesten, samt katalogen som inneholder konfigurasjonsfilen. Du kan åpne dette ved å bruke et hvilket som helst tekstredigeringsprogram. Hvis du ikke har erfaring med tekstredigering i Linux, anbefaler vi å gjøre deg kjent med vår oversikt av de mest populære løsningene. I dette tilfellet vil vi bruke nano:

nano /lib/systemd/system/certbot.timer
Viser konfigurasjonen av certbot.timer

Alle viktige parametere er uthevet:

  1. Tidsplanen indikerer at tjenesten vil kjøre to ganger om dagen kl. 00:00 og 12:00;
  2. En annen verdi indikerer en tilfeldig forsinkelse i sekunder som vil bli lagt til timerens start. I dette tilfellet er det 43,200 12 sekunder (XNUMX timer), noe som gjør oppskytingen mer tilfeldig og sprer belastningen;
  3. Denne parameteren sikrer at hvis timeren skulle kjøres under en systemavstenging, vil den bli aktivert umiddelbart ved oppstart.

Du kan også kjøre en tvungen sjekk av sertifikatfornyelse med kommandoen:

certbot renew --dry-run

Ved å bruke denne kommandoen vil ikke sertifikatene bli oppdatert. I stedet vil verktøyet utføre handlinger som ligner på å få et sertifikat når det utløper. På denne måten kan du sikre tjenestens funksjonalitet vedrørende automatisk fornyelse.

For CentOS, Fedora og andre

Prosessen med å aktivere automatiske oppdateringer på Red Hat-familiesystemer avviker litt. I motsetning til Debian/Ubuntu, for CentOS og andre systemer, må du legge til en oppgave manuelt i planleggeren. Til dette vil vi bruke cron verktøy:

crontab -e

Legg deretter til følgende linje i filen som åpnes:

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

La oss bryte ned hovedargumentene til kommandoen:

  1. Utførelsestiden. I dette tilfellet vil kommandoen kjøres automatisk klokken 12:00 hver dag;
  2. Kommandoen for å fornye SSL/TLS-sertifikater ved hjelp av Certbot;
  3. Ocuco --stille flagg undertrykker utdata, noe som gjør prosessen mer skjult og mindre påtrengende i systemlogger eller visning.

Etter å ha lagt til kommandoen, må du lagre endringene i filen.

Akkurat som med Debian/Ubuntu, kan du også sette i gang en tvungen sjekk av sertifikatfornyelser:

certbot renew --dry-run

Resultatet av en vellykket utførelse av kommandoen ser ut som følger:

Resultat av en vellykket sjekk av fornyelseskommandoen

Konklusjon

Vi har utforsket den omfattende prosessen med å installere og konfigurere Certbot på en Linux-server. Ved å følge de medfølgende instruksjonene kan du skaffe et SSL/TLS-sertifikat fra Let's Encrypt, installere det på webserveren din og konfigurere automatisk fornyelse for å sikre kontinuerlig beskyttelse og økt tillit til nettressursen din. Med Certbot kan du enkelt lage et pålitelig og sikkert miljø for brukerne.

❮ Forrige artikkel Redusere serverbelastning
Neste artikkel ❯ Linux Package Managers

Spør oss om VPS

Vi er alltid klare til å svare på spørsmålene dine når som helst på dagen eller natten.