Serje RHCE: L-implimentazzjoni ta' HTTPS permezz ta' TLS bl-użu tas-Servizz tas-Sigurtà tan-Netwerk (NSS) għal Apache - Parti 8
Jekk inti amministratur tas-sistema li huwa inkarigat li jżomm u jassigura web server, ma tistax taffordja li ma tiddedikax l-aħjar sforzi tiegħek biex tiżgura li d-dejta moqdija mis-server tiegħek jew li tgħaddi minnu tkun protetta l-ħin kollu.
Sabiex jiġu pprovduti komunikazzjonijiet aktar siguri bejn il-klijenti tal-web u s-servers, il-protokoll HTTPS twieled bħala kombinazzjoni ta 'HTTP u SSL (Secure Sockets Layer) jew aktar reċentement, TLS (Transport Layer Security).
Minħabba xi ksur serju tas-sigurtà, SSL ġie deprecato favur it-TLS aktar robust. Għal dik ir-raġuni, f'dan l-artikolu se nispjegaw kif niżguraw konnessjonijiet bejn is-server tal-web tiegħek u l-klijenti li jużaw TLS.
Dan it-tutorja jassumi li diġà installajt u kkonfigurajt is-server tal-web Apache tiegħek. Jekk le, jekk jogħġbok irreferi għall-artikolu li ġej f'dan is-sit qabel ma tkompli.
- Installa LAMP (Linux, MySQL/MariaDB, Apache u PHP) fuq RHEL/CentOS 7
Installazzjoni ta' OpenSSL u Utilitajiet
L-ewwelnett, kun żgur li Apache qed jaħdem u li kemm http u https huma permessi permezz tal-firewall:
# systemctl start http # systemctl enable http # firewall-cmd --permanent –-add-service=http # firewall-cmd --permanent –-add-service=https
Imbagħad installa l-pakketti meħtieġa:
# yum update && yum install openssl mod_nss crypto-utils
Importanti: Jekk jogħġbok innota li tista' tissostitwixxi mod_nss b'mod_ssl fil-kmand ta' hawn fuq jekk trid tuża libreriji OpenSSL minflok NSS (Servizz tas-Sigurtà tan-Netwerk) biex timplimenta TLS (liema waħda tuża titħalla kompletament f'idejk, iżda aħna se nużaw NSS f'dan l-artikolu peress li huwa aktar robust; pereżempju, jappoġġa standards riċenti tal-kriptografija bħal PKCS #11).
Fl-aħħarnett, iddiżinstalla mod_ssl jekk għażilt li tuża mod_nss, jew viċeversa.
# yum remove mod_ssl
Konfigurazzjoni tal-NSS (Servizz tas-Sigurtà tan-Netwerk)
Wara li mod_nss jiġi installat, il-fajl tal-konfigurazzjoni default tiegħu jinħoloq bħala /etc/httpd/conf.d/nss.conf. Imbagħad għandek tiżgura li d-direttivi Isma u VirtualHost kollha jindikaw il-port 443 (port default għal HTTPS):
Listen 443 VirtualHost _default_:443
Imbagħad erġa ibda Apache u iċċekkja jekk il-mod_nss modulu ġiex mgħobbi:
# apachectl restart # httpd -M | grep nss
Sussegwentement, il-modifiki li ġejjin għandhom isiru fil-fajl tal-konfigurazzjoni /etc/httpd/conf.d/nss.conf
:
1. Indika direttorju tad-database tal-NSS. Tista' tuża d-direttorju default jew toħloq wieħed ġdid. F'dan it-tutorja se nużaw il-default:
NSSCertificateDatabase /etc/httpd/alias
2. Evita d-dħul manwali tal-passphrase fuq kull sistema ibda billi tissejvja l-password fid-direttorju tad-database f'/etc/httpd/nss-db-password.conf:
NSSPassPhraseDialog file:/etc/httpd/nss-db-password.conf
Fejn /etc/httpd/nss-db-password.conf fih BISS il-linja li ġejja u mypassword hija l-password li inti ser issettja aktar tard għad-database tal-NSS:
internal:mypassword
Barra minn hekk, il-permessi u s-sjieda tiegħu għandhom ikunu ssettjati għal 0640 u root:apache, rispettivament:
# chmod 640 /etc/httpd/nss-db-password.conf # chgrp apache /etc/httpd/nss-db-password.conf
3. Red Hat jirrakkomanda li SSL u l-verżjonijiet kollha ta 'TLS qabel TLSv1.0 jiskonnettjaw minħabba l-vulnerabbiltà POODLE SSLv3 (aktar informazzjoni hawn).
Kun żgur li kull istanza tad-direttiva NSSProtocol taqra kif ġej (x'aktarx li ssib waħda biss jekk m'intix qed tospita hosts virtwali oħra):
NSSProtocol TLSv1.0,TLSv1.1
4. Apache se jirrifjuta li jerġa 'jibda peress li dan huwa ċertifikat iffirmat minnu nnifsu u mhux se jirrikonoxxi lill-emittent bħala validu. Għal din ir-raġuni, f'dan il-każ partikolari jkollok iżżid:
NSSEnforceValidCerts off
5. Għalkemm mhux strettament meħtieġ, huwa importanti li tissettja password għad-database tal-NSS:
# certutil -W -d /etc/httpd/alias