Cara Mengamankan Nginx dengan Let’s Encrypt di Ubuntu 20.04 atau Versi Terbaru

Pendahuluan: Let’s Encrypt adalah Otoritas Sertifikat (Certificate Authority) yang menyediakan cara mudah untuk mendapatkan dan menginstal sertifikat TLS/SSL gratis, sehingga memungkinkan enkripsi HTTPS pada server web. Dengan bantuan klien perangkat lunak bernama Certbot, proses ini bisa dijalankan secara otomatis dan sederhana. Tutorial ini akan membahas cara mengamankan Nginx pada Ubuntu 20.04 atau versi terbaru menggunakan Let’s Encrypt dan Certbot untuk mendapatkan sertifikat SSL gratis dan mengaturnya agar diperbarui secara otomatis.

Disclaimer: Panduan ini menggunakan Ubuntu 20.04 sebagai contoh, namun dapat diterapkan pada versi Ubuntu atau Debian terbaru dengan sedikit penyesuaian. Pastikan Anda mengikuti setiap langkah dengan teliti, dan selalu periksa versi dan kompatibilitas pada server Anda sebelum memulai.

Persiapan:

Sebelum memulai, pastikan Anda memiliki:

  1. Server Ubuntu yang telah disiapkan dengan pengguna non-root yang memiliki izin sudo dan firewall aktif.
  2. Nama domain yang terdaftar – misal, contoh.com.
  3. Rekaman DNS yang sudah dikonfigurasi:
    • A record dengan contoh.com menunjuk ke IP publik server.
    • A record dengan www.contoh.com menunjuk ke IP publik server.
  4. Nginx terinstal – Buat server block baru untuk domain Anda, misalnya di /etc/nginx/sites-available/contoh.com.

Langkah-langkah:

Langkah 1 — Menginstal Certbot

Untuk mendapatkan sertifikat SSL dari Let’s Encrypt, pertama kita perlu menginstal Certbot dan plugin Nginx.

sudo apt update
sudo apt install certbot python3-certbot-nginx

Langkah 2 — Memeriksa Konfigurasi Nginx

Certbot memerlukan informasi server_name dalam konfigurasi Nginx untuk menemukan block server yang tepat. Buka konfigurasi Nginx Anda:

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

Pastikan ada baris server_name yang sesuai, misalnya:

server_name contoh.com www.contoh.com;

Simpan perubahan, lalu verifikasi konfigurasi Nginx:

sudo nginx -t

Jika tidak ada kesalahan, muat ulang Nginx:

sudo systemctl reload nginx

Langkah 3 — Mengizinkan HTTPS di Firewall

Jika firewall ufw diaktifkan, tambahkan aturan untuk HTTPS:

sudo ufw allow 'Nginx Full'
sudo ufw delete allow 'Nginx HTTP'

Verifikasi aturan firewall:

sudo ufw status

Langkah 4 — Mendapatkan Sertifikat SSL

Jalankan perintah berikut untuk mendapatkan sertifikat SSL dari Let’s Encrypt:

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

Jika ini pertama kalinya, Anda akan diminta memasukkan email dan menyetujui ketentuan layanan. Kemudian, pilih opsi redirect agar seluruh lalu lintas HTTP dialihkan ke HTTPS.

Langkah 5 — Memverifikasi Pembaruan Otomatis Certbot

Sertifikat Let’s Encrypt hanya berlaku selama 90 hari, sehingga penting untuk mengaktifkan pembaruan otomatis. Certbot sudah menambahkan timer systemd yang menjalankan pembaruan dua kali sehari.

Cek status timer:

sudo systemctl status certbot.timer

Lakukan percobaan pembaruan dengan:

sudo certbot renew --dry-run

Jika tidak ada kesalahan, Certbot akan memperbarui sertifikat secara otomatis dan memuat ulang Nginx jika diperlukan.

Kesimpulan: Dalam tutorial ini, Anda telah menginstal Certbot, mendapatkan sertifikat SSL dari Let’s Encrypt, mengonfigurasi Nginx untuk menggunakan sertifikat ini, dan mengatur pembaruan otomatis. Anda sekarang memiliki server Nginx yang aman dengan HTTPS.

Leave a Reply

Your email address will not be published. Required fields are marked *