SSL/TLS Certificate Management: Panduan Lengkap untuk Server

Cara manage SSL/TLS certificate untuk server: dari Let's Encrypt, auto-renewal, hingga best practice keamanan.

Share

SSL/TLS certificate sudah menjadi keharusan untuk setiap server publik. Google menjadikan HTTPS sebagai ranking signal, browser menandai HTTP sebagai 'not secure', dan data encryption melindungi user dari man-in-the-middle attack.

Let's Encrypt dan Certbot

Let's Encrypt menyediakan free SSL certificate dengan validasi domain. Certbot adalah client yang mengotomatiskan proses: request certificate, install ke web server, dan auto-renewal. Setup di Nginx: certbot --nginx -d domain.com

Wildcard Certificate dan DNS Challenge

Wildcard certificate (*.domain.com) mencakup semua subdomain — ideal untuk multi-service server. DNS-01 challenge memvalidasi kepemilikan domain via DNS record, memungkinkan wildcard certificate tanpa暴露 multiple server.

SSL Best Practice

Gunakan TLS 1.2/1.3, disable SSLv3 dan TLS 1.0/1.1. Pilih cipher suite kuat: ECDHE + AES-GCM. HSTS header memaksa browser selalu menggunakan HTTPS. Gunakan SSLLabs untuk test konfigurasi (grade A+ target).

Auto-Renewal dan Monitoring

Certbot auto-renewal berjalan via systemd timer atau cron. Konfigurasi: certbot renew --quiet. Monitor expiry date dengan grafana atau script sederhana. Kirim notifikasi jika cert akan expired dalam 14 hari.

Load Balancer dan SSL Termination

Untuk multi-server, SSL termination di load balancer (nginx/haproxy) lebih efisien daripada di setiap backend. Gunakan wildcard atau SAN certificate. Pastikan traffic internal antar server juga terenkripsi — gunakan internal CA jika perlu.