Yn dit artikel sille wy it proses fan it ynstallearjen en konfigurearjen fan Certbot op in Linux-tsjinner ûndersykje. Wy sille yn detail útlizze hoe't jo in Let's Encrypt SSL/TLS-sertifikaat foar jo domein krije kinne . Wy sille ek beskriuwe hoe't jo it op in webtsjinner ynstallearje kinne (lykas Nginx of Apache) en automatyske sertifikaatfernijingen ynstelle om in trochgeande feilige ferbining mei jo webboarne te garandearjen.
Certbot is in fergese, iepen-boarne ark ûntworpen foar it automatysk oanskaffen en fernijen fan SSL/TLS-sertifikaten . It spilet in krúsjale rol by it befeiligjen fan de ferbining tusken de server en de kliïnt, en beskermet gegevens tsjin unautorisearre tagong. Certbot ferienfâldiget it ynstallaasje- en fernijingsproses fan in SSL-sertifikaat. It sertifikaat ferbetteret net allinich de feiligens, mar it fergruttet ek it fertrouwen fan brûkers yn jo webboarne, wêrtroch sawol de reputaasje fan 'e side as de sykmasjine-ranglist ferbetteret.
Certbot ynstallearje
Certbot is standert opnommen yn de measte distribúsjes, dus om it te ynstallearjen op Debian/Ubuntu -systemen hoege jo allinich de pakketlist by te wurkjen:
apt update
Start dan it ynstallaasjeproses:
apt install certbot
Certbot stipet plugins dy't de opset en konfiguraasje fan it sertifikaat foar in webserver fasilitearje. Om dizze plugins te ynstallearjen, brûk it oerienkommende kommando:
apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache
It ynstallaasjeproses foar Red Hat- systemen (lykas RHEL , CentOS , Fedora ) is wat oars. Yn it earstoan moatte jo de EPEL-repository tafoegje:
yum install epel-release
Ynstallearje dan it ark:
yum install certbot
Op deselde manier is d'r in opsje om in plugin te selektearjen foar in spesifike webserver:
yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache
Nei ynstallaasje kinne jo fuortdaliks trochgean om it sertifikaat te krijen.
In SSL-sertifikaat krije
Yn dizze seksje sille wy it proses besprekke foar it krijen fan in sertifikaat ûnôfhinklik fan in spesifike webserver, folge troch it beskriuwen fan it proses fan it ynstallearjen fan it sertifikaat foar Nginx en Apache. It is lykwols essensjeel om earst de syntaksis en funksjonaliteit fan it programma te begripen. It ferskynt as folget:
certbot command option -d domain
De wichtichste kommando's omfetsje:
certbot certonly - Helje it sertifikaat op, mar ynstallearje it net.certbot certificates - Dit kommando toant in list fan alle ynstallearre sertifikaten.certbot renew - Wreidet it besteande sertifikaat út.certbot revoke - Herroept it besteande sertifikaat.certbot delete - Wiskje it besteande sertifikaat.
De meast brûkte opsjes binne:
--nginx - Brûkt Nginx-konfiguraasjeskripts foar domeinferifikaasje.--apache - Brûkt Apache-konfiguraasjeskripts foar domeinferifikaasje.-d - In list mei domeinen wêrfoar it sertifikaat wurdt oanfrege.--standalone - Brûkt standalone modus foar domeinferifikaasje.--manual - Fiert manuele domeinferifikaasje út.
Dit is gewoan in foarbyld fan 'e meast foarkommende kommando's en opsjes. Jo kinne josels fertroud meitsje mei de folsleine list mei programmamooglikheden yn 'e helpseksje:
certbot –help
Wy geane no troch mei it krijen fan it sertifikaat. As foarbyld sille wy in sertifikaat krije foar in firtuele server foar in fergees domein op tredde nivo lykas jo brûkersnamme.pserver.romte.
Earst moatte jo it kommando ynfiere:
certbot certonly
As antwurd sil it hulpprogramma jo freegje om in metoade te kiezen foar it ferifiearjen fan domeinbesit:
De earste opsje is handich as jo gjin ynstelde webserver hawwe of jo gjin wizigingen wolle meitsje oan in besteande. Dizze metoade makket in tydlike webserver om jo rjocht op it domein te befestigjen. It is ideaal foar in ienfâldige en rappe opset. By it kiezen fan dizze metoade is it wichtich om poarte 80 frij te hâlden.
De twadde opsje is de foarkar as jo al in webserver hawwe dy't wurket, en jo wolle it brûke om it rjocht op it domein te ferifiearjen. Certbot pleatst spesjale bestannen yn in map op jo server, dy't dan wurde kontrolearre troch it sertifisearjende sintrum.
Wy kieze de earste opsje en klikje folgjende. Op dit stadium moatte jo:
- Fier in e-mailadres yn;
- akkoard mei de betingsten fan tsjinst;
- akkoard of wegerje om e-mails te ûntfangen út namme fan it bedriuw en har partners;
- Spesifisearje de domeinnamme wêrfoar it sertifikaat wurdt útjûn.
Nei it foltôgjen fan it proses foar útjefte fan sertifikaat mei it Certbot-ark, sil it it paad oanjaan nei de map wêr't it útjûne sertifikaat en de gegevens foar jo akkount wurde opslein:
Alles wat oerbliuwt is foar jo om it krigen sertifikaat te keppeljen oan de fereaske tsjinst.
It sertifikaat ynstallearje foar Nginx of Apache
Dizze seksje giet derfan út dat bepaalde fûnemintele betingsten foldien binne:
- Jo hawwe al in webserver ynstalleare en ynsteld, itsij Nginx as Apache. It moat fan it ynternet tagonklik wêze fia de domeinnamme dêr't jo it sertifikaat foar krije wolle;
- Tidens de ynstallaasje fan it ark hawwe jo ek in plugin ynstalleare foar Nginx of Apache mei it passende kommando;
- De brânmuorre kinne ferbinings op havens 80 en 443. As dizze havens binne sletten foar ferbinings, de tsjinst sil wêze net beskikber foar ynkommende ferbinings. Foar mear details oer firewall operaasje, wy besprutsen dit yn it artikel oer it ynstellen fan in firewall op Linux.
Sadree't alle betingsten foldien binne, kinne jo direkt trochgean nei it útjaan fan sertifikaat. Wy sille it proses beskôgje foar it krijen fan in SSL-sertifikaat op in server mei Nginx as foarbyld. As jo lykwols in Apache-webserver brûke, is it proses folslein identyk.
Om it sertifikaat te krijen, moatte jo it kommando ynfiere:
certbot --nginx # for Nginx
certbot --apache # for Apache
As antwurd sil it ark oanfreegje: in e-postadres, tastimming foar de gebrûksbetingsten fan 'e Let's Encrypt-tsjinst, en tastimming om e-post te ferstjoeren út namme fan' e tsjinst en har partners.
Dêrnei moatte jo de domeinnamme opjaan wêrfoar it sertifikaat útjûn is. Certbot kin it domein automatysk bepale as it oantsjutte is yn it fjild server_name foar Nginx- konfiguraasje of ServerName en ServerAlias foar Apache . As it net oantsjutte is, sil it programma jo ynformearje en jo freegje om de domeinnamme manuell yn te fieren. Dan sil it hulpprogramma freegje oft trochferwizing fan oanfragen fan HTTP nei HTTPS-protokol ynskeakele wurde moat. Om automatyske trochferwizing yn te stellen, moatte jo de twadde opsje kieze:
Nei in skoft sil Certbot jo ynformearje oer de suksesfolle oankeap fan it sertifikaat foar it opjûne domein. Fanôf dit punt wurde alle ynkommende ferbiningen omlaat fan poarte 80 nei 443. It ark sil de mappen werjaan wêryn jo alle sertifikaatgegevens fine kinne en de Let's Encrypt account details:
It berjocht sil ek de jildigensperioade fan it krigen sertifikaat spesifisearje en wichtige opsjes foar it behearen fan alle aktive sertifikaten:
- certonly. Dizze opsje wurdt brûkt foar it krijen of bywurkjen fan it sertifikaat sûnder automatyske webserverkonfiguraasje. Certbot sil allinich it sertifikaat oanfreegje of bywurkje, mar sil gjin automatyske feroarings meitsje oan 'e tsjinnerkonfiguraasje. Earder brûkten wy dizze opsje om in sertifikaat te krijen sûnder te wêzen bûn oan in webserver.
- fernije wurdt brûkt foar de automatyske fernijing fan alle sertifikaten dy't binne krigen fia Certbot en binne binnen harren jildichheid perioade. It programma sil alle sertifikaten kontrolearje, en as ien fan har binnen 30 dagen of minder ferrint, sil it automatysk wurde fernijd.
Folgjende yn 'e ynstruksjes sille wy beprate hoe't jo de automatyske fernijing fan sertifikaten ynstelle sûnder yntervinsje fan brûkers elke trije moannen.
Automatyske sertifikaatfernijing yn Certbot
Foar Debian/Ubuntu
By it brûken fan dizze bestjoeringssystemen foeget Certbot automatysk in skript ta oan de taaklist foar de automatyske fernijing fan ynstallearre sertifikaten. Jo kinne de funksjonaliteit fan it skript kontrolearje mei it folgjende kommando:
systemctl status certbot.timer
It antwurd sil de status fan 'e tsjinst werjaan, lykas de map mei it konfiguraasjebestân. Jo kinne dit iepenje mei elke tekstbewurker. As jo gjin ûnderfining hawwe mei tekstbewurkers yn Linux, riede wy oan om josels fertroud te meitsjen mei ús oersjoch fan 'e populêrste oplossingen. Yn dit gefal sille wy nano brûke:
nano /lib/systemd/system/certbot.timer
Alle wichtige parameters wurde markearre:
- It skema jout oan dat de tsjinst sil rinne twa kear deis om 00:00 en 12:00;
- In twadde wearde jout oan in willekeurige fertraging yn sekonden dy't sil wurde tafoege oan de start fan de timer. Yn dit gefal, it is 43,200 sekonden (12 timer), dat makket de lansearring mear willekeurich en ferspriedt de lading;
- Dizze parameter soarget derfoar dat as de timer soe wurde útfierd tidens in systeem shutdown, sil aktivearre wurde fuortendaliks by it opstarten.
Jo kinne ek in twongen kontrôle fan sertifikaatfernijing útfiere mei it kommando:
certbot renew --dry-run
Mei dit kommando wurde de sertifikaten net bywurke. Ynstee dêrfan sil it ark aksjes útfiere dy't lykje op it krijen fan in sertifikaat by it ferrinnen. Op dizze manier kinne jo de funksjonaliteit fan 'e tsjinst garandearje oangeande automatyske fernijing.
Foar CentOS, Fedora, en oaren
It proses fan it ynskeakeljen fan automatyske updates op systemen fan 'e Red Hat-famylje ferskilt wat. Oars as by Debian/Ubuntu moatte jo foar CentOS en oare systemen sels in taak tafoegje oan 'e planner. Hjirfoar sille wy it cron- ark brûke:
crontab -e
Foegje dan de folgjende rigel ta yn it bestân dat iepenet:
0 12 * * * /usr/bin/certbot renew --quiet
Litte wy de wichtichste arguminten fan it kommando ôfbrekke:
- De útfiering tiid. Yn dit gefal sil it kommando automatysk elke dei om 12 oere rinne;
- It kommando om SSL / TLS-sertifikaten te fernijen mei Certbot;
- De --stil flagge ûnderdrukt útfier, wêrtroch it proses mear ferburgen en minder yngripend yn systeem logs of werjefte.
Nei it tafoegjen fan it kommando moatte jo de wizigingen yn it bestân bewarje.
Krekt as by Debian/Ubuntu kinne jo ek in twongen kontrôle fan sertifikaatfernijings begjinne:
certbot renew --dry-run
It resultaat fan in suksesfolle útfiering fan it kommando sjocht der sa út:
Konklúzje
Wy hawwe it wiidweidige proses ûndersocht fan it ynstallearjen en konfigurearjen fan Certbot op in Linux-tsjinner. Troch de levere ynstruksjes te folgjen, kinne jo mei súkses in SSL/TLS-sertifikaat krije fan Let's Encrypt, it ynstallearje op jo webserver, en automatyske fernijing ynstelle om kontinuze beskerming en ferhege fertrouwen yn jo webboarne te garandearjen. Mei Certbot kinne jo maklik in betroubere en feilige omjouwing meitsje foar brûkers.