Cara Mengamankan Nginx dengan Let's Encrypt on Ubuntu dan Debian

Cara Mengamankan Nginx dengan Let's Encrypt on Ubuntu dan Debian

Mengikuti sebelumnya Mari Enkripsi tutorial tentang Apache SSL, Pada artikel ini kita akan membahas cara menghasilkan dan menginstal sertifikat SSL/TLS gratis yang dikeluarkan oleh Mari Enkripsi CA untuk Nginx server web di Ubuntu atau Debian.

Baca juga
  1. Amankan Apache Dengan Gratis Mari Enkripsi di Ubuntu dan Debian
  2. Instal Mari Enkripsi SSL Untuk Mengamankan Apache di Rhel dan Centos
Menguji lingkungan sampel
Instal mari kita enkripsi untuk mengamankan nginx di ubuntu dan debian

Persyaratan

  1. Domain terdaftar dengan DNS yang valid A Catatan untuk mengarah kembali ke alamat IP server Anda.
  2. Server Web Nginx yang diinstal dengan SSL dan VHOST yang diaktifkan, jika Anda berencana untuk meng -host beberapa domain atau subdomain.

Langkah 1: Menginstal server web nginx

1. Pada langkah pertama Instal Nginx Web Server, jika belum diinstal, dengan mengeluarkan perintah di bawah ini:

$ sudo apt-get install nginx 
Instal Nginx Web Server di Ubuntu 14.04 dan Debian 8

Langkah 2: Hasilkan Let's Encrypt SSL Certificate untuk Nginx

2. Sebelum menghasilkan sertifikat SSL/TLS gratis, instal Mari Enkripsi perangkat lunak di /usr/lokal/ hirarki sistem file dengan bantuan git Klien dengan mengeluarkan perintah di bawah ini:

$ sudo apt -get -y menginstal git $ cd/usr/local/$ sudo git clone https: // github.com/letsencrypt/letsencrypt 

3. Meskipun prosedur mendapatkan sertifikat untuk Nginx otomatis, Anda masih dapat secara manual membuat dan menginstal sertifikat SSL gratis untuk Nginx menggunakan plugin mandiri Encrypt Let's.

Metode ini membutuhkan port itu 80 tidak boleh digunakan pada sistem Anda untuk waktu yang singkat sementara mari kita enkripsi klien memvalidasi identitas server sebelum menghasilkan sertifikat.

Jika Anda sudah menjalankan Nginx, hentikan layanan dengan mengeluarkan perintah berikut.

$ sudo service nginx berhenti atau $ sudo systemctl stop nginx 

Jika Anda menjalankan layanan lain yang berikatan di port 80 Hentikan layanan itu juga.

4. Konfirmasi port itu 80 gratis dengan menjalankan perintah netstat:

$ sudo netstat -tlpn | grep 80 
Periksa port mendengarkan saat ini di Linux

5. Sekarang saatnya berlari Letsencrypt Untuk mendapatkan sertifikat SSL. Pergi ke Mari Enkripsi Direktori Instalasi ditemukan di /usr/lokal/letsencrypt jalur sistem dan jalankan Letsencrypt-auto Perintah dengan memberikan cermat --mandiri opsi dan -D Bendera untuk setiap domain atau subdomain Anda ingin menghasilkan sertifikat.

$ CD/usr/local/letsencrypt $ sudo ./letsencrypt -auto cermat -standalone -d your_domain.tld 
Dapatkan Let's Encrypt SSL Certificate

6. Masukkan alamat email yang akan digunakan oleh Let's Encrypt for Lost Key Recovery atau Urgent Pemberitahuan.

Masukkan alamat email

7. Setuju dengan ketentuan lisensi dengan menekan tombol enter.

Menerima perjanjian Letsencrypt

8. Akhirnya, jika semuanya berhasil, pesan yang mirip dengan tangkapan layar di bawah ini akan muncul di konsol terminal Anda.

Letsencrypt Instalasi selesai

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

