RHCE Series Menerapkan HTTPS melalui TLS Menggunakan Layanan Keamanan Jaringan (NSS) untuk Apache - Bagian 8

RHCE Series Menerapkan HTTPS melalui TLS Menggunakan Layanan Keamanan Jaringan (NSS) untuk Apache - Bagian 8

Jika Anda seorang administrator sistem yang bertugas mempertahankan dan mengamankan server web, Anda tidak dapat tidak mencurahkan upaya terbaik Anda untuk memastikan bahwa data yang dilayani atau melalui server Anda dilindungi setiap saat.

Seri RHCE: Menerapkan HTTPS melalui TLS Menggunakan Layanan Keamanan Jaringan (NSS) untuk Apache - Bagian 8

Untuk memberikan komunikasi yang lebih aman antara klien web dan server, Https Protokol dilahirkan sebagai kombinasi dari Http Dan SSL (Lapisan Soket Aman) atau lebih baru, Tls (Keamanan Lapisan Transportasi).

Karena beberapa pelanggaran keamanan yang serius, SSL telah terpisah dalam mendukung yang lebih kuat Tls. Untuk alasan itu, dalam artikel ini kami akan menjelaskan cara mengamankan koneksi antara server web Anda dan klien menggunakan TLS.

Tutorial ini mengasumsikan bahwa Anda telah menginstal dan mengonfigurasi server web Apache Anda. Jika tidak, silakan merujuk ke artikel berikut di situs ini sebelum melanjutkan lebih lanjut.

  1. Instal Lampu (Linux, MySQL/MariADB, Apache dan PHP) di Rhel/Centos 7

Pemasangan openssl dan utilitas

Pertama, pastikan itu Apache sedang berjalan dan keduanya http Dan https diizinkan melalui firewall:

# Systemctl Mulai http # systemctl Aktifkan http # firewall-cmd --permanent --add-service = http # firewall-cmd --permanent --add-service = https 

Kemudian pasang paket yang diperlukan:

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

Penting: Harap dicatat bahwa Anda dapat mengganti mod_nss dengan mod_ssl dalam perintah di atas jika Anda ingin menggunakan Openssl perpustakaan bukannya NSS (Layanan Keamanan Jaringan) untuk melaksanakan Tls (mana yang digunakan sepenuhnya terserah Anda, tetapi kami akan menggunakan NSS dalam artikel ini karena lebih kuat; misalnya, ini mendukung standar kriptografi baru -baru ini seperti PKC #11).

Akhirnya, uninstall mod_ssl Jika Anda memilih untuk menggunakan mod_nss, atau sebaliknya.

# yum hapus mod_ssl 

Mengkonfigurasi NSS (Layanan Keamanan Jaringan)

Setelah mod_nss diinstal, file konfigurasi default dibuat sebagai /etc/httpd/conf.D/NSS.conf. Anda kemudian harus memastikan bahwa semua Mendengarkan Dan VirtualHost Arahan menunjuk ke port 443 (port default untuk https):

NSS.Conf - File Konfigurasi
Dengarkan 443 VirtualHost _Default_: 443 

Lalu restart Apache dan periksa apakah mod_nss Modul telah dimuat:

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

Selanjutnya, pengeditan berikut harus dilakukan /etc/httpd/conf.D/NSS.conf File Konfigurasi:

1. Menunjukkan direktori database NSS. Anda dapat menggunakan direktori default atau membuat yang baru. Dalam tutorial ini kita akan menggunakan default:

Nsscertificatedatabase/etc/httpd/alias 

2. Hindari entri frasa sandi manual pada setiap sistem, mulailah dengan menyimpan kata sandi ke direktori database di /etc/httpd/nss-db-password.conf:

File NSSPASSPHRASEALOG:/etc/httpd/nss-db-password.conf 

Di mana /etc/httpd/nss-db-password.conf hanya berisi baris berikut dan MyPassword adalah kata sandi yang akan Anda tetapkan nanti untuk database NSS:

Internal: MyPassword 

Selain itu, izin dan kepemilikannya harus diatur 0640 Dan Root: Apache, masing -masing:

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

3. Red Hat merekomendasikan untuk menonaktifkan SSL dan semua versi Tls sebelum Tlsv1.0 karena Poodle SSLV3 Kerentanan (informasi lebih lanjut di sini).

Pastikan bahwa setiap contoh dari Nssprotocol Directive Reads sebagai berikut (Anda cenderung menemukan hanya satu jika Anda tidak hosting host virtual lainnya):

NSSPROTOCOL TLSV1.0, TLSV1.1 

4. Apache akan menolak untuk memulai kembali karena ini adalah sertifikat yang ditandatangani sendiri dan tidak akan mengakui penerbit sebagai valid. Untuk alasan ini, dalam kasus khusus ini Anda harus menambahkan:

Nssenforcevalidcerts off 

5. Meskipun tidak dibutuhkan secara ketat, penting untuk mengatur kata sandi untuk database NSS:

# certutil -w -d/etc/httpd/alias 
Setel Kata Sandi untuk Halaman Database NSS: 1 2