Lompat ke konten utama

Nilai SSL Labs Jelek Padahal Sertifikat Valid? Ini Penyebabnya

Gembok hijau dan sertifikat valid tidak menjamin nilai A. Yang dinilai konfigurasi TLS-nya: rantai sertifikat, protokol lama, dan cipher tanpa forward secrecy.

Sertifikat baru dipasang, gembok di browser udah hijau, masa berlakunya masih setahun lagi. Tapi hasil uji SSL Labs-nya B. Atau malah C.

Yang bikin bingung: nggak ada yang error, dan situsnya jalan normal.

Yang dinilai bukan sertifikatnya

Sertifikat cuma satu dari empat hal yang dinilai. Tiga sisanya urusan konfigurasi server, dan di situlah nilainya jatuh:

Yang dinilaiYang bikin turun
Sertifikatkedaluwarsa, nama domain nggak cocok, rantai nggak lengkap
Dukungan protokolTLS 1.0 dan 1.1 masih nyala
Pertukaran kuncikunci lemah, nggak ada forward secrecy
Kekuatan ciphercipher lama macam 3DES atau RC4 masih diizinin

Sertifikat gratis dari Let's Encrypt sama sekali nggak bikin nilai lebih rendah. Yang nentuin cuma konfigurasi.

Yang paling sering: rantai sertifikat nggak lengkap

Ini penyebab nomor satu, dan gejalanya paling nyesatin.

Server wajib ngirim sertifikat situs Anda beserta sertifikat perantaranya. Kalau yang dikirim cuma sertifikat situs, browser desktop biasanya masih jalan — dia nyimpen perantara itu dari kunjungan ke situs lain.

Tapi:

  • Android lama gagal total
  • curl bilang "unable to get local issuer certificate"
  • Aplikasi mobile yang manggil API Anda gagal konek
  • SSL Labs ngasih peringatan "Chain issues: Incomplete"

Jadi gejalanya: jalan di komputer Anda, gagal di sebagian pengguna — persis jenis masalah yang paling lama ketahuan.

Perbaikannya bukan ganti sertifikat, tapi pasang berkas yang bener. Nginx butuh berkas gabungan (fullchain.pem), bukan cuma cert.pem. Apache butuh SSLCertificateChainFile diisi kalau versinya lama.

TLS 1.0 dan 1.1 masih nyala

Keduanya udah nggak dianggap aman, dan sejak 2020 semua browser besar nolak. Membiarkannya nyala nggak nambah kompatibilitas ke pengunjung mana pun yang masih relevan — cuma nurunin nilai.

Sisain TLS 1.2 dan 1.3 aja.

Nggak ada forward secrecy

Tanpa forward secrecy, siapa pun yang pernah nyimpen lalu lintas terenkripsi Anda bisa ngebuka semuanya begitu kunci privat servernya bocor — termasuk lalu lintas dari tahun-tahun sebelumnya.

Dengan forward secrecy, tiap sesi punya kunci sendiri. Bocornya kunci server nggak ngebuka rekaman lama.

Praktiknya: pakai cipher ECDHE, dan matiin yang berbasis RSA murni.

Nilai A gampang, A+ butuh satu hal lagi

Buat A+, HSTS wajib nyala: header Strict-Transport-Security dengan max-age minimal setahun.

Tapi jangan buru-buru. HSTS bilang ke browser "domain ini HTTPS doang, jangan pernah coba HTTP lagi" — dan browser nginget itu selama max-age. Kalau HTTPS Anda kelak bermasalah, pengunjung yang udah pernah mampir nggak bisa buka situs Anda sama sekali, dan Anda nggak bisa mencabutnya dari sisi server.

Nyalain dengan max-age pendek dulu (misalnya sehari), pastiin semuanya stabil berminggu-minggu, baru naikin.

Konfigurasi TLS nyusun blok konfigurasi buat Nginx, Apache, dan HAProxy dengan protokol dan cipher yang sesuai target nilai Anda, sekalian nyebutin apa yang rusak kalau sesuatu dinyalain.

Sesudah diubah, uji ulang dari luar

Jangan nilai dari browser Anda sendiri — dia nyimpen sesi TLS dan bakal ngasih hasil yang lebih optimis. Uji dari alat luar, dan pastiin servernya udah di-reload, bukan cuma confignya disimpen.

Bacaan lanjutan: Urutan pasang header keamanan situs — HSTS dibahas lebih dalam di situ, termasuk urutan aman menyalakannya.

Semua artikel