Yn dit artikel sille wy it proses fan ynstallaasje en konfiguraasje ûndersykje certbot op in Linux-tsjinner. Wy sille útlizze yn detail hoe't jo in Let's Encrypt SSL / TLS-sertifikaat krije foar jo domein. Wy sille ek beskriuwe hoe't jo it kinne ynstallearje op in webserver (lykas Nginx of Apache) en automatyske sertifikaatfernijings ynstelle om in trochgeande feilige ferbining te garandearjen mei jo webboarne.
certbot is in fergese, iepen boarne ark ûntworpen foar de automatyske oankeap en fernijing fan SSL / TLS sertifikaten. It spilet in krúsjale rol by it befeiligjen fan de ferbining tusken de tsjinner en de kliïnt, it beskermjen fan gegevens tsjin unautorisearre tagong. Certbot simplifies it ynstallaasje- en fernijingsproses fan in SSL-sertifikaat. Net allinich ferbettert it sertifikaat de feiligens, mar it fergruttet ek it fertrouwen fan brûkers yn jo webboarne, wêrtroch sawol de reputaasje fan 'e side as de ranglist fan' e sykmasjine ferbetterje.
Certbot ynstallearje
Certbot is standert opnaam yn de measte distribúsjes, dus om it op te ynstallearjen Debian / Ubuntu systemen, moatte jo allinich de pakketlist bywurkje:
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
De ynstallaasje proses foar Reade hoed systemen (lykas RHEL, CentOS, Fedora) is wat oars. Yn earste ynstânsje moatte jo it 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 om it sertifikaat te krijen. As foarbyld, wy krije in sertifikaat foar in virtuele server foar in fergees domein fan tredden lykas yourusername.pserver.space
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 is útjûn. Certbot kin automatysk bepale it domein as it waard oantsjutte yn de Server Namme fjild foar Nginx konfiguraasje of Server Namme 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 it trochferwizing fan oanfragen fan HTTP nei HTTPS-protokol ynskeakelje 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 konfiguraasjetriem. 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 de meast populêre oplossings. 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 foar it ynskeakeljen fan automatyske updates op Red Hat-famyljesystemen ferskilt in bytsje. Oars as Debian/Ubuntu, foar CentOS en oare systemen, moatte jo in taak manuell tafoegje oan 'e planner. Foar dit, wy sille brûke de Cron helpmiddel:
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.