Jinsi ya Kufunga Cheti cha Bure cha SSL kwa Nginx kwenye Debian 10


Wakati wa kusanidi tovuti, mojawapo ya mambo muhimu unayopaswa kuzingatia ni usalama wa tovuti yako. Cheti cha SSL ni cheti cha dijiti ambacho husimba kwa njia fiche data ambayo hutumwa kutoka kwa kivinjari cha mtumiaji hadi seva ya wavuti. Kwa njia hii, data iliyotumwa ni ya siri na salama kutoka kwa wavamizi wanaotumia vinusi vya pakiti kama vile Wireshark kukatiza na kusikiliza mawasiliano yako.

Tovuti iliyosimbwa kwa njia fiche ina alama ya kufuli katika upau wa URL ikifuatiwa na kifupi cha https kama inavyoonyeshwa kwenye picha ya skrini ifuatayo.

Tovuti ambayo haijasimbwa huwa na arifa ya \Si salama kwenye upau wa URL.

Kabla ya kuanza, hakikisha kwamba mahitaji yafuatayo yametimizwa:

  1. Mfano unaoendelea wa Seva ya Debian 10 Ndogo.
  2. Mfano unaoendelea wa Seva ya Wavuti ya Nginx iliyo na Usanidi wa Kikoa kwenye Debian 10.
  3. Jina la Kikoa Lililohitimu Kamili (FQDN) lililosajiliwa na A rekodi inayoelekeza kwenye anwani ya IP ya Debian 10 kwenye Mtoa Huduma wa Kikoa chako.

Kwa mafunzo haya, linux-console.net tumeelekeza kwa anwani ya IP 192.168.0.104.

Katika makala haya, tunachunguza jinsi unavyoweza kusakinisha Hebu Tusimbe SSL kwenye Debian 10 ili kupata Cheti cha Bure cha SSL kwa tovuti inayopangishwa na Nginx.

Let's Encrypt SSL ni cheti cha bila malipo kutoka EFF (Electronic Frontier Foundation) ambacho kinatumika kwa miezi 3 na husasishwa kiotomatiki baada ya kuisha. Ni njia rahisi na ya bei nafuu ya kusimba tovuti yako ikiwa mifuko yako imebanwa.

Bila ado zaidi, wacha tuzame na tusakinishe Hebu Tufiche kwenye seva ya wavuti ya Nginx:

Hatua ya 1: Sakinisha Certbot kwenye Debian 10

Ili kuanza tunahitaji kusakinisha Certbot - ni programu inayoleta cheti cha dijitali cha Let Let's encrypt na baadaye kukitumia kwenye seva ya wavuti. Ili kukamilisha hili, tunahitaji kusanikisha kifurushi cha python3-certbot-nginx. Lakini kabla ya kufanya hivyo, hebu kwanza tusasishe vifurushi vya mfumo.

$ sudo apt update

Hatua inayofuata ni kusanikisha utegemezi unaohitajika na kifurushi cha python3-certbot-nginx.

$ sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface

Sasa wacha tusakinishe kifurushi cha python3-certbot-nginx.

$ sudo apt install python3-certbot-nginx

Hatua ya 2. Kuthibitisha Usanidi wa Kizuizi cha Seva ya Nginx

Ili certbot kupeleka kiotomatiki Hebu tusimbe cheti cha SSL kwenye seva ya wavuti ya Nginx, kizuizi cha seva kinahitaji kusanidiwa. Tulishughulikia usanidi wa vizuizi vya seva ya Nginx kwenye sehemu ya mwisho ya kifungu kilichopita.

Ikiwa ulifuata kwa uangalifu, unapaswa kuwa na kizuizi cha seva kwa /etc/nginx/sites-available/some_domain. Kwa upande wetu, block ya seva ya Nginx itakuwa

/etc/nginx/sites-available/linux-console.net

Kwa kuongeza , hakikisha kwamba maagizo ya jina la seva yanalingana na jina la kikoa chako.

server_name linux-console.net linux-console.net;

Ili kudhibitisha usanidi wote wa Nginx uko katika mpangilio, endesha:

$ sudo nginx -t

Matokeo hapo juu yanaonyesha kuwa kila kitu kiko sawa.

Hatua ya 3: Sanidi Firewall ili Kufungua Mlango wa HTTPS

Iwapo umesanidi na kuwasha ufw, kama inavyopendekezwa kila mara, tunahitaji kuruhusu itifaki ya HTTPS kwenye ngome ili seva ya wavuti iweze kufikiwa na kila mtu.

$ sudo ufw allow 'Nginx Full'

Ifuatayo, pakia upya ngome ili kutekeleza mabadiliko.

$ sudo ufw reload

Ili kuthibitisha kuwa tumeruhusu itifaki kupitia ngome.

$ sudo ufw status

Hatua ya 4: Kutuma Hebu Tusimbe Cheti cha SSL kwa Kikoa

Mipangilio na usanidi wote ukiwa umedhibitiwa, ni wakati wa kuleta na kupeleka Hebu Tusimba cheti cha SSL kwenye tovuti ya kikoa.

$ sudo certbot --nginx -d domain-name  -d www.domain-name.com 

Kwa upande wetu, tutakuwa na

$ sudo certbot --nginx -d linux-console.net -d linux-console.net

Katika hatua ya kwanza, utaulizwa Ingiza barua pepe yako. Andika anwani yako na ubofye Ingiza.

Ifuatayo, utaulizwa ukubali masharti ya huduma. Andika A ili kuendelea.

Certbot itaendelea kukuomba kibali chako kwa kutumia barua pepe yako kukutumia arifa kuhusu maendeleo ya hivi punde katika EFF. Hapa, unaweza kuchagua kuchagua kuingia au kuondoka, kuchagua kuingia, chapa Y (Ndiyo) na ubofye Enter. Ili kukataa ushiriki gonga N (Hapana).

Certbot itawasiliana na Hebu tusimbe kwa njia fiche, pakua cheti cha SSL na kukipeleka kwenye kizuizi cha seva ya Nginx ambacho tayari umeunda.

Katika sehemu inayofuata,  Andika 2 ili kuelekeza upya trafiki ya kawaida ya HTTP kwenye HTTPS.

Cheti kitatumwa kwa Seva yako ya Nginx na utapokea arifa ya kukupongeza ili kuthibitisha kwamba seva yako ya wavuti sasa imesimbwa kwa njia fiche kwa kutumia Let's Encrypt SSL.

Hatua ya 5: Thibitisha HTTPS kwenye Tovuti ya Nginx

Ili kuthibitisha mabadiliko kupitia kivinjari, onyesha upya kichupo cha kivinjari chako na uhakikishe kuwa umegundua alama ya kufuli.

Bofya kwenye ikoni ya kufuli na uchague chaguo la 'Cheti' ili kutazama maelezo ya cheti cha SSL.

Maelezo yote ya cheti yataonyeshwa.

Unaweza kuthibitisha zaidi hali ya seva yako ya wavuti kwa kujaribu URL ya tovuti yako katika https://www.ssllabs.com/ssltest/. Ikiwa  seva ya wavuti imesimbwa kwa njia fiche kwa kutumia cheti cha SSL, utapata alama A kama inavyoonyeshwa.

Tumefika mwisho wa somo hili. Kwa mwongozo, ulijifunza jinsi ya kusakinisha cheti cha bure cha SSL kwa Nginx kwenye Debian 10.