Serye sa RHCE: Pagpatuman sa HTTPS pinaagi sa TLS gamit ang Network Security Service (NSS) para sa Apache - Bahin 8


Kung ikaw usa ka administrador sa sistema nga nagdumala sa pagmentinar ug pagsiguro sa usa ka web server, dili nimo mahimo nga dili igugol ang imong labing kaayo nga mga paningkamot aron masiguro nga ang datos nga giserbisyuhan o pag-agi sa imong server mapanalipdan sa tanan nga mga panahon.

Aron makahatag ug mas luwas nga komunikasyon tali sa mga kliyente sa web ug mga server, ang HTTPS protocol natawo isip kombinasyon sa HTTP ug SSL (Secure Sockets Layer) o mas bag-o pa, TLS (Transport Layer Security).

Tungod sa pipila ka seryoso nga mga paglapas sa seguridad, ang SSL wala na gigamit pabor sa mas lig-on nga TLS. Tungod niana nga hinungdan, sa kini nga artikulo among ipasabut kung giunsa ang pagsiguro sa mga koneksyon tali sa imong web server ug mga kliyente gamit ang TLS.

Kini nga panudlo nagtuo nga imong na-install ug gi-configure ang imong Apache web server. Kung dili, palihog tan-awa ang mosunod nga artikulo niini nga site sa dili pa mopadayon.

  1. I-install ang LAMP (Linux, MySQL/MariaDB, Apache ug PHP) sa RHEL/CentOS 7

Pag-instalar sa OpenSSL ug Utilities

Una, siguruha nga ang Apache nagdagan ug ang http ug https gitugotan pinaagi sa firewall:

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

Dayon i-install ang gikinahanglan nga mga pakete:

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

Importante: Palihug timan-i nga mahimo nimong ilisan ang mod_nss sa mod_ssl sa command sa ibabaw kung gusto nimong gamiton ang mga librarya sa OpenSSL imbes nga NSS (Network Security Service) aron ipatuman ang TLS (kung asa ang gamiton kay naa ra kanimo, pero gamiton namo ang NSS niining artikuloha kay mas lig-on kini; pananglitan, nagsuporta kini sa bag-ong mga sumbanan sa cryptography sama sa PKCS #11).

Sa katapusan, i-uninstall ang mod_ssl kung gipili nimo nga gamiton ang mod_nss, o viceversa.

# yum remove mod_ssl

Pag-configure sa NSS (Network Security Service)

Human ma-install ang mod_nss, ang default configuration file niini gihimo isip /etc/httpd/conf.d/nss.conf. Kinahanglan nimong siguroon nga ang tanan nga mga direktiba sa Listen ug VirtualHost nagpunting sa port 443 (default nga pantalan alang sa HTTPS):

Listen 443
VirtualHost _default_:443

Dayon i-restart ang Apache ug susiha kung ang mod_nss module nakarga:

# apachectl restart
# httpd -M | grep nss

Sunod, ang mosunod nga mga pag-usab kinahanglang himoon sa /etc/httpd/conf.d/nss.conf configuration file:

1. Itudlo ang NSS database directory. Mahimo nimong gamiton ang default nga direktoryo o paghimo og bag-o. Niini nga panudlo atong gamiton ang default:

NSSCertificateDatabase /etc/httpd/alias

2. Likayi ang manual passphrase entry sa matag sistema magsugod pinaagi sa pagtipig sa password sa database directory sa /etc/httpd/nss-db-password.conf:

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

Diin ang /etc/httpd/nss-db-password.conf naglangkob LAMANG sa mosunod nga linya ug ang mypassword mao ang password nga imong itakda unya para sa NSS database:

internal:mypassword

Dugang pa, ang mga pagtugot ug pagpanag-iya niini kinahanglan nga ibutang sa 0640 ug gamut:apache, matag usa:

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

3. Girekomenda sa Red Hat ang pag-disable sa SSL ug ang tanan nga bersyon sa TLS kaniadto sa TLSv1.0 tungod sa pagkahuyang sa POODLE SSLv3 (dugang impormasyon dinhi).

Siguroha nga ang matag higayon sa NSSProtocol nga direktiba mabasa sama sa mosunod (malagmit makakita ka og usa lamang kung wala ka nag-host sa ubang mga virtual host):

NSSProtocol TLSv1.0,TLSv1.1

4. Ang Apache magdumili sa pagsugod pag-usab tungod kay kini usa ka gipirmahan sa kaugalingon nga sertipiko ug dili makaila sa nag-isyu nga balido. Tungod niini nga hinungdan, sa kini nga partikular nga kaso kinahanglan nimo nga idugang:

NSSEnforceValidCerts off

5. Bisag dili estrikto nga gikinahanglan, importante nga magbutang ug password para sa NSS database:

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