Jinsi ya Kulinda Nginx na Lets Encrypt kwenye CentOS 8


Ilianzishwa Aprili 2016 na Electronic Frontier Foundation (EFF), Let's Encrypt ni cheti cha kidijitali kisicholipishwa na kiotomatiki ambacho hutoa usimbaji fiche wa TLS kwa tovuti bila gharama yoyote.

Madhumuni ya cheti cha Let’s Encrypt ni kubinafsisha uthibitishaji, uundaji, kutia sahihi na usasishaji kiotomatiki wa cheti cha usalama. Cheti hiki huwezesha miunganisho iliyosimbwa kwa njia fiche kwa seva za wavuti kwa kutumia itifaki ya HTTPS kwa njia rahisi, isiyo na usumbufu bila matatizo yoyote. Cheti ni halali kwa siku 90 pekee ambapo usasishaji kiotomatiki unaweza kuwashwa.

Soma Iliyopendekezwa: Jinsi ya Kulinda Apache na Wacha Tusimbe Cheti cha SSL kwenye CentOS 8

Katika makala haya, tutaonyesha jinsi unavyoweza kusakinisha Hebu Tusimba ili kupata cheti cha bure cha SSL ili kupata seva ya wavuti ya Nginx kwenye CentOS 8 (maagizo sawa pia yanafanya kazi kwenye RHEL 8). Pia tutakueleza jinsi ya kufanya upya cheti chako cha SSL kiotomatiki.

Kabla hatujaendelea, hakikisha kwamba una yafuatayo.

1. Jina la Kikoa Lililohitimu Kamili (FQDN) linaloelekeza kwa anwani maalum ya IP ya seva ya tovuti. Hii inahitaji kusanidiwa katika eneo la mteja la mtoa huduma wako wa kupangisha wavuti wa DNS. Kwa mafunzo haya, tunatumia jina la kikoa linuxtechwhiz ambalo linaelekeza kwa anwani ya IP 34.70.245.117.

2. Unaweza pia kuthibitisha hili kwa kufanya uchunguzi wa mbele kwa kutumia amri ya kuchimba kama inavyoonyeshwa.

$ dig linuxtechwhiz.info

3. Nginx imesakinishwa na kuendeshwa kwenye seva ya tovuti. Unaweza kuthibitisha hili kwa kuingia kwenye terminal na kuendesha amri hapa chini. Ikiwa Nginx haijasakinishwa, fuata nakala yetu ili Kufunga Nginx kwenye CentOS 8.

$ sudo systemctl status nginx

4. Unaweza pia kuthibitisha kwa kutembelea URL ya seva ya wavuti kwenye kivinjari.

http://server-IP-or-hostname

Kutoka kwa URL, tunaweza kuona wazi kwamba tovuti si salama, na hivyo haijasimbwa. Hii ina maana kwamba maombi yoyote yanayotumwa kwa seva ya tovuti yanaweza kuzuiliwa kuwa hii inajumuisha taarifa muhimu na za siri kama vile majina ya watumiaji, nenosiri, nambari za usalama wa jamii, na maelezo ya kadi ya mkopo kutaja machache.

Sasa wacha tuchafue mikono yetu na tusakinishe Let's Encrypt.

Hatua ya 1. Sakinisha Certbot kwenye CentOS 8

Ili kusakinisha cheti cha Let's Encrypt, kwanza kabisa unahitaji kusakinisha certbot. Huyu ni mteja anayeweza kurefushwa ambaye huchota cheti cha usalama kutoka kwa Mamlaka ya Let's Encrypt na kukuruhusu uthibitishe na usanidi kiotomatiki wa cheti kwa matumizi ya seva ya tovuti.

Pakua certbot kwa kutumia amri ya curl.

$ sudo curl -O https://dl.eff.org/certbot-auto

Ifuatayo, sogeza cheti kwenye saraka /usr/local/bin.

$ sudo mv certbot-auto /usr/local/bin/certbot-auto

