Giunsa Paghimo ang usa ka Lokal nga Self-Signed SSL Certificate sa CentOS 8


Ang SSL (Secure Socket Layer), ug ang gipaayo nga bersyon niini, TLS (Transport Socket Layer), mga protocol sa seguridad nga gigamit aron masiguro ang trapiko sa web nga gipadala gikan sa web browser sa kliyente ngadto sa usa ka web server.

Ang usa ka sertipiko sa SSL usa ka digital nga sertipiko nga nagmugna usa ka luwas nga agianan tali sa browser sa usa ka kliyente ug usa ka web server. Sa pagbuhat niini, ang sensitibo ug kompidensyal nga datos sama sa datos sa credit card, mga kredensyal sa pag-login, ug uban pang pribado kaayo nga impormasyon gi-encrypt, nga nagpugong sa mga hacker sa pag-eavesdrop ug pagpangawat sa imong impormasyon.

Ang self-signed SSL certificate, dili sama sa ubang SSL certificates nga gipirmahan ug gisaligan sa Certificate Authority (CA), usa ka certificate nga gipirmahan sa usa ka indibidwal nga nanag-iya niini.

Kini mao ang hingpit nga gawasnon sa paghimo sa usa ug usa ka barato nga paagi sa pag-encrypt sa imong lokal nga host web server. Bisan pa, ang paggamit sa usa ka gipirmahan sa kaugalingon nga sertipiko sa SSL labi nga nawad-an sa kadasig sa mga palibot sa produksiyon tungod sa mga musunud nga hinungdan:

  1. Tungod kay wala man kini gipirmahan sa usa ka Awtoridad sa Sertipiko, ang usa ka SSL nga gipirmahan sa kaugalingon nga sertipiko nagmugna og mga alerto sa mga web browser nga nagpasidaan sa mga tiggamit sa posibleng risgo sa unahan kon sila modesisyon sa pagpadayon. Kini nga mga alerto dili gusto ug makapugong sa mga tiggamit sa pagbisita sa imong website, nga mahimong mosangpot sa pagkunhod sa trapiko sa web. Ingon usa ka solusyon sa kini nga mga alerto, ang mga organisasyon kasagarang nag-awhag sa ilang mga empleyado nga ibaliwala lang ang mga alerto ug magpadayon sa unahan. Mahimong makamugna kini og peligrosong bisyo sa mga tiggamit nga mahimong modesisyon sa pagpadayon sa pagbaliwala niini nga mga alerto sa ubang mga online nga site, nga posibleng mabiktima sa mga phishing site.
  2. Ang mga sertipiko nga gipirmahan sa kaugalingon adunay ubos nga lebel sa seguridad tungod kay nag-implementar kini og ubos nga lebel nga mga teknolohiya sa cipher ug mga hash. Sa ingon ang lebel sa seguridad mahimong dili parehas sa naandan nga mga palisiya sa seguridad.
  3. Dugang pa, walay suporta alang sa Public Key Infrastructure (PKI) nga mga gimbuhaton.

Ingon niana, ang paggamit sa usa ka gipirmahan sa kaugalingon nga sertipiko sa SSL dili usa ka dili maayo nga ideya alang sa pagsulay sa mga serbisyo ug aplikasyon sa usa ka lokal nga makina nga nanginahanglan TLS/SSL encryption.

Sa kini nga giya, mahibal-an nimo kung giunsa ang pag-install sa usa ka lokal nga gipirmahan sa kaugalingon nga SSL nga sertipiko sa Apache localhost web server sa usa ka CentOS 8 server system.

Sa dili pa magsugod, siguroha nga ikaw adunay mosunod nga mga batakang kinahanglanon:

  1. Usa ka pananglitan sa CentOS 8 server.
  2. Naka-install ang Apache webserver sa server
  3. Usa ka hostname nga na-configure na ug gihubit sa /etc/hosts file. Alang niini nga giya, among gamiton ang tecmint.local usa ka hostname para sa among server.

Lakang 1: Pag-instalar sa Mod_SSL sa CentOS

1. Sa pagsugod, kinahanglan nimo nga pamatud-an nga ang Apache web server na-install ug nagdagan.

$ sudo systemctl status httpd

Ania ang gipaabot nga output.

Kung ang webserver wala nagdagan, mahimo nimong sugdan ug mahimo kini sa pag-boot gamit ang command.

$ sudo systemctl start httpd
$ sudo systemctl enable httpd

Mahimo nimo pagkahuman makumpirma kung ang Apache nagdagan ug nagdagan.

2. Aron makahimo sa pag-instalar ug pag-setup sa lokal nga self-signed SSL certificate, gikinahanglan ang mod_ssl package.

