Cara Memasang Let's Encrypt Sijil SSL Untuk Mengamankan Nginx pada RHEL 9/8

Cara Memasang Let's Encrypt Sijil SSL Untuk Mengamankan Nginx pada RHEL 9/8

Dalam artikel ini, kami akan membimbing anda tentang cara menjana dan memasang sijil SSL/TLS yang diperoleh secara percuma Mari enkripsi Pihak Berkuasa Sijil yang akan kami gunakan untuk mengamankan transaksi HTTP Nginx Webserver pada pengagihan RHEL dan RHEL seperti Fedora, Rocky Linux dan Almalinux.

Sekiranya anda ingin memasang Mari enkripsi Untuk Apache mengenai pengagihan RHEL dan RHEL, ikuti panduan ini di bawah:

[Anda mungkin juga suka: Cara Memasang Let's Encrypt Sijil SSL Untuk Mengamankan Apache pada Sistem RHEL]

Keperluan

  • Nama domain berdaftar dengan sah A Rekod DNS untuk menunjuk kembali ke alamat IP awam pelayan.
  • Server Web Nginx Dipasang dengan SSL Diaktifkan dan Hos Maya diaktifkan (hanya untuk pelbagai domain atau hosting subdomain).

Persediaan Persekitaran Ujian Kami

Persediaan https dengan membolehkan enkripsi untuk mendapatkan nginx di rhel

Langkah 1: Pasang pelayan web nginx dalam sistem rhel

1. Pada langkah pertama, sekiranya anda tidak mempunyai Nginx Daemon sudah dipasang, mengeluarkan arahan di bawah dengan keistimewaan root untuk memasang Nginx Webserver dari Epel Repositories.

------------- Di Rhel, Rocky & Almalinux 9 ------------- # DNF Pasang https: // dl.Fedoraproject.org/pub/epel/epel-release-latest-9.Noarch.rpm ------------- Di Rhel, Rocky & Almalinux 8 ------------- # DNF Pasang https: // dl.Fedoraproject.org/pub/epel/epel-release-latest-8.Noarch.rpm ------------- Pasang pelayan web nginx ------------- # yum pasang nginx 

Catatan: Pengguna fedora tidak perlu memasang repositori epel.

Langkah 2: Pasang Let's Encrypt (CertBot) dalam Sistem RHEL

2. Kaedah terpantas memasang klien Let's Encrypt pada sistem linux adalah dengan memasang Certbot dan python3-certbot-nginx Pakej dari repositori Epel.

# DNF Pasang Certbot Python3-CertBot-Nginx 
Pasang certbot untuk nginx pada sistem rhel

3. Selepas Certbot Pelanggan telah dipasang, sahkan versi yang dipasang Let's Encrypt Software dengan menjalankan arahan di bawah:

# certbot --version Certbot 1.30.0 

Langkah 3: Dapatkan Sijil SSL Let's Free untuk Nginx

4. Proses mendapatkan percuma Sijil SSL/TLS untuk Nginx akan dilakukan secara manual dengan menggunakan Mari enkripsi mandiri pasangkan.

Kaedah ini memerlukan pelabuhan itu 80 mesti bebas pada masa itu Mari enkripsi Pelanggan mengesahkan identiti pelayan dan menjana sijil.

Jadi, jika nginx sudah berjalan, hentikan daemon dengan arahan berikut dan jalankan utiliti SS untuk mengesahkan bahawa port 80 tidak lagi digunakan dalam timbunan rangkaian.

# Service Nginx Stop # Systemctl Stop Nginx # Ss -tln 
Periksa port rangkaian mendengar-

5. Kini tiba masanya untuk mendapatkan sijil SSL percuma dari Mari enkripsi dengan menjalankan Certbot perintah dengan --nginx Untuk memulakan pengambilan dan konfigurasi Sijil Keselamatan Let's Enrypt untuk Domain Nginx.

# certbot --nginx atau # certbot --nginx -d contoh.com -d www.Contoh.com 
Pasang Lets Sijil Sulit untuk Domain Nginx

6. Akhirnya, jika semuanya berjalan sebagaimana mestinya, mesej maklumat tahniah akan ditunjukkan di terminal bash anda. Mesej juga akan dipaparkan apabila sijil akan tamat.

LetsEncrypt selesai selesai

Langkah 4: Pasang mari enkripsi sijil SSL di nginx

9. Sekarang anda memiliki percuma Sijil SSL/TLS, Sudah tiba masanya untuk memasangnya di webserver nginx agar domain anda menggunakannya.

Semua sijil SSL baru diletakkan di /etc/letsencrypt/live/ di bawah direktori yang dinamakan sempena nama domain anda. Gunakan arahan LS untuk menyenaraikan fail sijil yang dikeluarkan untuk domain anda dan mengenal pasti mereka.

# sudo ls/etc/letsencrypt/live/ # sudo ls -al/etc/letsencrypt/live/your_domain.tld 
Sijil SSL LetsEncrypt

10. Untuk memasang fail sijil di nginx dan aktifkan SSL, buka /etc/nginx/nginx.Conf Fail untuk mengedit dan tambahkan pernyataan di bawah selepas garis pendengaran terakhir dari blok pelayan. Gunakan ilustrasi di bawah sebagai panduan.

# vi/etc/nginx/nginx.Conf 

Nginx SSL Block Petikan:

# Konfigurasi SSL Dengar 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'; 
Dayakan HTTPS pada konfigurasi Nginx

Ganti nama domain String untuk sijil SSL untuk memadankan domain anda sendiri.

11. Akhirnya, mulakan semula Nginx perkhidmatan dan lawati domain anda melalui protokol HTTPS di https: // yourdomain. Halaman harus dimuatkan dengan lancar, tanpa sebarang ralat sijil.

# Systemctl Mulakan semula Nginx # Service Nginx Restart 

12. Untuk mengesahkan SSL/TLS sijil dan kelangsungan lurusnya melawat pautan berikut:

https: // www.ssllabs.com/ssltest/analisis.html 
Sahkan Lets Sijil Sijil di Domain Sahkan sijil SSL HTTPS di Domain

13. Sekiranya anda mendapat pemberitahuan bahawa pelayan anda menyokong lemah DH pertukaran utama dan penarafan keseluruhan B gred, menghasilkan yang baru Diffie-Hellman cipher dalam /etc/nginx/ssl/ direktori untuk melindungi pelayan anda terhadap Logjam serangan dengan menjalankan arahan berikut.

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

Dalam contoh ini kami telah menggunakan a 4096 Kunci Bit, yang sebenarnya memerlukan masa yang lama untuk menjana dan meletakkan overhead tambahan pada pelayan anda dan di jabat tangan SSL.

Sekiranya tidak ada keperluan yang jelas untuk menggunakan kunci ini lama dan anda tidak akan paranoid, anda harus selamat dengan 2048 kekunci bit.

14. Selepas DH kunci telah dijana, buka fail konfigurasi nginx dan tambahkan pernyataan di bawah selepas ssl_ciphers garis untuk menambah kunci DH dan meningkatkan tahap keselamatan domain anda ke A+ gred.

# vi/etc/nginx/nginx.Conf 

Tambahkan petikan blok berikut ke Nginx.Conf:

ssl_dhparam/etc/nginx/ssl/dhparams.PEM; ssl_session_timeout 30m; ssl_session_cache dikongsi: ssl: 10m; ssl_buffer_size 8k; add_header ketat-pengangkutan-keselamatan max-age = 31536000; 
Tambah Ciphers Diffie-Hellman ke konfigurasi Nginx

15. Mula semula Nginx perkhidmatan untuk menggunakan perubahan dan menguji semula sijil SSL anda dengan membersihkan cache hasil sebelumnya dari pautan yang disebutkan di atas.

# Systemctl Mulakan semula Nginx # Service Nginx Restart 
Sahkan Sijil SSL LetsEncrypt di laman web

Langkah 5: Auto Renew Nginx Percuma Membiarkan Sijil SSL

16. Mari enkripsi ca siaran percuma SSL/TLS sijil yang sah untuk 90 hari. Sijil boleh diperbaharui secara manual dan digunakan sebelum tamat tempoh menggunakan plugin Webroot, tanpa menghentikan pelayan web anda, dengan mengeluarkan arahan di bawah:

# certbot --nginx -d contoh.com -d www.Contoh.com # Systemctl Reload nginx 

Semasa menjalankan arahan di atas pastikan anda menggantikannya Contoh.com untuk memadankan domain anda.

17. Untuk memperbaharui auto sijil sebelum tamat tempoh membuat kerja cron ke fail crontab sedia ada.

# Crontab -e 

Tambahkan pekerjaan Cron berikut di bahagian bawah fail, yang akan berjalan setiap hari pada tengah hari untuk memeriksa tamat tempoh sijil dan memperbaharuinya. The --senyap Pilihan memberitahu Certbot untuk tidak menjana output.

0 12 * * */usr/bin/certbot pembaharuan --quiet 

Itu sahaja! Sekarang, Nginx Pelayan dapat memberikan kandungan web yang selamat dengan percuma Ssl/tls mari kita enkripsi sijil di laman web anda.