GNU/Linux >> Belajar Linux >  >> Debian

Amankan Nginx dengan Let's Encrypt SSL di Debian 10/11

Ringkasan

Dalam posting berikut kita akan membahas prosedur cara mengamankan Nginx dengan Let's Encrypt SSL di mesin Debian 10 (Prosedur ini juga dapat diterapkan pada Debian 11). Posting akan menampilkan skenario, di mana kita perlu menginstal certbot pada mesin Debian kita dan mendapatkan sertifikat SSL dari Let's Encrypt, mengatur pengalihan HTTPS otomatis dan menguji pembaruan sertifikat juga. Di sini kita sudah memiliki mesin Debian dengan Nginx yang telah terinstal di mana kita akan melalui langkah-langkah tentang cara mengamankan nginx dengan mari mengenkripsi ssl.

Persyaratan

1.. Terdaftar dan valid nama domain yang menunjuk ke server Debian Anda.

2.. Server Debian 10 (atau server Debian 11)

3.. Server web Nginx diinstal dan dijalankan

4.. Konfigurasi firewall (buka port HTTP dan HTTPS)

Jika Anda memiliki firewall UFW atau IPTABLES, Anda perlu mengonfigurasinya agar mereka membuka port 80 dan 443 untuk HTTP dan HTTPS agar tidak hanya meng-host situs web Anda

UFW

sudo ufw allow http
sudo ufw allow https

IPTABLES

sudo iptables -I INPUT -p tcp -m tcp --dport 80 -j ACCEPT

sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT

or

sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

sudo iptables -I INPUT -p tcp -m tcp --dport 443 -j ACCEPT

Instalasi Certbot

Kami akan menggunakan alat Let's Encrypt Cerbot untuk mendapatkan sertifikat SSL dan plugin Nginx untuk certbot juga. Kedua alat tersebut akan membantu kita mendapatkan sertifikat dengan sangat mudah, cepat dan juga membuat perubahan konfigurasi yang diperlukan di Nginx. Selain itu, alat tersebut memiliki fitur otomatisasi, sehingga setelah SSL kedaluwarsa, mereka dapat memperbarui dan menginstal sertifikat lagi.

sudo apt install certbot python3-certbot-nginx

Dapatkan sertifikat SSL dari Let's Encrypt

Setelah Anda mengkonfirmasi bahwa port pada firewall dibuka dan Anda selesai dengan instalasi certbot. Untuk mendapatkan sertifikat SSL dari Let's encrypt kita hanya perlu menjalankan perintah:

sudo certbot --nginx -d yourdomain.com

Satu catatan – sebelum menjalankan perintah, pertama-tama perlu di file konfigurasi nginx Anda, tulis di parameter server_name nama domain sebenarnya yang Anda tunjuk ke server Anda. Certbot akan melihat di konfigurasi blok server Anda parameter itu dan membuat file konfigurasi mari kita enkripsi sesuai parameter itu. Contoh pada gambar di bawah ini:

sudo nano /etc/nginx/sites-available/example.com

Saat Anda menjalankan perintah ini, wizard certbot akan dimulai. Jika Anda menjalankan cerbot untuk pertama kalinya, cerbot akan meminta untuk memberikan alamat email untuk digunakan sebagai kontak dan untuk menyetujui persyaratan lisensi Let's encrypt.

Setelah itu, ia akan menjalankan tantangan http, mendapatkan sertifikat dan pada akhirnya akan menanyakan apakah Anda ingin segera mengonfigurasi pengalihan https, yang juga merupakan opsi yang baik.

Segera setelah konfigurasi pengalihan selesai, domain baru dengan sertifikat SSL akan langsung berfungsi.

Siapkan dan uji perpanjangan otomatis

Mari mengenkripsi sertifikat secara default berlaku selama tiga bulan dan pembaruan otomatis cerbot dikonfigurasi untuk memperbarui sertifikat setidaknya sekali, ketika sertifikat memiliki validitas kurang dari 30 hari. Setelah sertifikat SSL diperoleh, valid dan aktif, gandakan jika layanan timer certbot aktif dan berjalan dan uji proses pembaruan dengan opsi dry run:

sudo systemctl status certbot.timer

sudo certbot renew --dry-run

Periksa konfigurasi Nginx

Anda dapat memeriksa ulang konfigurasi nginx jika cerbot telah berhasil menulis konfigurasi untuk sertifikat ssl dan untuk pengalihan HTTPS. Cerbot akan memulai ulang nginx setelah selesai dengan konfigurasi, domain/situs web Anda harus diamankan dan dijalankan dengan SSL aktif.

Ringkasan

Untuk meringkas, kami telah melalui langkah-langkah cara mengamankan Nginx dengan Let's Encrypt SSL di mesin Debian 10 dan juga di mesin Debian 11. Kami menggunakan alat certbot mari mengenkripsi untuk permintaan sertifikat SSL dan pembaruan otomatis. Untungnya untuk certbot dan plugin nginx, prosesnya sangat sederhana dan mudah serta cepat untuk diselesaikan. Satu saran tentang ini adalah – ini akan menjadi pilihan yang baik untuk memiliki cadangan folder enkripsi mari dan membuatnya sering dicadangkan (seperti yang disarankan certbot sendiri). Ini tentu saja opsional dan tergantung pada bagaimana Anda mengatur frekuensi perpanjangan sertifikat.

Mari mengenkripsi layanan, meskipun gratis dan sangat populer di kalangan dunia teknologi, ini adalah pilihan yang baik untuk mengamankan beberapa jenis situs web. Meskipun, sertifikat gratis mereka tidak disarankan untuk digunakan di situs web e-niaga untuk contoh atau jenis situs apa pun yang perlu melewati dan menyimpan data yang sangat sensitif (kartu kredit dan sejenisnya). Itu sebabnya secara default disarankan untuk memiliki waktu pembaruan yang singkat untuk sertifikat SSL. Pada catatan itu, Mari mengenkripsi bukan satu-satunya opsi gratis untuk digunakan. Cloudflare memiliki opsi yang sama untuk menyediakan SSL gratis dan dapat digunakan untuk mengamankan situs web Nginx Anda juga. Jika Anda tertarik dengan opsi ini, Anda dapat melihat postingan di tautan ini.


Debian
  1. Amankan Apache2 dengan Let's Encrypt SSL di Debian 10/11

  2. Instal WordPress dengan Nginx di Debian 10/11

  3. Cara Mengamankan Nginx dengan SSL dan Let's Encrypt di FreeBSD

  1. Amankan Nginx dengan Lets Encrypt di CentOS 7

  2. Amankan Nginx dengan Lets Encrypt di Debian 9

  3. Amankan Nginx dengan Lets Encrypt di Debian 10 Linux

  1. Amankan Apache dengan Lets Encrypt di Debian 10

  2. Instal Lets Encrypt dan Secure Nginx dengan SSL/TLS di Debian 9

  3. Cara Setup Let's Encrypt SSL Certificate Dengan Nginx di CentOS 8 / RHEL 8 &CentOS 7 / RHEL 7