Jinsi ya Kuunda Cheti cha SSL Iliyojiandikisha Karibu Nawe kwenye CentOS 8


SSL (Safu ya Soketi Salama), na toleo lake lililoboreshwa, TLS (Tabaka la Soketi ya Usafiri), ni itifaki za usalama zinazotumiwa kulinda trafiki ya wavuti inayotumwa kutoka kwa kivinjari cha mteja hadi seva ya wavuti.

Cheti cha SSL ni cheti cha dijiti ambacho huunda chaneli salama kati ya kivinjari cha mteja na seva ya wavuti. Kwa kufanya hivyo, data nyeti na ya siri kama vile data ya kadi ya mkopo, kitambulisho cha kuingia, na maelezo mengine ya faragha sana husimbwa kwa njia fiche, hivyo basi kuzuia wavamizi wasikute na kuiba maelezo yako.

Cheti cha SSL kilichosajiliwa chenyewe, tofauti na vyeti vingine vya SSL ambavyo vimetiwa saini na kuaminiwa na Mamlaka ya Cheti (CA), ni cheti kilichotiwa saini na mtu anayekimiliki.

Ni bure kabisa kuunda moja na ni njia ya bei nafuu ya kusimba seva yako ya wavuti inayopangishwa ndani ya nchi. Walakini, utumiaji wa cheti cha SSL uliyojiandikisha umekatishwa tamaa sana katika mazingira ya uzalishaji kwa sababu zifuatazo:

  1. Kwa kuwa hakijatiwa saini na Mamlaka ya Cheti, cheti cha SSL kilichojiandikisha cheti kinatoa arifa kwenye vivinjari vya wavuti kuwaonya watumiaji kuhusu hatari inayowezekana ikiwa wataamua kuendelea. Arifa hizi hazitakiwi na zitawazuia watumiaji kutembelea tovuti yako, jambo linaloweza kusababisha kupungua kwa trafiki ya wavuti. Kama suluhisho la arifa hizi, mashirika kwa kawaida huwahimiza wafanyikazi wao kupuuza arifa na kuendelea. Hii inaweza kuibua tabia hatari miongoni mwa watumiaji ambao wanaweza kuamua kuendelea kupuuza arifa hizi kwenye tovuti nyinginezo za mtandaoni, ambazo huenda zikawa waathiriwa wa tovuti za hadaa.
  2. Vyeti vya kujiandikisha vina kiwango cha chini cha usalama kwa vile vinatekeleza teknolojia ya kiwango cha chini cha cipher na heshi. Kwa hivyo kiwango cha usalama kinaweza kisilingane na sera za kawaida za usalama.
  3. Aidha, hakuna utumiaji wa utendakazi wa Muundomsingi wa Ufunguo wa Umma (PKI).

Hayo yamesemwa, matumizi ya cheti cha SSL kilichojiandikisha mwenyewe sio wazo mbaya kwa huduma za majaribio na programu kwenye mashine ya karibu ambayo inahitaji usimbaji fiche wa TLS/SSL.

Katika mwongozo huu, utajifunza jinsi ya kusakinisha cheti cha ndani cha SSL kilichosainiwa kibinafsi kwenye seva ya mtandao ya Apache localhost kwenye mfumo wa seva ya CentOS 8.

Kabla ya kuanza, hakikisha kwamba una mahitaji ya msingi yafuatayo:

  1. Mfano wa seva ya CentOS 8.
  2. Seva ya wavuti ya Apache imesakinishwa kwenye seva
  3. Jina la mpangishaji tayari limesanidiwa na kufafanuliwa katika faili ya /etc/hosts. Kwa mwongozo huu, tutatumia tecmint.local jina la mpangishaji kwa seva yetu.

Hatua ya 1: Kusakinisha Mod_SSL kwenye CentOS

1. Ili kuanza, unahitaji kuthibitisha kuwa seva ya wavuti ya Apache imesakinishwa na inafanya kazi.

$ sudo systemctl status httpd

Hapa kuna matokeo yanayotarajiwa.

Ikiwa seva ya wavuti haifanyi kazi, unaweza kuanza na kuiwezesha unapoanzisha uanzishaji kwa kutumia amri.

$ sudo systemctl start httpd
$ sudo systemctl enable httpd

Baada ya hapo unaweza kuthibitisha ikiwa Apache iko na inafanya kazi.

2. Ili kuwezesha usakinishaji na usanidi wa cheti cha ndani cha SSL kilichosainiwa kibinafsi, kifurushi cha mod_ssl kinahitajika.

$ sudo dnf install mod_ssl

Mara baada ya kusakinishwa, unaweza kuthibitisha usakinishaji wake kwa kukimbia.

$ sudo rpm -q mod_ssl

Pia, hakikisha kuwa kifurushi cha OpenSSL kimesakinishwa (OpenSSL huja ikiwa imesakinishwa kwa chaguomsingi katika CentOS 8).

$ sudo rpm -q openssl 

