Cara Mendapatkan Sertifikat SSL Wildcard Gratis dari Let's Encrypt


Selamat datang di ChotibulStudio. Di artikel kali ini, saya ingin berbagi tutorial bagaimana cara mendapatkan sertifikat SSL wildcard gratis dari Let's Encrypt.

Seperti yang sudah Anda ketahui, Let's Encrypt adalah otoritas sertifikat nonprofit yang dijalankan oleh Internet Security Research Group yang menyediakan sertifikat X.509 untuk enkripsi Transport Layer Security tanpa dipungut biaya.

Kami di ChotibulStudio sebenarnya sudah memiliki beberapa artikel yang membahas cara mendapatkan sertifikat SSL dari Let's Encrypt, seperti artikel cara memasang RDM dengan LEMP stack dan Let's Encrypt dan memanfaatkan layanan SSL/TLS bebas dari Let's Encrypt untuk GitLab edisi komunitas. Akan tetapi, sertifikat SSL dari kedua artikel tersebut hanya bisa digunakan untuk server tunggal saja.

Bagi Anda yang ingin punya sepasang sertifikat SSL untuk domain dan semua subdomian Anda, sertifikat Wildcard SSL dari Let's Encrypt bisa Anda perhitungkan.

Persyaratan

Sebelum mengimplementasikan sertifikat wildcard SSL di sistem Anda, ada beberapa hal penting yang tidak bisa Anda lewatkan. Beberapa hal penting tersebut antara lain;

  • Memiliki domain sendiri.
  • Memiliki akses untuk mengelola domain, baik itu di cPanel, Cloudflare, maupun di pengelola domain yang lain. Pada kasus ini, saya menggunakan cPanel untuk mengelola domain.
  • Pada kasus ini, saya menggunakan mesin/vps sendiri yang memiliki IP publik dan bisa terhubung ke Internet.
  • Punya akses sebagai root ke mesin/vps.

Setelah semua persyaratan di atas sudah bisa Anda penuhi, selanjutnya mari kita mulai dengan memasang paket yang dibutuhkan.

Pasang paket yang dibutuhkan

Tidak banyak paket yang Anda perlukan untuk mendapatkan sertifikat wildcard SSL dari Let's Encrypt.

Anda cukup memasang satu paket bernama certbot dengan manager paket favorit Anda.

Pasang Certbot menggunakan APT

Eksekusi perintah berikut ke Terminal Anda.

$ sudo apt install certbot

Pasang Certbot menggunakan Snap

Bagi Anda yang lebih memilih memasang Certbot menggunakan manager paket Snap, berikut langkah-langkahnya.

$ sudo snap install --classic certbot

Buat symbolic link agar certbot dapat dieksekusi melalui Terminal.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Sebagai informasi, pemasangan Certbot menggunakan manager paket Snap adalah yang paling direkomendasikan. Bahkan panduan pemasangan Certbot di Debian juga menggunakan Snap.

Luar biasa!

Menghasilkan sertifikat wildcard SSL gratis dari Let's Encrypt

Anda cukup salin-tempel perintah berikut ke Terminal dan mengeksekusinya (tekan tombol enter).

$ sudo certbot \
certonly \
--manual \
--preferred-challenges=dns \
--server https://acme-v02.api.letsencrypt.org/directory \
--agree-tos \
--manual-public-ip-logging-ok \
--register-unsafely-without-email \
--rsa-key-size 4096 \
-d domainanda.tld -d *.domainanda.tld

Pada saat Anda mengeksekusi perintah di atas, Anda memberitahu Certbot untuk:

  • certolny mendapatkan sertifikat, tetapi jangan memasangnya.
  • --manual (plugin) mendapatkan sertifikat secara interaktif.
  • --preferred-challenges=dns memverifikasi kepemilikan domain.
  • --server https://acme-v02.api.letsencrypt.org/directory titik akhir untuk protokol ACME API v2.
  • --agree-tos menyetujui kebijakan layanan dari Let's Encrypt.
  • --manual-public-ip-logging-ok mengizinkan pencatatan IP publik.
  • --register-unsafely-without-email agar Anda tidak perlu mendaftarkan e-mail untuk mendapatkan sertifikat.
  • --rsa-key-size 4096 mengatur panjang kunci RSA yang diinginkan.
  • -d domainanda.tld -d *.domainanda.tld domain yang didaftarkan untuk sertifikat wildcard ssl.

