Cara Mengamankan Nginx dengan Let's Encrypt di CentOS 8


Didirikan pada bulan April 2016 oleh Electronic Frontier Foundation (EFF), Let's Encrypt adalah sertifikat digital gratis dan otomatis yang menyediakan enkripsi TLS untuk situs web tanpa biaya sama sekali.

Tujuan dari sertifikat Let's Encrypt adalah untuk mengotomatiskan validasi, pembuatan, penandatanganan, serta perpanjangan otomatis sertifikat keamanan. Sertifikat ini memungkinkan koneksi terenkripsi ke server web menggunakan protokol HTTPS dengan cara yang sederhana dan tidak merepotkan tanpa kerumitan apa pun. Sertifikat hanya berlaku 90 hari setelah perpanjangan otomatis dapat diaktifkan.

Bacaan yang Direkomendasikan: Cara Mengamankan Apache dengan Let's Encrypt SSL Certificate di CentOS 8

Dalam artikel ini, kami akan menunjukkan bagaimana Anda dapat menginstal Let's Encrypt untuk mendapatkan sertifikat SSL gratis guna mengamankan server web Nginx di CentOS 8 ( instruksi yang sama juga berfungsi di RHEL 8). Kami juga akan menjelaskan kepada Anda cara memperbarui sertifikat SSL Anda secara otomatis.

Prasyarat

Sebelum kami melanjutkan, pastikan Anda memeriksa hal-hal berikut.

1. Nama Domain yang Sepenuhnya Memenuhi Syarat (FQDN) yang menunjuk ke alamat IP khusus server web. Ini perlu dikonfigurasi di area klien penyedia hosting web DNS Anda. Untuk tutorial ini, kami menggunakan nama domain linuxtechwhiz yang menunjuk ke alamat IP 34.70.245.117.

2. Anda juga dapat mengonfirmasi hal ini dengan melakukan pencarian ke depan menggunakan perintah dig seperti yang ditunjukkan.

dig linuxtechwhiz.info

3. Nginx diinstal dan dijalankan di server web. Anda dapat mengonfirmasinya dengan masuk ke terminal dan menjalankan perintah di bawah ini. Jika Nginx belum terinstal, ikuti artikel kami untuk Menginstal Nginx di CentOS 8.

sudo systemctl status nginx

4. Anda juga dapat memverifikasi dengan mengunjungi URL server web di browser web.

http://server-IP-or-hostname

Dari URL-nya, kami dapat melihat dengan jelas bahwa situs tersebut tidak aman, sehingga tidak terenkripsi. Ini berarti bahwa setiap permintaan yang dibuat ke server web dapat disadap, termasuk informasi penting dan rahasia seperti nama pengguna, kata sandi, nomor jaminan sosial, dan informasi kartu kredit, dan masih banyak lagi.

Sekarang mari kita mulai dan menginstal Let's Encrypt.

Langkah 1. Instal Certbot di CentOS 8

Untuk memasang sertifikat Let's Encrypt, pertama-tama Anda harus memasang certbot. Ini adalah klien yang dapat diperluas yang mengambil sertifikat keamanan dari Let's Encrypt Authority dan memungkinkan Anda mengotomatiskan validasi dan konfigurasi sertifikat untuk digunakan oleh server web.

Unduh certbot menggunakan perintah curl.

sudo curl -O https://dl.eff.org/certbot-auto

Selanjutnya, pindahkan sertifikat ke direktori /usr/local/bin.

sudo mv certbot-auto /usr/local/bin/certbot-auto

Selanjutnya, tetapkan izin file ke file certbot seperti yang ditunjukkan.

chmod 0755 /usr/local/bin/certbot-auto

Langkah 2. Konfigurasikan Blok Server Nginx

Blok server di Nginx setara dengan host virtual di Apache. Menyiapkan blok server tidak hanya memungkinkan Anda menyiapkan beberapa situs web dalam satu server tetapi juga memungkinkan certbot membuktikan kepemilikan domain kepada Certificate Authority – CA.

Untuk membuat blok server, jalankan perintah yang ditunjukkan.

sudo vim /etc/nginx/conf.d/www.linuxtechwhiz.info

Pastikan untuk mengganti nama domain dengan nama domain Anda sendiri. Kemudian paste konfigurasi di bawah ini.

server {
   server_name www.linuxtechwhiz.info;
   root /opt/nginx/www.linuxtechwhiz.info;

   location / {
       index index.html index.htm index.php;
   }

   access_log /var/log/nginx/www.linuxtechwhiz.info.access.log;
   error_log /var/log/nginx/www.linuxtechwhiz.info.error.log;

   location ~ \.php$ {
      include /etc/nginx/fastcgi_params;
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
   }
}

Simpan file dan keluar dari editor teks.

Langkah 3: Instal Mari Enkripsi Sertifikat di CentOS 8

Sekarang gunakan perintah certbot untuk menginisialisasi pengambilan dan konfigurasi sertifikat keamanan Let's Encrypt.

sudo /usr/local/bin/certbot-auto --nginx

Perintah ini akan menjalankan dan menginstal beberapa paket Python dan dependensinya seperti yang ditunjukkan.

Ini kemudian akan diikuti oleh prompt interaktif seperti yang ditunjukkan:

Jika semuanya berjalan baik, Anda akan melihat pesan ucapan selamat di bagian akhir.

Untuk mengonfirmasi bahwa situs Nginx Anda dienkripsi, muat ulang halaman web dan amati simbol gembok di awal URL. Hal ini menunjukkan bahwa situs diamankan menggunakan enkripsi SSL/TLS.

Untuk mendapatkan informasi lebih lanjut tentang sertifikat keamanan, klik simbol gembok dan pilih opsi ‘Sertifikat’.

Informasi lebih lanjut tentang sertifikat keamanan akan ditampilkan seperti gambar di bawah ini.

Selain itu, untuk menguji kekuatan sertifikat keamanan, kunjungi https://www.ssllabs.com/ssltest/ dan temukan analisis yang lebih akurat dan mendalam tentang status sertifikat keamanan.

Langkah 4. Memperbarui Sertifikat Let’s Encrypt

Seperti yang kita lihat sebelumnya, sertifikat keamanan hanya berlaku untuk jangka waktu 90 hari dan perlu diperbarui sebelum masa berlakunya habis.

Anda dapat menyimulasikan atau menguji proses perpanjangan sertifikat dengan menjalankan perintah:

sudo /usr/local/bin/certbot-auto renew --dry-run

Kesimpulan

Demikianlah tutorial mengamankan Nginx dengan Let's Encrypt di CentOS 8. Let's Encrypt menawarkan cara yang efektif dan tidak merepotkan untuk mengamankan server web Nginx Anda yang biasanya sulit dilakukan secara manual.

Situs Anda sekarang harus terenkripsi sepenuhnya. Beberapa minggu sebelum tanggal habis masa berlaku sertifikat, EFF akan mengingatkan Anda melalui email untuk memperbarui sertifikat guna menghindari gangguan yang mungkin timbul karena masa berlaku sertifikat sudah habis. Itu saja teman-teman untuk hari ini!