CertH certH
Di halaman ini

Cara Mendapatkan Nilai SSL A+ (Checklist 2026)

Diperbarui 2026-11-03 · 7 menit baca

A+ bukan jenis sertifikat yang berbeda, melainkan konfigurasi TLS yang berbeda. Hampir semua situs yang tertahan di A hanya berjarak satu setelan: mereka mengakhiri TLS 1.2 dengan benar, tetapi tidak pernah mengaktifkan TLS 1.3 atau tidak pernah mengirim header HSTS yang cukup panjang.

Apa yang sebenarnya menentukan nilai

CertH menilai lima area berbobot dari satu handshake TLS murni: validitas dan rantai sertifikat, kekuatan kunci dan algoritma tanda tangan, versi protokol yang ditawarkan, cipher suite yang dinegosiasikan, serta HSTS dan OCSP stapling. Tidak ada akses server, tidak ada agen, tidak ada unggahan file konfigurasi — semuanya diamati dari luar, persis seperti yang dilihat browser.

Ambangnya sederhana. A+ memerlukan skor 95 atau lebih, TLS 1.3 dalam daftar protokol yang dinegosiasikan, dan HSTS yang sudah preload atau memiliki max-age minimal 180 hari. A mulai dari 90, B dari 80, C dari 70, D dari 55, dan di bawah 55 adalah F. Sertifikat kedaluwarsa otomatis 0.

Empat perubahan yang membawa dari A ke A+

Dalam praktik, selisihnya hampir selalu salah satu dari empat ini. Perbaiki berurutan — masing-masing dapat diverifikasi mandiri dari luar, jadi Anda bisa memindai ulang setelah tiap langkah.

  • •Aktifkan TLS 1.3. Ini memberi poin sendiri dan wajib untuk A+ bahkan bila semua lainnya sempurna 100.
  • •Naikkan HSTS ke minimal max-age=15552000 (180 hari). Satu tahun (31536000) adalah pilihan umum.
  • •Sajikan rantai lengkap, termasuk intermediate. Intermediate yang hilang tampil sebagai kesalahan rantai di sebagian klien dan mengurangi poin.
  • •Aktifkan OCSP stapling agar pemeriksaan pencabutan ikut dalam handshake alih-alih membocorkan IP pengunjung ke CA.

Konfigurasi nginx yang mendapat A+

Fragmen server lengkap untuk nginx modern (1.19+ dengan OpenSSL 1.1.1+). Jika nginx Anda dikompilasi dengan OpenSSL lebih lama, TLS 1.3 akan diam-diam tidak tersedia apa pun yang Anda tulis di sini — periksa dulu dengan nginx -V.

ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305;

ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off;

ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
resolver 1.1.1.1 8.8.8.8 valid=300s;

add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

Konfigurasi Apache yang mendapat A+

Apache memerlukan cache stapling dideklarasikan sekali di tingkat server, bukan di dalam virtual host. Sisanya masuk ke blok <VirtualHost *:443>.

SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder off
SSLSessionTickets off

SSLUseStapling on
SSLStaplingCache "shmcb:logs/ssl_stapling(32768)"

Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"

Kesalahan yang membuat situs bertahan di A

Yang paling umum: mengaktifkan HSTS dengan includeSubDomains pada domain yang masih punya subdomain hanya HTTP — subdomain itu langsung tidak bisa dibuka, dan reaksi biasanya menghapus header sepenuhnya, yang mengembalikan ke A. Luncurkan HSTS bertahap: mulai max-age 300 detik, pantau seminggu, lalu naikkan ke satu tahun.

Kesalahan kedua tersering adalah menganggap TLS 1.3 aktif karena sertifikatnya baru. Sertifikat dan versi protokol saling independen. Sertifikat baru di server yang hanya berbicara TLS 1.2 tetap di bawah 95.

Ketiga adalah CDN di depan origin. Jika Cloudflare, Fastly, atau load balancer mengakhiri TLS, konfigurasi origin tidak relevan — nilai mencerminkan edge, jadi setelan harus diubah di sana.

Verifikasi sendiri

Setiap perubahan dapat dikonfirmasi dalam hitungan detik dari terminal. TLS 1.3 hanya dinegosiasikan jika server benar-benar menawarkannya, HSTS muncul di header respons, dan stapling terlihat di blok respons OCSP.

# Does the server actually negotiate TLS 1.3?
openssl s_client -connect example.com:443 -tls1_3 -servername example.com </dev/null 2>/dev/null | grep "Protocol"

# Is HSTS set, and for how long?
curl -sI https://example.com | grep -i strict-transport-security

# Is OCSP stapling actually working?
openssl s_client -connect example.com:443 -status -servername example.com </dev/null 2>/dev/null | grep -A2 "OCSP Response"

FAQ

Apakah A+ memerlukan sertifikat berbayar atau extended validation?

Tidak. Sertifikat domain-validated (DV) bisa mencapai A+ — nilai mengukur konfigurasi TLS, bukan tingkat validasi. Jenis sertifikat hanya berpengaruh ketika mengubah rantai atau algoritma kunci.

Mengapa nilai saya turun setelah perpanjangan sertifikat?

Perpanjangan sering membawa penerbit atau jenis kunci berbeda, dan sebagian server kembali ke set cipher lain setelah reload. CertH mencatat perubahan itu di bagian analisis perubahan skor pada laporan domain, beserta alasan spesifiknya.

Apakah perlu HSTS preload untuk mencapai A+?

Tidak. Preload hanyalah salah satu dari dua cara memenuhi syarat HSTS; max-age minimal 180 hari tanpa preload sudah cukup. Preload lebih ketat dan jauh lebih sulit dibatalkan, anggap opsional.

Baca berikutnya