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.
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.