Siri RHCE Melaksanakan HTTPS melalui TLS Menggunakan Perkhidmatan Keselamatan Rangkaian (NSS) untuk Apache - Bahagian 8

Siri RHCE Melaksanakan HTTPS melalui TLS Menggunakan Perkhidmatan Keselamatan Rangkaian (NSS) untuk Apache - Bahagian 8

Sekiranya anda adalah pentadbir sistem yang bertanggungjawab mengekalkan dan mendapatkan pelayan web, anda tidak mampu untuk tidak menumpukan usaha terbaik anda untuk memastikan data yang disampaikan oleh atau melalui pelayan anda dilindungi pada setiap masa.

Siri RHCE: Melaksanakan HTTPS melalui TLS Menggunakan Perkhidmatan Keselamatan Rangkaian (NSS) untuk Apache - Bahagian 8

Untuk menyediakan komunikasi yang lebih selamat antara pelanggan dan pelayan web, Https protokol dilahirkan sebagai gabungan Http dan SSL (Lapisan soket selamat) atau lebih baru -baru ini, TLS (Keselamatan lapisan pengangkutan).

Kerana beberapa pelanggaran keselamatan yang serius, SSL telah ditetapkan semula memihak kepada yang lebih mantap TLS. Atas sebab itu, dalam artikel ini, kami akan menerangkan bagaimana untuk menjamin hubungan antara pelayan web dan pelanggan anda menggunakan TLS.

Tutorial ini mengandaikan bahawa anda telah memasang dan mengkonfigurasi pelayan web Apache anda. Jika tidak, sila rujuk artikel berikut di laman web ini sebelum meneruskan lagi.

  1. Pasang Lampu (Linux, MySQL/MariaDB, Apache dan PHP) di RHEL/CentOS 7

Pemasangan OpenSSL dan Utiliti

Pertama, pastikannya Apache sedang berjalan dan kedua -duanya http dan https dibenarkan melalui firewall:

# Systemctl Mula Http # SystemCtl Dayakan Http # Firewall-Cmd --PerManent --Add-Service = Http # Firewall-Cmd --PerManent --Add-Service = Https 

Kemudian pasang pakej yang diperlukan:

# yum kemas kini && yum memasang openssl mod_nss crypto-utils 

Penting: Sila ambil perhatian bahawa anda boleh menggantikannya mod_nss dengan mod_ssl dalam perintah di atas jika anda mahu menggunakan OpenSSL perpustakaan bukan NSS (Perkhidmatan Keselamatan Rangkaian) untuk melaksanakan TLS (Yang mana yang hendak digunakan sepenuhnya kepada anda, tetapi kami akan menggunakan NSS dalam artikel ini kerana ia lebih mantap; sebagai contoh, ia menyokong piawaian kriptografi baru -baru ini seperti PKCS #11).

Akhirnya, nyahpasang mod_ssl Sekiranya anda memilih untuk menggunakan mod_nss, atau sebaliknya.

# yum keluarkan mod_ssl 

Mengkonfigurasi NSS (Perkhidmatan Keselamatan Rangkaian)

Selepas mod_nss dipasang, fail konfigurasi lalai dibuat sebagai /etc/httpd/conf.D/NSS.Conf. Anda kemudian harus memastikan bahawa semua Dengarkan dan Virtualhost Arahan menunjuk ke pelabuhan 443 (port lalai untuk https):

NSS.conf - fail konfigurasi
Dengar 443 VirtualHost _default_: 443 

Kemudian mulakan semula Apache dan periksa sama ada mod_nss Modul telah dimuatkan:

# Apachectl Restart # httpd -m | Grep NSS 
Periksa mod_nss modul yang dimuatkan di Apache

Seterusnya, suntingan berikut harus dibuat /etc/httpd/conf.D/NSS.Conf Fail Konfigurasi:

1. Nyatakan direktori pangkalan data NSS. Anda boleh menggunakan direktori lalai atau membuat yang baru. Dalam tutorial ini kita akan menggunakan lalai:

Nsscertificateedatabase/etc/httpd/alias 

2. Elakkan entri laluan laluan manual pada setiap sistem bermula dengan menyimpan kata laluan ke direktori pangkalan data di /etc/httpd/nss-db-pass.Conf:

Fail nsspassphrasedialog:/etc/httpd/nss-db-password.Conf 

Di mana /etc/httpd/nss-db-pass.Conf hanya mengandungi baris berikut dan mypassword Adakah kata laluan yang akan anda tetapkan kemudian untuk pangkalan data NSS:

Dalaman: MyPassword 

Di samping itu, kebenaran dan pemilikannya harus ditetapkan 0640 dan Root: Apache, masing -masing:

# CHMOD 640/etc/httpd/nss-db-pass.conf # chgrp apache/etc/httpd/nss-db-password.Conf 

3. Red Hat mengesyorkan melumpuhkan SSL dan semua versi TLS Sebelumnya TLSV1.0 disebabkan oleh POODLE SSLV3 kelemahan (maklumat lanjut di sini).

Pastikan setiap contoh Nssprotocol Arahan berbunyi seperti berikut (anda mungkin hanya mencari satu jika anda tidak menganjurkan tuan rumah maya lain):

NSSPROTOCOL TLSV1.0, TLSV1.1 

4. Apache akan menolak untuk memulakan semula kerana ini adalah sijil yang ditandatangani sendiri dan tidak akan mengenali penerbit sebagai sah. Atas sebab ini, dalam kes ini, anda perlu menambah:

Nssenforcevalidcerts off 

5. Walaupun tidak diperlukan dengan ketat, adalah penting untuk menetapkan kata laluan untuk pangkalan data NSS:

# certutil -w -d/etc/httpd/alias 
Tetapkan kata laluan untuk halaman pangkalan data NSS: 1 2