Hatua ya 2: Unda Cheti cha SSL Iliyojiandikisha Karibu Nawe kwa Apache

3. Ukiwa na seva ya wavuti ya Apache na mahitaji yote ya lazima, unahitaji kuunda saraka ambayo funguo za kriptografia zitahifadhiwa.

Katika mfano huu, tumeunda saraka kwenye /etc/ssl/private.

$ sudo mkdir -p /etc/ssl/private

Sasa unda kitufe cha cheti cha SSL cha ndani na faili ukitumia amri:

$ sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout tecmint.local.key -out tecmint.local.crt

Wacha tuangalie ni nini baadhi ya chaguzi kwenye amri husimamia:

  • req -x509 - Hii inaonyesha kuwa tunatumia Ombi la Kusaini Cheti cha x509 (CSR).
  • -nodi - Chaguo hili linaelekeza OpenSSL kuruka usimbaji fiche cheti cha SSL kwa kutumia kaulisiri. Wazo hapa ni kuruhusu Apache kuweza kusoma faili bila aina yoyote ya mtumiaji kuingilia kati jambo ambalo halingewezekana ikiwa neno la siri limetolewa.
  • -newkey rsa:2048 - Hii inaonyesha kuwa tunataka kuunda ufunguo mpya na cheti kipya kwa wakati mmoja. Sehemu ya rsa:2048 inamaanisha kuwa tunataka kuunda ufunguo wa RSA wa 2048-bit.
  • -keyout - Chaguo hili linabainisha mahali pa kuhifadhi faili ya ufunguo wa kibinafsi uliotengenezwa wakati wa kuunda.
  • -out - Chaguo hubainisha mahali pa kuweka cheti kilichoundwa cha SSL.

Hatua ya 3: Sakinisha Cheti cha SSL Iliyojiandikisha Karibu Nawe kwenye Apache

4. Baada ya kutengeneza faili ya cheti cha SSL, Sasa ni wakati wa kusakinisha cheti kwa kutumia mipangilio ya seva ya wavuti ya Apache. Fungua na uhariri /etc/httpd/conf.d/ssl.conf faili ya usanidi.

$ sudo vi /etc/httpd/conf.d/ssl.conf

Hakikisha kuwa una mistari ifuatayo kati ya lebo za seva pangishi.

<VirtualHost *:443>
    ServerAdmin [email 
    ServerName www.tecmint.local
    ServerAlias tecmint.local
 
    DocumentRoot /var/www/html
 
    SSLEngine on
    SSLCertificateFile /etc/ssl/private/tecmint.local.crt
    SSLCertificateKeyFile /etc/ssl/private/tecmint.local.key
</VirtualHost>

Hifadhi na uondoke faili. Ili mabadiliko yafanyike, anzisha tena Apache kwa kutumia amri:

$ sudo systemctl restart httpd

5. Ili watumiaji wa nje kufikia seva yako, unahitaji kufungua mlango 443 kupitia ngome kama inavyoonyeshwa.

$ sudo firewall-cmd --add-port=443 --zone=public --permanent
$ sudo firewall-cmd --reload

Hatua ya 3:Kujaribu Cheti cha SSL Iliyojiandikisha Karibu Nawe kwenye Apache

Na usanidi wote umewekwa, washa kivinjari chako na uvinjari anwani ya seva yako kwa kutumia anwani ya IP ya seva au jina la kikoa kwa kutumia itifaki ya https.

Ili kurahisisha majaribio, unaweza kufikiria kuelekeza upya itifaki ya HTTP kwa HTTPS kwenye seva ya wavuti ya Apache. Hii ni ili wakati wowote unapovinjari kikoa katika HTTP wazi, kitaelekezwa kiotomatiki kwa itifaki ya HTTPS.

Kwa hivyo vinjari kikoa cha seva yako au IP

https://domain_name/

Utapata arifa kukujulisha kuwa muunganisho si salama kama inavyoonyeshwa. Hii itatofautiana kutoka kivinjari kimoja hadi kingine. Kama unavyoweza kukisia, tahadhari inatokana na ukweli kwamba cheti cha SSL hakijatiwa saini na Mamlaka ya Cheti na kivinjari husajili hilo na kuripoti kuwa cheti hakiwezi kuaminiwa.

Ili kuendelea na tovuti yako, bofya kichupo cha 'Advanced' kama inavyoonyeshwa hapo juu:

Ifuatayo, ongeza ubaguzi kwa kivinjari.

Hatimaye, pakia upya kivinjari chako na uone kwamba sasa unaweza kufikia seva, ingawa, kutakuwa na onyo kwenye upau wa URL kwamba tovuti si salama kabisa kwa sababu sawa na kwamba cheti cha SSL kimejiandikisha chenyewe na hakijatiwa saini na Mamlaka ya Cheti.

Ni matumaini yetu kwamba sasa unaweza kuendelea na kuunda na kusakinisha cheti cha SSL kilichojiandikisha kwenye seva ya wavuti ya Apache localhost kwenye CentOS 8.