Ifuatayo, toa ruhusa ya faili kwa faili ya certbot kama inavyoonyeshwa.

$ chmod 0755 /usr/local/bin/certbot-auto

Hatua ya 2. Sanidi Kizuizi cha Seva ya Nginx

Kizuizi cha seva katika Nginx ni sawa na seva pangishi katika Apache. Kuweka vizuizi vya seva hakukuruhusu tu kusanidi tovuti nyingi katika seva moja lakini pia inaruhusu certbot kuthibitisha umiliki wa kikoa kwa Mamlaka ya Cheti - CA.

Ili kuunda kizuizi cha seva, endesha amri iliyoonyeshwa.

$ sudo vim /etc/nginx/conf.d/www.linuxtechwhiz.info

Hakikisha kubadilisha jina la kikoa na jina lako la kikoa. Kisha ubandike usanidi hapa chini.

server {
   server_name www.linuxtechwhiz.info;
   root /opt/nginx/www.linuxtechwhiz.info;

   location / {
       index index.html index.htm index.php;
   }

   access_log /var/log/nginx/www.linuxtechwhiz.info.access.log;
   error_log /var/log/nginx/www.linuxtechwhiz.info.error.log;

   location ~ \.php$ {
      include /etc/nginx/fastcgi_params;
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   }
}

Hifadhi faili na uondoke kwenye kihariri cha maandishi.

Hatua ya 3: Sakinisha Lets Encrypt Certificate kwenye CentOS 8

Sasa tumia amri ya certbot kuanzisha uletaji na usanidi wa cheti cha usalama cha Let's Encrypt.

$ sudo /usr/local/bin/certbot-auto --nginx

Amri hii itaendesha na kusakinisha vifurushi vingi vya Python na utegemezi wao kama inavyoonyeshwa.

Hii itafuatwa baadaye na kidokezo cha mwingiliano kama inavyoonyeshwa:

Ikiwa kila kitu kilikwenda sawa, unapaswa kuona ujumbe wa pongezi mwishoni.

Ili kuthibitisha kuwa tovuti yako ya Nginx imesimbwa kwa njia fiche, pakia upya ukurasa wa tovuti na uangalie alama ya kufuli mwanzoni mwa URL. Hii inaonyesha kuwa tovuti inalindwa kwa kutumia usimbaji fiche wa SSL/TLS.

Ili kupata maelezo zaidi kuhusu cheti cha usalama, bofya alama ya kufuli na uchague chaguo la ‘Cheti’.

Maelezo zaidi kuhusu cheti cha usalama yataonyeshwa kama inavyoonyeshwa hapa chini.

Zaidi ya hayo, ili kupima uimara wa cheti cha usalama, nenda kwenye https://www.ssllabs.com/ssltest/ na upate uchanganuzi sahihi na wa kina zaidi wa hali ya cheti cha usalama.

Hatua ya 4. Kusasisha Cheti cha Let's Encrypt

Kama tulivyoona hapo awali, cheti cha usalama ni halali kwa muda wa siku 90 pekee na kinahitaji kusasishwa kabla ya kuisha.

Unaweza kuiga au kujaribu mchakato wa kusasisha cheti kwa kutekeleza amri:

$ sudo /usr/local/bin/certbot-auto renew --dry-run

Hii inahitimisha somo hili la kupata Nginx kwa kutumia Let's Encrypt kwenye CentOS 8. Let's Encrypt inatoa njia bora na isiyo na usumbufu ya kulinda seva yako ya wavuti ya Nginx ambalo lingekuwa jambo tata kufanya wewe mwenyewe.

Tovuti yako sasa inapaswa kusimbwa kikamilifu. Wiki chache hadi tarehe ya kuisha kwa cheti, EFF itakuarifu kupitia barua pepe ili usasishe cheti ili kuepuka usumbufu unaoweza kutokea kutokana na cheti ambacho muda wake umekwisha. Ni hayo tu guys kwa leo!