Usoro RHCE: Na-eme HTTPS site na TLS site na iji Ọrụ Nchekwa Network (NSS) maka Apache - Nkebi 8


Ọ bụrụ na ị bụ onye na-ahụ maka sistemụ na-ahụ maka idobe na ichekwa sava weebụ, ị gaghị enwe ike itinye mgbalị kachasị mma iji hụ na echekwara data ma ọ bụ na-aga na sava gị na-echekwa oge niile.

Iji nyekwuo nzikọrịta ozi echekwara n'etiti ndị ahịa webụ na sava, a mụrụ protocol HTTPS dị ka ngwakọta HTTP na SSL (Secure Sockets Layer) ma ọ bụ n'oge na-adịbeghị anya, TLS (Transport Layer Security).

N'ihi ụfọdụ mmebi nchekwa siri ike, SSL emebiela maka TLS siri ike karị. Maka nke ahụ, n'isiokwu a, anyị ga-akọwa otu esi echekwa njikọ n'etiti sava weebụ gị na ndị ahịa na-eji TLS.

Nkuzi a na-eche na ị tinyelarị ma hazie sava weebụ Apache gị. Ọ bụrụ na ọ bụghị, biko rụtụ aka na akụkọ na-esonụ na saịtị a tupu ịga n'ihu.

  1. Wụnye LAMP (Linux, MySQL/MariaDB, Apache na PHP) na RHEL/CentOS 7

Nwụnye nke OpenSSL na Utilities

Nke mbụ, jide n'aka na Apache na-agba ọsọ nakwa na a na-ahapụ ma http na https site na firewall:

# systemctl start http
# systemctl enable http
# firewall-cmd --permanent –-add-service=http
# firewall-cmd --permanent –-add-service=https

Mgbe ahụ wụnye ngwugwu ndị dị mkpa:

# yum update && yum install openssl mod_nss crypto-utils

Ihe dị mkpa: Biko mara na ị nwere ike dochie mod_nss na mod_ssl na iwu dị n'elu ma ọ bụrụ na ịchọrọ iji OpenSSL ọba akwụkwọ kama NSS (Network Security Service) iji mejuputa TLS (nke ị ga-eji bụ nke dịịrị gị kpamkpam, mana anyị ga-eji NSS). N'ime edemede a ka ọ na-esiwanye ike; dịka ọmụmaatụ, ọ na-akwado ụkpụrụ nzuzo nzuzo dị ka PKCS #11).

N'ikpeazụ, wepụ mod_ssl ma ọ bụrụ na ị họọrọ iji mod_nss, ma ọ bụ viceversa.

# yum remove mod_ssl

Na-ahazi NSS (ọrụ nchekwa netwọkụ)

Mgbe emechara mod_nss, a na-emepụta faịlụ nhazi ya dị ka /etc/httpd/conf.d/nss.conf. Ịkwesịrị ijide n'aka na ntụziaka niile Listen and VirtualHost na-arụtụ aka na ọdụ ụgbọ mmiri 443 (ọdụ ụgbọ mmiri maka HTTPS):

Listen 443
VirtualHost _default_:443

Mgbe ahụ malitegharịa Apache wee lelee ma ebugola mod_nss modul:

# apachectl restart
# httpd -M | grep nss

Na-esote, a ga-eme ndezi ndị a na faịlụ nhazi /etc/httpd/conf.d/nss.conf:

1. gosi NSS nchekwa data ndekọ. Ị nwere ike iji ndekọ ndabara ma ọ bụ mepụta nke ọhụrụ. N'ime nkuzi a, anyị ga-eji ndabara:

NSSCertificateDatabase /etc/httpd/alias

2. Zere ntinye passphrase akwụkwọ ntuziaka na sistemụ ọ bụla na-amalite site na ịchekwa paswọọdụ na ndekọ nchekwa data na /etc/httpd/nss-db-password.conf:

NSSPassPhraseDialog file:/etc/httpd/nss-db-password.conf

Ebe /etc/httpd/nss-db-password.conf nwere naanị ahịrị na-esonụ na mypassword bụ paswọọdụ ị ga-edozi ma emechaa maka nchekwa data NSS:

internal:mypassword

Na mgbakwunye, ekwesịrị ịtọ ikikere na ikike ya na 0640 yana mgbọrọgwụ: Apache, otu:

# chmod 640 /etc/httpd/nss-db-password.conf
# chgrp apache /etc/httpd/nss-db-password.conf

3. Red Hat na-atụ aro ka ị gbanyụọ SSL na ụdị TLS niile gara aga na TLSv1.0 n'ihi adịghị ike POODLE SSLv3 (ozi ndị ọzọ ebe a).

Jide n'aka na ihe atụ ọ bụla nke ntuziaka NSProtocol na-agụ dị ka ndị a (ị nwere ike ịhụ naanị otu ma ọ bụrụ na ị naghị anabata ndị ọbịa mebere ndị ọzọ):

NSSProtocol TLSv1.0,TLSv1.1

4. Apache ga-ajụ ịmalitegharị n'ihi na nke a bụ akwụkwọ ejiri aka ya bịanye aka na ya ma ọ gaghị aghọta onye na-enye ya ka ọ dị irè. Maka nke a, n'ọnọdụ a, ị ga-agbakwunye:

NSSEnforceValidCerts off

5. Ọ bụ ezie na ọ bụghị nke ọma achọrọ, ọ dị mkpa ịtọ paswọọdụ maka nchekwa data NSS:

# certutil -W -d /etc/httpd/alias