In hierdie artikel sal ons die proses van installering en konfigurasie ondersoek Certbot op 'n Linux-bediener. Ons sal in detail verduidelik hoe om 'n Let's Encrypt SSL/TLS-sertifikaat te verkry vir jou domein. Ons sal ook beskryf hoe om dit op 'n webbediener (soos Nginx of Apache) te installeer en outomatiese sertifikaathernuwings op te stel om 'n deurlopende veilige verbinding met jou webhulpbron te verseker.
Certbot is 'n gratis oopbron-instrument wat ontwerp is vir die outomatiese verkryging en hernuwing van SSL/TLS-sertifikate. Dit speel 'n deurslaggewende rol in die beveiliging van die verbinding tussen die bediener en die kliënt, en beskerm data teen ongemagtigde toegang. Certbot vereenvoudig die installasie- en hernuwingsproses van 'n SSL-sertifikaat. Die sertifikaat verbeter nie net sekuriteit nie, maar dit verhoog ook gebruikersvertroue in jou webhulpbron, en verbeter sodoende beide die werf se reputasie en sy soekenjinranglys.
Installeer Certbot
Certbot is by verstek by die meeste verspreidings ingesluit, dus om dit op te installeer Debian / Ubuntu stelsels, hoef jy net die pakketlys op te dateer:
apt update
Begin dan die installasieproses:
apt install certbot
Certbot ondersteun inproppe wat die opstel en konfigurasie van die sertifikaat vir 'n webbediener vergemaklik. Om hierdie inproppe te installeer, gebruik die ooreenstemmende opdrag:
apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache
Die installasie proses vir Red Hat stelsels (soos RHEL, CentOS, Fedora) is effens anders. Aanvanklik moet u die EPEL-bewaarplek byvoeg:
yum install epel-release
Installeer dan die instrument:
yum install certbot
Net so is daar 'n opsie om 'n inprop vir 'n spesifieke webbediener te kies:
yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache
Na die installasie kan u dadelik voortgaan om die sertifikaat te bekom.
Verkryging van 'n SSL-sertifikaat
In hierdie afdeling sal ons die proses bespreek om 'n sertifikaat onafhanklik van 'n spesifieke webbediener te bekom, gevolg deur die proses van die installering van die sertifikaat vir Nginx en Apache te beskryf. Dit is egter noodsaaklik om eers die sintaksis en funksionaliteit van die program te verstaan. Dit verskyn soos volg:
certbot command option -d domain
Die belangrikste opdragte sluit in:
certbot certonly - Haal die sertifikaat op maar installeer dit nie.certbot certificates - Hierdie opdrag vertoon 'n lys van alle geïnstalleerde sertifikate.certbot renew - Brei die bestaande sertifikaat uit.certbot revoke - Herroep die bestaande sertifikaat.certbot delete - Vee die bestaande sertifikaat uit.
Die mees gebruikte opsies is:
--nginx - Gebruik Nginx-konfigurasieskrifte vir domeinverifikasie.--apache - Gebruik Apache-konfigurasieskrifte vir domeinverifikasie.-d - 'n Lys van domeine waarvoor die sertifikaat aangevra word.--standalone - Gebruik selfstandige modus vir domeinverifikasie.--manual - Voer handmatige domeinverifikasie uit.
Dit is net 'n voorbeeld van die mees algemene opdragte en opsies. U kan uself vertroud maak met die volledige lys van programvermoëns in die hulpafdeling:
certbot –help
Ons gaan nou voort om die sertifikaat te bekom. As voorbeeld sal ons 'n sertifikaat vir 'n virtuele bediener vir 'n gratis derdevlakdomein soos yourusername.pserver.space
Eerstens moet u die opdrag invoer:
certbot certonly
In reaksie hierop sal die hulpprogram jou vra om 'n metode te kies om domeineienaarskap te verifieer:
Die eerste opsie is gerieflik as jy nie 'n gekonfigureerde webbediener het nie of jy wil nie veranderinge aan 'n bestaande een maak nie. Hierdie metode skep 'n tydelike webbediener om jou reg op die domein te bevestig. Dit is ideaal vir 'n eenvoudige en vinnige opstelling. Wanneer u hierdie metode kies, is dit belangrik om poort 80 vry te hou.
Die tweede opsie is verkieslik as jy reeds 'n webbediener het wat werk, en jy wil dit gebruik om die reg op die domein te verifieer. Certbot plaas spesiale lêers in 'n gids op jou bediener, wat dan deur die sertifiseringsentrum nagegaan word.
Ons kies die eerste opsie en klik volgende. Op hierdie stadium moet jy:
- Voer 'n e-posadres in;
- Stem in tot die diensbepalings;
- Instem of weier om e-posse namens die maatskappy en sy vennote te ontvang;
- Spesifiseer die domeinnaam waarvoor die sertifikaat uitgereik word.
Nadat die sertifikaat-uitreikingsproses met die Certbot-instrument voltooi is, sal dit die pad na die gids aandui waar die uitgereikte sertifikaat en die data vir jou rekening gestoor word:
Al wat oorbly, is dat u die verkrygde sertifikaat aan die vereiste diens koppel.
Installeer die sertifikaat vir Nginx of Apache
Hierdie afdeling aanvaar dat daar aan sekere fundamentele voorwaardes voldoen is:
- U het reeds 'n webbediener geïnstalleer en gekonfigureer, hetsy Nginx of Apache. Dit moet vanaf die internet toeganklik wees via die domeinnaam waarvoor jy die sertifikaat wil bekom;
- Tydens die installering van die instrument het u ook 'n inprop vir Nginx of Apache geïnstalleer deur die toepaslike opdrag te gebruik;
- Die brandmuur laat verbindings toe op poorte 80 en 443. As hierdie poorte vir verbindings gesluit is, sal die diens nie vir inkomende verbindings beskikbaar wees nie. Vir meer besonderhede oor die werking van die firewall, het ons dit bespreek in die artikel oor die opstel van 'n firewall op Linux.
Sodra aan alle voorwaardes voldoen is, kan jy direk na die sertifikaatuitreiking voortgaan. Ons sal die proses oorweeg om 'n SSL-sertifikaat op 'n bediener te bekom met Nginx as 'n voorbeeld. As u egter 'n Apache-webbediener gebruik, is die proses heeltemal identies.
Om die sertifikaat te verkry, moet jy die opdrag invoer:
certbot --nginx # for Nginx
certbot --apache # for Apache
In reaksie sal die instrument versoek: 'n e-posadres, toestemming tot die gebruiksvoorwaardes van die Let's Encrypt-diens, en toestemming om e-pos namens die diens en sy vennote te stuur.
Daarna sal jy die domeinnaam moet spesifiseer waarvoor die sertifikaat uitgereik word. Certbot kan outomaties die domein bepaal as dit in die gespesifiseer is server veld vir Nginx konfigurasie of Bedienernaam en BedienerAlias vir Apache. As dit nie gespesifiseer is nie, sal die program jou in kennis stel en jou vra om die domeinnaam handmatig in te voer. Dan sal die nutsprogram vra of herleiding van versoeke vanaf HTTP na HTTPS-protokol geaktiveer moet word. Om outomatiese herleiding op te stel, moet jy die tweede opsie kies:
Na 'n geruime tyd sal Certbot jou inlig oor die suksesvolle verkryging van die sertifikaat vir die gespesifiseerde domein. Van hierdie punt af sal alle inkomende verbindings herlei word vanaf poort 80 na 443. Die instrument sal die gidse vertoon waarin jy al die sertifikaatdata en die Kom ons Enkripteer rekeningbesonderhede kan vind:
Die boodskap sal ook die geldigheidstydperk van die verkrygde sertifikaat en belangrike opsies vir die bestuur van alle aktiewe sertifikate spesifiseer:
- sekerlik. Hierdie opsie word gebruik vir die verkryging of opdatering van die sertifikaat sonder outomatiese webbedienerkonfigurasie. Certbot sal slegs die sertifikaat versoek of opdateer, maar sal geen outomatiese veranderinge aan die bedienerkonfigurasie aanbring nie. Voorheen het ons hierdie opsie gebruik om 'n sertifikaat te bekom sonder om aan 'n webbediener gekoppel te wees.
- hernu word gebruik vir die outomatiese hernuwing van alle sertifikate wat deur Certbot verkry is en binne hul geldigheidstydperk is. Die program sal alle sertifikate nagaan, en as enige van hulle binne 30 dae of minder verval, sal dit outomaties hernu word.
Volgende in die instruksies sal ons bespreek hoe om die outomatiese hernuwing van sertifikate op te stel sonder gebruikersingryping elke drie maande.
Outomatiese sertifikaathernuwing in Certbot
Vir Debian/Ubuntu
Wanneer hierdie bedryfstelsels gebruik word, voeg Certbot outomaties 'n skrif by die taaklys vir die outomatiese hernuwing van geïnstalleerde sertifikate. U kan die funksionaliteit van die skrip nagaan met die volgende opdrag:
systemctl status certbot.timer
Die antwoord sal die status van die diens vertoon, sowel as die gids wat die konfigurasielêer bevat. Jy kan dit oopmaak met enige teksredigeerder. As jy nie ondervinding het met teksredigeerders in Linux nie, beveel ons aan dat jy vertroud raak met ons oorsig van die gewildste oplossings. In hierdie geval sal ons nano gebruik:
nano /lib/systemd/system/certbot.timer
Al die belangrike parameters word uitgelig:
- Die skedule dui aan dat die diens twee keer per dag om 00:00 en 12:00 sal loop;
- 'n Tweede waarde dui op 'n ewekansige vertraging in sekondes wat by die timer se begin gevoeg sal word. In hierdie geval is dit 43,200 12 sekondes (XNUMX uur), wat die lansering meer lukraak maak en die vrag versprei;
- Hierdie parameter verseker dat indien die timer veronderstel was om tydens 'n stelselafskakeling uitgevoer te word, dit onmiddellik geaktiveer sal word met opstart.
U kan ook 'n gedwonge kontrolering van sertifikaathernuwing uitvoer met die opdrag:
certbot renew --dry-run
Deur hierdie opdrag te gebruik, sal die sertifikate nie opgedateer word nie. In plaas daarvan sal die instrument aksies uitvoer wat soortgelyk is aan die verkryging van 'n sertifikaat wanneer dit verstryk. Op hierdie manier kan u die diens se funksionaliteit ten opsigte van outomatiese hernuwing verseker.
Vir CentOS, Fedora en ander
Die proses om outomatiese opdaterings op Red Hat-familiestelsels te aktiveer, verskil effens. Anders as Debian/Ubuntu, vir CentOS en ander stelsels, moet u 'n taak handmatig by die skeduleerder voeg. Hiervoor sal ons die cron instrument:
crontab -e
Voeg dan die volgende reël by in die lêer wat oopmaak:
0 12 * * * /usr/bin/certbot renew --quiet
Kom ons breek die hoofargumente van die opdrag af:
- Die uitvoering tyd. In hierdie geval sal die opdrag outomaties elke dag om 12:00 loop;
- Die opdrag om SSL/TLS-sertifikate te hernu met behulp van Certbot;
- Die -- stil vlag onderdruk uitset, wat die proses meer verborge en minder indringend in stelsellogboeke of vertoon maak.
Nadat u die opdrag bygevoeg het, moet u die veranderinge in die lêer stoor.
Net soos met Debian/Ubuntu, kan u ook 'n gedwonge kontrolering van sertifikaathernuwings begin:
certbot renew --dry-run
Die resultaat van 'n suksesvolle uitvoering van die opdrag lyk soos volg:
Gevolgtrekking
Ons het die omvattende proses ondersoek om Certbot op 'n Linux-bediener te installeer en op te stel. Deur die verskafde instruksies te volg, kan jy suksesvol 'n SSL/TLS-sertifikaat van Let's Encrypt verkry, dit op jou webbediener installeer en outomatiese hernuwing instel om deurlopende beskerming en verhoogde vertroue in jou webhulpbron te verseker. Met Certbot kan u maklik 'n betroubare en veilige omgewing vir gebruikers skep.