RHCE seriýasy: Apache üçin Network Security Service (NSS) ulanyp, TLS arkaly HTTPS-i durmuşa geçirmek - 8-nji bölüm


Web serwerini goldamak we goramak üçin ulgam dolandyryjysy bolsaňyz, serweriňiz tarapyndan hyzmat edilýän ýa-da geçýän maglumatlaryň elmydama goralmagyny üpjün etmek üçin iň güýçli güýjüňizi sarp edip bilmersiňiz.

Web müşderileri bilen serwerleriň arasynda has ygtybarly aragatnaşyk üpjün etmek üçin, HTTPS protokoly HTTP we SSL (Secure Sockets Layer) ýa-da has ýakyn wagtda TLS (Transport Layer Security) kombinasiýasy hökmünde dünýä indi.

Howpsuzlygyň käbir çynlakaý bozulmalary sebäpli SSL has ygtybarly TLS-iň peýdasyna köneldi. Şol sebäpli, bu makalada web serweriňiz bilen TLS ulanyp müşderileriň arasynda baglanyşyklary nädip goramalydygyny düşündireris.

Bu gollanma, Apache web serweriňizi eýýäm gurnadyňyz we düzdiňiz. Notok bolsa, dowam etmezden ozal şu sahypadaky indiki makala serediň.

  1. RHEL/CentOS 7-de LAMP (Linux, MySQL/MariaDB, Apache we PHP) guruň

OpenSSL we Utilities gurmak

Ilki bilen, Apache-iň işleýändigine we http we https-iň diwar diwary arkaly rugsat berilýändigine göz ýetiriň:

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

Soňra zerur paketleri guruň:

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

Üns beriň: TLS-i durmuşa geçirmek üçin NSS (Network Security Service) ýerine OpenSSL kitaphanalaryny ulanmak isleseňiz, ýokardaky buýrukda mod_nss-i mod_ssl bilen çalşyp bilersiňiz, ýadyňyzdan çykarmaň, haýsysyny ulanmak size bagly, ýöne NSS ulanarys has ygtybarly bolany üçin bu makalada, mysal üçin PKCS # 11 ýaly soňky kriptografiýa standartlaryny goldaýar).

Netijede, mod_nss ýa-da tersine ulanmagy saýlasaňyz, mod_ssl-i aýyryň.

# yum remove mod_ssl

NSS-i sazlamak (Tor howpsuzlygy gullugy)

Mod_nss gurlandan soň, deslapky konfigurasiýa faýly /etc/httpd/conf.d/nss.conf görnüşinde döredilýär. Soňra “Diňlemek” we “VirtualHost” görkezmeleriniň hemmesiniň 443-nji porta (HTTPS üçin başlangyç port) degişlidigine göz ýetiriň:

Listen 443
VirtualHost _default_:443

Soňra Apache-i täzeden açyň we mod_nss modulynyň ýüklenendigini ýa-da ýokdugyny barlaň:

# apachectl restart
# httpd -M | grep nss

Ondan soň, /etc/httpd/conf.d/nss.conf konfigurasiýa faýlynda aşakdaky üýtgeşmeler girizilmeli:

1. NSS maglumat bazasynyň katalogyny görkeziň. Adaty katalogy ulanyp ýa-da täzesini döredip bilersiňiz. Bu gollanmada deslapky ulanarys:

NSSCertificateDatabase /etc/httpd/alias

2. Her ulgamda paroly /etc/httpd/nss-db-password.conf sahypasyndaky paroly ýatda saklamakdan başlaň:

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

Nirede /etc/httpd/nss-db-password.conf Diňe aşakdaky setiri öz içine alýar we mypassword NSS maglumatlar bazasy üçin soň goýjak parolyňyzdyr:

internal:mypassword

Mundan başga-da, rugsatlary we eýeçiligi 0640 we kök: degişlilikde apache:

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

3. Red Hat, POODLE SSLv3 gowşaklygy sebäpli SSL-i we TLSv1.0-dan öňki ähli wersiýalaryny öçürmegi maslahat berýär (has giňişleýin maglumat şu ýerde).

NSSProtocol direktiwasynyň her mysalynyň aşakdaky ýaly okaýandygyna göz ýetiriň (beýleki wirtual hostlary kabul etmeýän bolsaňyz, diňe birini tapyp bilersiňiz):

NSSProtocol TLSv1.0,TLSv1.1

4. Apache gaýtadan işlemekden ýüz öwürer, sebäbi bu öz-özüne gol çekilen şahadatnama we emitentiň güýjüni ykrar etmeýär. Şol sebäpli bu aýratyn ýagdaýda goşmaly bolarsyňyz:

NSSEnforceValidCerts off

5. Gaty talap edilmese-de, NSS maglumatlar bazasy üçin parol bellemek möhümdir:

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