GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengamankan Nginx dengan Lets Encrypt Di Ubuntu 20.04 / 18.04

Pendahuluan

Setiap situs web yang ingin menarik pengunjung harus menyertakan enkripsi SSL/TLS untuk domainnya. Sertifikat SSL/TLS memastikan koneksi yang aman antara server web dan browser Anda.

Let's Encrypt adalah otoritas sertifikat gratis yang memungkinkan Anda mengatur perlindungan tersebut. Ini adalah cara termudah untuk mengamankan server Nginx Anda.

Dalam artikel ini, Anda akan menemukan cara paling sederhana untuk mengamankan server Nginx Anda dengan mendapatkan sertifikat Let's Encrypt menggunakan perangkat lunak Certbot.

Prasyarat

  • Sistem yang menjalankan Ubuntu 20.04 (atau Ubuntu 18.04)
  • Akses ke jendela terminal/baris perintah
  • Sudo atau akar hak istimewa pada mesin lokal/jarak jauh
  • Nginx diinstal dan disiapkan
  • Nama domain terdaftar
  • Blok server yang dikonfigurasi untuk nama domain tersebut

Cara Mengamankan Nginx dengan Let's Encrypt Di Ubuntu 20.04

Langkah 1:Instal Certbot

Certbot adalah alat perangkat lunak sumber terbuka untuk mengaktifkan HTTPS secara otomatis menggunakan sertifikat Let's Encrypt.

Langkah pertama untuk mengamankan Nginx dengan Let's Encrypt adalah menginstal Certbot. Untuk melakukannya, mulailah dengan membuka jendela terminal dan memperbarui repositori lokal:

sudo apt update

Kemudian, unduh dan instal Certbot dan plugin Nginx-nya dengan menjalankan:

sudo apt install certbot python3-certbot-nginx

Ketik y untuk mengonfirmasi pemasangan dan tekan Enter.

Langkah 2:Periksa Konfigurasi Nginx

Seperti disebutkan di prasyarat, Anda harus sudah memiliki domain terdaftar dan blok server Nginx untuk domain tersebut. Sebagai contoh, artikel ini menggunakan domain example.com .

Untuk memeriksa apakah sudah diatur dengan benar, buka file konfigurasi Nginx:

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

Kemudian, cari server_name direktif dan pastikan itu disetel ke nama domain Anda. Karena Anda ingin memasukkan nama domain dengan dan tanpa www. awalan, barisnya akan terlihat seperti di bawah ini:

server_name example.com www.example.com;

Langkah 3:Sesuaikan Firewall untuk Mengizinkan Lalu Lintas HTTPS

Langkah selanjutnya adalah menyesuaikan firewall untuk mengizinkan lalu lintas HTTPS.

Jika Anda mengikuti panduan instalasi Nginx, Anda telah mengaktifkan firewall Anda untuk mengizinkan Nginx HTTP. Saat Anda menambahkan sertifikat Let's Encrypt, Anda perlu mengonfigurasi firewall untuk lalu lintas terenkripsi.

1. Untuk memastikan firewall Anda aktif dan mengizinkan lalu lintas HTTPS, jalankan perintah:

sudo ufw status

Outputnya akan memberi tahu Anda bahwa UFW aktif dan memberi Anda daftar aturan yang ditetapkan. Dalam contoh berikut, ini menunjukkan bahwa firewall mengizinkan lalu lintas HTTP Nginx, tetapi tidak HTTPS.

Nginx memiliki tiga (3) profil yang dapat Anda tambahkan sebagai aturan:

  • HTTP Nginx (membuka port 80)
  • HTTPS Nginx (membuka port 443 – lalu lintas terenkripsi)
  • Nginx Penuh (membuka port 80 dan 443)

2. Untuk mengizinkan lalu lintas terenkripsi, Anda dapat menambahkan Nginx HTTPS profil atau gunakan Nginx Full dan hapus aturan HTTP Nginx yang ada:

a) Izinkan lalu lintas HTTPS Nginx dengan menjalankan perintah:

sudo ufw allow 'Nginx HTTPS'

b) Hapus Nginx HTTP dan gunakan Nginx Full sebagai gantinya dengan:

sudo ufw deny 'Nginx HTTP'
sudo ufw allow 'Nginx Full'

3. Pastikan Anda menambahkan aturan yang mengizinkan lalu lintas HTTPS dengan menggunakan ufw status perintah.

Langkah 4:Dapatkan Sertifikat SSL/TLS

Plugin Nginx untuk Certbot mengonfigurasi ulang Nginx dan memuat ulang konfigurasinya bila diperlukan. Oleh karena itu, satu-satunya hal yang perlu Anda lakukan adalah membuat sertifikat dengan plugin NGINX.

1. Untuk melakukannya, jalankan perintah:

sudo certbot --nginx -d example.com -d www.example.com

2. Outputnya meminta Anda untuk mengonfigurasi pengaturan HTTPS Anda. Masukkan alamat email Anda dan setujui persyaratan layanan untuk melanjutkan.

3. Setelah Anda mengonfigurasi HTTPS, Certbot selesai membuat sertifikat dan memuat ulang Nginx dengan pengaturan baru.

4. Terakhir, output menampilkan bahwa Anda telah berhasil membuat sertifikat dan menentukan lokasi sertifikat di server Anda.

Langkah 5:Aktifkan Pembaruan Sertifikat Otomatis

Karena sertifikat Let's Encrypt kedaluwarsa setiap 90 hari, Nginx merekomendasikan penyiapan dan pembaruan otomatis cron job.

1. Pertama, buka file konfigurasi crontab untuk pengguna saat ini:

crontab -e

2. Tambahkan tugas cron yang menjalankan certbot perintah, yang memperbarui sertifikat jika mendeteksi sertifikat akan kedaluwarsa dalam waktu 30 hari. Jadwalkan untuk berjalan setiap hari pada waktu tertentu (dalam contoh ini, ia melakukannya pada pukul 05:00):

0 5 * * * /usr/bin/certbot renew --quiet

Pekerjaan cron juga harus menyertakan --quiet atribut, seperti pada perintah di atas. Ini menginstruksikan certbot untuk tidak menyertakan output apa pun setelah melakukan tugas.

3. Setelah Anda menambahkan tugas cron, simpan perubahan, dan keluar dari file.


Ubuntu
  1. Amankan Nginx dengan Let's Encrypt di Ubuntu 18.04 - Bagaimana cara melakukannya?

  2. Cara Mengamankan Nginx dengan Letsencrypt di Ubuntu 20.04

  3. Cara mengamankan Apache dengan Lets Encrypt di Ubuntu 18.04

  1. Amankan Nginx dengan Lets Encrypt di Ubuntu 18.04

  2. Amankan Nginx dengan Lets Encrypt di Ubuntu 16.04

  3. Cara Mengamankan Nginx dengan Let's Encrypt di Ubuntu 20.04

  1. Amankan Apache dengan Lets Encrypt di Ubuntu 18.04

  2. Amankan Nginx dengan Lets Encrypt di Ubuntu 20.04

  3. Amankan Apache dengan Lets Encrypt di Ubuntu 20.04