CertH certH
Trong trang này

Cách đạt điểm SSL A+ (checklist 2026)

Cập nhật 2026-11-03 · 7 phút đọc

A+ không phải một loại chứng chỉ khác, mà là một cấu hình TLS khác. Hầu hết site mắc kẹt ở A chỉ thiếu một thiết lập: chúng kết thúc TLS 1.2 đúng cách, nhưng chưa bao giờ bật TLS 1.3 hoặc chưa từng gửi header HSTS đủ dài.

Điều gì thực sự quyết định điểm

CertH chấm năm nhóm có trọng số từ một lần bắt tay TLS thuần: hiệu lực và chuỗi chứng chỉ, độ mạnh khóa và thuật toán chữ ký, các phiên bản giao thức được cung cấp, bộ mật mã được thương lượng, và HSTS cùng OCSP stapling. Không truy cập máy chủ, không agent, không tải tệp cấu hình lên — mọi thứ được quan sát từ bên ngoài, đúng như trình duyệt sẽ thấy.

Ngưỡng rất đơn giản. A+ cần điểm 95 trở lên, TLS 1.3 trong danh sách giao thức thương lượng, và HSTS đã preload hoặc có max-age tối thiểu 180 ngày. A bắt đầu từ 90, B từ 80, C từ 70, D từ 55, dưới 55 là F. Chứng chỉ hết hạn tự động 0 điểm.

Bốn thay đổi đưa bạn từ A lên A+

Trên thực tế khoảng cách gần như luôn là một trong bốn điều này. Sửa theo thứ tự — mỗi cái đều kiểm chứng độc lập được từ bên ngoài, nên bạn có thể quét lại sau từng bước.

  • •Bật TLS 1.3. Nó tự có điểm và là bắt buộc cho A+ kể cả khi mọi thứ khác đạt 100 hoàn hảo.
  • •Nâng HSTS lên tối thiểu max-age=15552000 (180 ngày). Một năm (31536000) là lựa chọn phổ biến.
  • •Cung cấp chuỗi đầy đủ, gồm cả chứng chỉ trung gian. Thiếu trung gian sẽ hiện thành lỗi chuỗi ở một số client và mất điểm.
  • •Bật OCSP stapling để việc kiểm tra thu hồi đi cùng bắt tay thay vì làm lộ IP người truy cập cho CA.

Cấu hình nginx đạt A+

Một đoạn server hoàn chỉnh cho nginx hiện đại (1.19+ với OpenSSL 1.1.1+). Nếu nginx của bạn được build với OpenSSL cũ hơn, TLS 1.3 sẽ âm thầm không khả dụng dù bạn viết gì ở đây — hãy kiểm tra bằng nginx -V trước.

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;

Cấu hình Apache đạt A+

Apache cần khai báo cache stapling một lần ở cấp server, không phải trong virtual host. Phần còn lại đặt trong khối <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"

Những lỗi khiến site mắc kẹt ở A

Phổ biến nhất: bật HSTS với includeSubDomains trên tên miền vẫn còn subdomain chỉ HTTP — chúng hỏng ngay lập tức, và phản ứng thường thấy là xóa toàn bộ header, đưa bạn về A. Triển khai HSTS theo bước: bắt đầu với max-age 300 giây, theo dõi một tuần, rồi nâng dần lên một năm.

Lỗi phổ biến thứ hai là cho rằng TLS 1.3 đã bật vì chứng chỉ còn mới. Chứng chỉ và phiên bản giao thức độc lập với nhau. Một chứng chỉ mới tinh trên máy chủ chỉ nói TLS 1.2 vẫn dưới 95 điểm.

Thứ ba là CDN đứng trước origin. Nếu Cloudflare, Fastly hoặc bộ cân bằng tải kết thúc TLS, cấu hình origin không còn ý nghĩa — điểm phản ánh edge, nên phải đổi thiết lập ở đó.

Tự kiểm chứng

Mỗi thay đổi xác nhận được trong vài giây ở terminal. TLS 1.3 chỉ được thương lượng nếu máy chủ thực sự cung cấp, HSTS hiện trong header phản hồi, và stapling xuất hiện trong khối phản hồi 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

A+ có cần chứng chỉ trả phí hay chứng chỉ xác thực mở rộng không?

Không. Chứng chỉ xác thực tên miền (DV) hoàn toàn có thể đạt A+ — điểm đo cấu hình TLS, không đo mức xác thực. Loại chứng chỉ chỉ quan trọng khi nó thay đổi chuỗi hoặc thuật toán khóa.

Vì sao điểm của tôi giảm sau khi gia hạn chứng chỉ?

Gia hạn thường kéo theo nhà phát hành hoặc loại khóa khác, và một số máy chủ quay về bộ mật mã khác sau khi reload. CertH ghi lại thay đổi này trong phần phân tích diễn biến điểm của báo cáo tên miền, kèm lý do cụ thể.

Có cần HSTS preload để đạt A+ không?

Không. Preload chỉ là một trong hai cách thỏa yêu cầu HSTS; max-age tối thiểu 180 ngày mà không preload là đủ. Preload nghiêm ngặt hơn và khó gỡ hơn nhiều, hãy coi là tùy chọn.

Đọc tiếp