Cara Menginstal Sertifikat SSL Ayo untuk Mengamankan Nginx di RHEL 9/8

Cara Menginstal Sertifikat SSL Ayo untuk Mengamankan Nginx di RHEL 9/8

Di artikel ini, kami akan memandu Anda tentang cara menghasilkan dan menginstal sertifikat SSL/TLS yang diperoleh secara gratis Mari Enkripsi Otoritas Sertifikat yang akan kami gunakan untuk mengamankan transaksi HTTP webserver NGINX pada distribusi berbasis RHEL dan RHEL seperti Fedora, Linux Rocky Dan Almalinux.

Jika Anda ingin menginstal Mari Enkripsi Untuk Apache pada distribusi berbasis RHEL dan RHEL, ikuti panduan ini di bawah ini:

[Anda mungkin juga suka: cara menginstal Let's Encrypt SSL Certificate untuk mengamankan Apache di RHEL Systems]

Persyaratan

  • Nama domain terdaftar dengan valid A Catatan DNS untuk mengarah kembali ke alamat IP publik server.
  • Nginx Web Server yang diinstal dengan SSL diaktifkan dan host virtual diaktifkan (hanya untuk beberapa domain atau subdomains hosting).

Pengaturan Lingkungan Pengujian Kami

Siapkan https dengan mari enkripsi untuk mengamankan nginx di rhel

Langkah 1: Instal Nginx Web Server di RHEL Systems

1. Pada langkah pertama, jika Anda tidak punya Nginx Daemon yang sudah diinstal, keluarkan perintah di bawah ini dengan hak istimewa root untuk menginstal Nginx WebServer dari repositori EPEL.

------------- Di Rhel, Rocky & Almalinux 9 ------------- # DNF Instal https: // dl.Fedoraproject.org/pub/epel/epel-release-latest-9.Noarch.RPM ------------- On Rhel, Rocky & Almalinux 8 ------------- # DNF Instal https: // dl.Fedoraproject.org/pub/epel/epel-release-latest-8.Noarch.RPM ------------- Instal Nginx Web Server ------------- # yum instal nginx 

Catatan: Pengguna Fedora tidak perlu menginstal repositori EPEL.

Langkah 2: Instal Let's Encrypt (Certbot) di RHEL Systems

2. Metode tercepat untuk menginstal klien Let's Encrypt pada sistem Linux adalah dengan menginstal certbot Dan python3-certbot-nginx Paket dari repositori EPEL.

# DNF menginstal certbot python3-certbot-nginx 
Instal Certbot untuk Nginx di RHEL Systems

3. Setelah certbot Klien telah diinstal, verifikasi versi yang diinstal dari Let's Encrypt Software dengan menjalankan perintah di bawah ini:

# certbot --version Certbot 1.30.0 

Langkah 3: Dapatkan Sertifikat SSL Mari Gratis untuk Nginx

4. Proses mendapatkan gratis Sertifikat SSL/TLS untuk Nginx akan dilakukan secara manual dengan menggunakan Mari Enkripsi Standalone plugin.

Metode ini membutuhkan port itu 80 Harus gratis selama itu Mari Enkripsi Klien memvalidasi identitas server dan menghasilkan sertifikat.

Jadi, jika nginx sudah berjalan, hentikan daemon dengan perintah berikut dan jalankan utilitas SS untuk mengonfirmasi bahwa port 80 tidak lagi digunakan di tumpukan jaringan.

# Service nginx stop # systemctl stop nginx # ss -tln 
Periksa port jaringan mendengarkan-

5. Sekarang saatnya untuk mendapatkan sertifikat SSL gratis dari Mari Enkripsi dengan menjalankan certbot perintah dengan --Nginx Untuk menginisialisasi pengambilan dan konfigurasi Let's Encrypt Security Certificate untuk Domain Nginx.

# certbot ---nginx atau # certbot ---nginx -d contoh.com -D www.contoh.com 
Instal mari kita enkripsi sertifikat untuk domain nginx

6. Akhirnya, jika semuanya berjalan sebagaimana mestinya, pesan info ucapan selamat akan ditampilkan di terminal bash Anda. Pesan juga akan ditampilkan saat sertifikat akan kedaluwarsa.

Letsencrypt Instalasi selesai

Langkah 4: Instal Let's Encrypt SSL Certificate di Nginx

9. Sekarang Anda memiliki gratis Sertifikat SSL/TLS, Saatnya menginstalnya di Nginx WebServer agar domain Anda dapat menggunakannya.

Semua sertifikat SSL baru ditempatkan /etc/letsencrypt/live/ di bawah direktori yang dinamai nama domain Anda. Gunakan perintah LS untuk mencantumkan file sertifikat yang dikeluarkan untuk domain Anda dan mengidentifikasi mereka.

# sudo ls/etc/letsencrypt/live/ # sudo ls -al/etc/letsencrypt/live/your_domain.tld 
Letsencrypt sertifikat SSL

10. Untuk menginstal file sertifikat di nginx dan mengaktifkan SSL, buka /etc/nginx/nginx.conf file untuk mengedit dan menambahkan pernyataan di bawah ini setelah baris mendengarkan terakhir dari blok server. Gunakan ilustrasi di bawah ini sebagai panduan.

# vi/etc/nginx/nginx.conf 

Kutipan blok Nginx SSL:

# Konfigurasi SSL Dengarkan 443 SSL Default_Server; ssl_certificate/etc/letsencrypt/live/your_domain.tld/fullchain.PEM; ssl_certificate_key/etc/letsencrypt/live/your_domain.tld/privkey.PEM; SSL_PROTOCOLS TLSV1 TLSV1.1 TLSV1.2; ssl_prefer_server_ciphers on; SSL_CIPHERS 'EECDH+AESGCM: EDH+AESGCM: AES256+EECDH: AES256+EDH'; 
Aktifkan https pada konfigurasi nginx

Ganti nama domain String untuk sertifikat SSL agar sesuai dengan domain Anda sendiri.

11. Akhirnya, restart Nginx layanan dan kunjungi domain Anda melalui protokol https di https: // yourdomain. Halaman harus memuat lancar, tanpa kesalahan sertifikat.

# Systemctl restart nginx # service nginx restart 

12. Untuk memverifikasi SSL/TLS Sertifikat dan kelurusannya kunjungi tautan berikut:

https: // www.ssllabs.com/ssltest/analisis.html 
Verifikasi mari kita enkripsi sertifikat di domain Verifikasi Sertifikat SSL HTTPS di Domain

13. Jika Anda mendapat pemberitahuan bahwa server Anda mendukung yang lemah Dh pertukaran utama dan peringkat keseluruhan B nilai, menghasilkan yang baru Diffie-Hellman Cipher di /etc/nginx/ssl/ direktori untuk melindungi server Anda dari Kemacetan Serang dengan menjalankan perintah berikut.

# mkdir/etc/nginx/ssl # cd/etc/nginx/ssl # openssl dhparam -out dhparams.PEM 4096 

Dalam contoh ini kami telah menggunakan a 4096 Bit Key, yang sebenarnya membutuhkan waktu lama untuk menghasilkan dan menempatkan overhead tambahan di server Anda dan pada jabat tangan SSL.

Jika tidak ada kebutuhan eksplisit untuk menggunakan kunci selama ini dan Anda tidak akan paranoid, Anda harus aman dengan a 2048 Kunci bit.

14. Setelah DH Kunci telah dihasilkan, buka file konfigurasi nginx dan tambahkan pernyataan di bawah ini setelah SSL_CIPHERS baris untuk menambahkan kunci DH dan naikkan tingkat keamanan domain Anda ke A+ nilai.

# vi/etc/nginx/nginx.conf 

Tambahkan kutipan blok berikut ke Nginx.conf:

ssl_dhparam/etc/nginx/ssl/dhparams.PEM; ssl_session_timeout 30m; SSL_SESSION_CACHE Dibagikan: SSL: 10m; SSL_BUFFER_SIZE 8K; add_header ketat-transport-keamanan max-usia = 31536000; 
Tambahkan Cipher Diffie-Hellman ke Konfigurasi Nginx

15. Mengulang kembali Nginx Layanan untuk menerapkan perubahan dan menguji ulang sertifikat SSL Anda dengan membersihkan cache hasil sebelumnya dari tautan yang disebutkan di atas.

# Systemctl restart nginx # service nginx restart 
Verifikasi LetsEncrypt Sertifikat SSL di Situs Web

Langkah 5: Auto Renew Nginx Free Memungkinkan Enkripsi Sertifikat SSL

16. Mari Enkripsi CA Rilis gratis SSL/TLS sertifikat berlaku untuk 90 hari -hari. Sertifikat dapat diperbarui dan diterapkan secara manual sebelum kedaluwarsa menggunakan plugin webroot, tanpa menghentikan server web Anda, dengan mengeluarkan perintah di bawah ini:

# certbot ---nginx -d contoh.com -D www.contoh.com # SystemCTL Reload nginx 

Saat menjalankan perintah di atas pastikan Anda mengganti contoh.com untuk mencocokkan domain Anda.

17. Untuk memperbaharui sertifikat secara otomatis sebelum kedaluwarsa membuat pekerjaan cron ke file crontab yang ada.

# crontab -e 

Tambahkan pekerjaan cron berikut di bagian bawah file, yang akan berjalan setiap hari pada siang hari untuk memeriksa kadaluwarsa sertifikat dan memperbaruinya. Itu --diam Opsi memberitahu certbot untuk tidak menghasilkan output.

0 12 * * */usr/bin/Certbot Renew -Quiet 

Itu saja! Sekarang, Nginx Server dapat memberikan konten web yang aman dengan gratis SSL/TLS Let's Encrypt Sertifikat di situs web Anda.