$ sudo dnf install mod_ssl

Sa higayon nga ma-install, mahimo nimong pamatud-an ang pag-install niini pinaagi sa pagdagan.

$ sudo rpm -q mod_ssl

Usab, siguroha nga ang OpenSSL package na-install (OpenSSL moabut nga gi-install pinaagi sa default sa CentOS 8).

$ sudo rpm -q openssl 

Lakang 2: Paghimo og Lokal nga Self-Signed SSL Certificate para sa Apache

3. Uban sa Apache web server ug sa tanan nga mga kinahanglanon sa pagsusi, kinahanglan ka nga maghimo usa ka direktoryo diin ang mga cryptographic nga yawe itago.

Niini nga pananglitan, naghimo kami og direktoryo sa /etc/ssl/private.

$ sudo mkdir -p /etc/ssl/private

Karon paghimo sa lokal nga SSL certificate key ug file gamit ang command:

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

Atong tan-awon kon unsa ang pipila sa mga kapilian sa sugo sa tinuod nagbarug alang sa:

  • req -x509 – Kini nagpakita nga kami naggamit sa x509 Certificate Signing Request (CSR).
  • -nodes – Kini nga opsyon nagtudlo sa OpenSSL sa paglaktaw sa pag-encrypt sa SSL certificate gamit ang passphrase. Ang ideya dinhi mao ang pagtugot sa Apache nga makabasa sa file nga walay bisan unsa nga matang sa interbensyon sa user nga dili mahimo kung adunay usa ka passphrase nga gihatag.
  • -newkey rsa:2048 – Kini nagpakita nga gusto namong dungan nga maghimo ug bag-ong yawe ug bag-ong sertipiko. Ang rsa:2048 nga bahin nagpasabot nga gusto namong maghimo ug 2048-bit nga RSA key.
  • -keyout – Kini nga opsyon nagtino kon asa ibutang ang namugna nga pribado nga yawe nga payl sa paghimo.
  • -out – Ang opsyon nagtino kon asa ibutang ang gibuhat nga SSL certificate.

Lakang 3: I-install ang Lokal nga Self-Signed SSL Certificate sa Apache

4. Nahimo na ang SSL certificate file, Panahon na nga i-install ang certificate gamit ang mga setting sa Apache web server. Ablihi ug i-edit ang /etc/httpd/conf.d/ssl.conf configuration file.

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

Siguroha nga ikaw adunay mosunod nga mga linya tali sa mga virtual host tag.

<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>

Pag-save ug paggawas sa file. Alang sa mga pagbag-o nga mahimo, i-restart ang Apache gamit ang command:

$ sudo systemctl restart httpd

5. Para sa mga eksternal nga tiggamit nga maka-access sa imong server, kinahanglan nimong ablihan ang port 443 pinaagi sa firewall sama sa gipakita.

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

Lakang 3: Pagsulay sa Lokal nga Self-Signed SSL Certificate sa Apache

Uban sa tanan nga mga pag-configure sa lugar, sugdi ang imong browser ug i-browse ang adres sa imong server gamit ang IP address sa server o domain name gamit ang https protocol.

Aron mapahapsay ang pagsulay, mahimo nimong hunahunaon ang pag-redirect sa HTTP protocol sa HTTPS sa Apache webserver. Kini aron sa matag higayon nga mag-browse ka sa domain sa yano nga HTTP, awtomatiko kini nga ma-redirect sa HTTPS protocol.

Busa pag-browse sa domain o IP sa imong server

https://domain_name/

Makakuha ka usa ka alerto nga nagpahibalo kanimo nga ang koneksyon dili luwas sama sa gipakita. Kini magkalahi gikan sa usa ka browser ngadto sa lain. Sama sa imong gihunahuna, ang alerto tungod sa kamatuoran nga ang sertipiko sa SSL wala gipirmahan sa Awtoridad sa Sertipiko ug ang browser nagrehistro niana ug nagtaho nga ang sertipiko dili kasaligan.

Aron makapadayon sa imong website, i-klik ang tab nga 'Advanced' sama sa gipakita sa ibabaw:

Sunod, idugang ang eksepsiyon sa browser.

Sa katapusan, i-reload ang imong browser ug tan-awa nga mahimo nimong ma-access ang server, bisan pa, adunay usa ka pasidaan sa URL bar nga ang site dili hingpit nga luwas sa parehas nga hinungdan nga ang sertipiko sa SSL gipirmahan sa kaugalingon ug wala gipirmahan sa Awtoridad sa Sertipiko.

Kini ang among paglaum nga mahimo ka na makapadayon ug makahimo ug mag-install sa usa ka self-signed SSL certificate sa Apache localhost web server sa CentOS 8.