9. Sekarang karena sertifikat SSL Anda telah dihasilkan adalah waktu untuk mengonfigurasi server web nginx untuk menggunakannya. Sertifikat SSL yang baru ditempatkan /etc/letsencrypt/live/ di bawah direktori yang dinamai nama domain Anda. Jalankan perintah LS untuk mendaftar file sertifikat yang dikeluarkan untuk domain Anda.

$ sudo ls/etc/letsencrypt/live/$ sudo ls -al/etc/letsencrypt/live/caeszar.tk 
Letsencrypt sertifikat SSL

10. Selanjutnya, buka /etc/nginx/situs-tersedia/default file dengan editor teks dan tambahkan blok berikut setelah baris berkomentar pertama yang menentukan awal blok SSL. Gunakan tangkapan layar di bawah ini sebagai panduan.

$ sudo nano/etc/nginx/situs-diable/default 

Kutipan Nginx Block:

# Konfigurasi SSL # Dengarkan 443 SSL Default_Server; ssl_certificate/etc/letsencrypt/live/caeszar.TK/Fullchain.PEM; ssl_certificate_key/etc/letsencrypt/live/caeszar.tk/privkey.PEM; SSL_PROTOCOLS TLSV1 TLSV1.1 TLSV1.2; ssl_prefer_server_ciphers on; SSL_CIPHERS 'EECDH+AESGCM: EDH+AESGCM: AES256+EECDH: AES256+EDH'; ssl_dhparam/etc/nginx/ssl/dhparams.PEM; 
Konfigurasikan Nginx untuk menggunakan Let's Encrypt SSL

Ganti nilai nama domain untuk sertifikat SSL yang sesuai.

11. Pada langkah berikutnya menghasilkan yang kuat Diffie-Hellman Cipher di /etc/nginx/ssl/ direktori untuk melindungi server Anda dari Kemacetan Serang dengan menjalankan perintah berikut.

$ sudo mkdir/etc/nginx/ssl $ cd/etc/nginx/ssl $ sudo openssl dhparam -out dhparams.PEM 2048 
Menghasilkan cipher diffie hellman untuk nginx

12. Akhirnya, restart daemon nginx untuk mencerminkan perubahan.

$ sudo systemctl restart nginx 

dan uji sertifikat SSL Anda dengan mengunjungi URL di bawah ini.

https: // www.ssllabs.com/ssltest/analisis.html 
Periksa Nginx Mari Enkripsi Sertifikat SSL

Langkah 4: Auto Renew Let's Encrypt Nginx Sertifikat

13. Sertifikat yang dikeluarkan oleh Mari Enkripsi CA berlaku selama 90 hari. Untuk memperbarui file secara otomatis sebelum tanggal kedaluwarsa SSL-Renew.SH naskah bash di /usr/lokal/bin/ direktori dengan konten berikut.

$ sudo nano/usr/local/bin/ssl-renew.SH 

Tambahkan konten berikut ke SSL-Renew.SH mengajukan.

#!/bin/bash cd/usr/lokal/letsencrypt sudo ./letsencrypt-auto certonly -se webroot --agree-tos --renew-by-default --webroot-path =/var/www/html/-d your_domain.tld sudo systemctl reload nginx keluar 0 
AUTO RENEW NGINX Memungkinkan Enkripsi Sertifikat SSL

Ganti --Webroot-path variabel agar sesuai dengan root dokumen nginx Anda. Pastikan skrip dapat dieksekusi dengan mengeluarkan perintah berikut.

$ sudo chmod +x/usr/local/bin/ssl-renew.SH 

14. Akhirnya tambahkan pekerjaan cron untuk menjalankan skrip setiap dua bulan di tengah malam untuk memastikan bahwa sertifikat Anda akan diperbarui dalam waktu sekitar 30 hari sebelum berakhir.

$ sudo crontab -e 

Tambahkan baris berikut di bagian bawah file.

0 1 1 */2 */usr/local/bin/ssl-renew.sh >>/var/log/your_domain.TLD-RFEREW.LOG 2> & 1 
UPDATE memungkinkan mengenkripsi sertifikat SSL

Itu dia! Server Nginx Anda sekarang melayani konten SSL menggunakan gratis Mari Enkripsi SSL sertifikat.