Sesaat setelah mengeksekusi perintah di atas, Certbot akan memberikan informasi agar Anda menambahkan catatan DNS pada manager DNS Anda.

-------------------------------------------------------------------------------
Please deploy a DNS TXT record under the name
_acme-challenge.domainanda.tld with the following value:

qqiR_lsa2AjMfoVW16wH4UDbOxW_E02l0K1CNyw1RdI

Before continuing, verify the record is deployed.
-------------------------------------------------------------------------------
Press Enter to Continue

Ingat, jangan menutup Terminal yang sedang menjalankan Certbot. Biarkan saja demikian.

Sekarang, silakan masuk ke dasbor manager DNS Anda untuk menambahkan catatan untuk domain _acme-challenge.domainanda.tld, tipe catatan TXT dengan nilai qqiR_lsa2AjMfoVW16wH4UDbOxW_E02l0K1CNyw1RdI.

Simpan perubahan yang sudah Anda lakukan pada manager DNS dan tunggulah beberapa saat untuk waktu propagasinya.

Anda bisa mengecek apakah waktu propagasi selesai dengan mengeksekusi perintah berikut.

$ host -t txt _acme-challenge.example.com

Jika waktu propagasi selesai, perintah di atas akan memberikan hasil seperti dibawah ini.

_acme-challenge.example.com descriptive text qqiR_lsa2AjMfoVW16wH4UDbOxW_E02l0K1CNyw1RdI

Anda juga bisa mengecek waktu propagasi melalui perkakas Pengecek Propagasi DNS.

Jika hasil dari pengecekan propagasi DNS sudah sesuai dengan pengaturan yang sudah dibuat sebelumnya, sekarang Anda tinggal menekan tombol Enter pada Terminal yang menampilkan informasi penambahan pencatatan DNS oleh Certbot.

Tunggu beberapa saat hingga Certbot menampilkan informasi di bawah ini.

Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/domainanda.tld/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/domainanda.tld/privkey.pem
   Your cert will expire on 2024-01-11. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot-auto
   again. To non-interactively renew *all* of your certificates, run
   "certbot-auto renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:    https://letsencrypt.org/donate
   Donating to EFF:                               https://eff.org/donate-le

Sampai pada langkah ini, Anda sudah memiliki sertifikat wildcard ssl yang bisa Anda gunakan pada semua subdomain domainanda.tld Anda.

Untuk melihat daftar sertifikat yang dikelola oleh Certbot, eksekusi perintah berikut.

sudo certbot certificates

Selanjutnya, tinggal diimplementasikan ke konfigurasi web server favorit Anda.

Epilog

Ada sebagian orang yang lebih suka menggunakan wildcard ssl dan tentu ada pula sebagian yang lain yang lebih suka non-wildcard.

Pada kasus ini, saya sebenarnya lebih suka menggunakan yang non-wildcard, kenapa demikian?

Ya karena sertifikat SSL-nya bisa didapat dengan bebas. Apalagi Certbot sudah menyertakan perintah untuk bisa memperbarui sertifikat SSL secara otomatis.

Butuh bembuat layanan baru dengan subdomain baru, ya tinggal buat sertifikat SSL lagi untuk subdomain yang diinginkan.

Semudah itu sebenarnya.

Lantas kenapa saya membuat tutorial ini kalau saya sendiri lebih suka buat satu-satu di masing-masing mesin?

Supaya tidak lupa. Hehe.

Semoga tutorial ini bisa bermanfaat untuk Anda dan orang-orang yang Anda cintai.

Referensi

How to get a wildcard ssl certificate and set up Nginx, tersedia daring di https://gist.github.com/utek/ba08e9ed8208342817743c0cc25ab697#request-a-certificate

Create Let’s Encrypt Wildcard Certificates in NGINX, tersedia daring di https://www.webhi.com/how-to/generate-lets-encrypt-wildcard-certificates-nginx/

Komentar

Postingan populer dari blog ini

Daftar Rekomendasi Repositori Lokal Debian 11 "Bullseye"

Cara Memperbaiki Masalah "KVM virtualisation is configured, but not available" di Proxmox

Koneksi Internet Bermasalah di Ubuntu 18.04, Berikut Cara Memperbaikinya