logo
GeekFormat

Kiểm Tra Chứng Chỉ SSL

Sonar chứng chỉ

Bắt đầu TLS handshake trực tiếp từ máy chủ, đọc chứng chỉ, đàm phán giao thức và thời hạn còn lại.

Kiểm tra chứng chỉ SSL/TLS trực tuyến, nhập tên miền để xem chứng chỉ có hợp lệ hay không, tên miền có khớp không, số ngày còn lại, phiên bản TLS, bộ mã hóa và danh sách SAN, backend bắt đầu bắt tay không có vấn đề CORS.

Đề xuất Liên quan

Trường hợp sử dụng

  • Xác minh nhanh HTTPS có hoạt động bình thường hay không trước khi đưa trang web lên mạng/sau khi gia hạn chứng chỉ
  • Cảnh báo chứng chỉ sắp hết hạn: Kiểm tra định kỳ số ngày còn lại để tránh gián đoạn truy cập do hết hạn bất ngờ
  • Khắc phục lỗi HTTPS trên trình duyệt: Xác định đó là sự cố hết hạn, tên miền không khớp hay chuỗi chứng chỉ
  • Xác minh chứng chỉ nút biên đã được tải đúng cách hay chưa sau khi triển khai CDN/proxy ngược
  • Kiểm tra phiên bản giao thức TLS và bộ mã hóa có đáp ứng yêu cầu bảo mật và tuân thủ hay không
  • Xác minh danh sách SAN có bao phủ tất cả tên miền đích hay không sau khi triển khai chứng chỉ nhiều tên miền

Tính năng

  • Bắt tay TLS backend: Bắt đầu kết nối TLS trực tiếp từ máy chủ, không có giới hạn CORS của trình duyệt, có thể kiểm tra bất kỳ tên miền công cộng nào
  • Đánh giá trạng thái ủy quyền tức thì: Chứng chỉ có hợp lệ hay không, tên miền có khớp không và thông tin lỗi ủy quyền đều có thể nhìn thấy rõ ràng
  • Cảnh báo màu sắc cho số ngày còn lại: >30 ngày xanh lá, 7-30 ngày vàng, <7 ngày đỏ, đánh giá nhanh thời điểm gia hạn
  • Cấu hình cốt lõi trong nháy mắt: Phiên bản giao thức TLS, Cipher, kết quả thương lượng ALPN có thể nhìn thấy trực tiếp
  • Hiển thị đầy đủ danh sách SAN: Tất cả Subject Alternative Name được liệt kê dưới dạng thẻ, hơn 8 có thể mở rộng để xem tất cả
  • Sao chép dấu vân tay kép một cú nhấp: Dấu vân tay SHA-1 và SHA-256 được hiển thị riêng biệt và hỗ trợ sao chép một cú nhấp
  • Xuất JSON đầy đủ: Có thể mở rộng để xem cấu trúc JSON đầy đủ của chứng chỉ, hỗ trợ sao chép một cú nhấp để điều tra sâu và lưu trữ

Cách Sử dụng

  1. Nhập tên miền cần kiểm tra (ví dụ geekformat.com, không có tiền tố https://)
  2. Nhấp vào nút 'Kiểm tra chứng chỉ', chờ 1-3 giây để nhận kết quả bắt tay TLS
  3. Đầu tiên xem trạng thái ủy quyền (xanh lá hợp lệ/đỏ không hợp lệ) và màu sắc của số ngày còn lại
  4. Kiểm tra phiên bản TLS, Cipher, thương lượng ALPN có phù hợp với kỳ vọng hay không
  5. Xem Subject/Issuer, thời hạn hiệu lực, danh sách SAN để xác nhận thông tin chứng chỉ là chính xác
  6. Nếu cần điều tra sâu, mở rộng chi tiết JSON để xem cấu trúc chứng chỉ đầy đủ và sao chép để lưu trữ

Câu hỏi Thường gặp

Tại sao cần kiểm tra chứng chỉ SSL?

Chứng chỉ SSL hết hạn, tên miền không khớp, lỗi cấu hình là những loại sự cố phổ biến nhất của trang web HTTPS. Sau khi chứng chỉ hết hạn, trình duyệt sẽ hiển thị cảnh báo 'không an toàn' làm khách truy cập rời đi, thứ hạng tìm kiếm Google cũng bị ảnh hưởng. Kiểm tra định kỳ và gia hạn sớm là công việc bảo trì cơ bản để đảm bảo HTTPS hoạt động bình thường.

Kiểm tra chứng chỉ khác gì với SSL Labs?

SSL Labs thực hiện chấm điểm sâu (bao gồm kiểm tra toàn diện về giao thức, bộ mã hóa, lỗ hổng, mất khoảng 2 phút), công cụ này thực hiện kiểm tra cơ bản nhanh chóng (trả về kết quả trong 1-3 giây), bao gồm thông tin cốt lõi như hiệu lực chứng chỉ, thời hạn hiệu lực, phiên bản TLS, bộ mã hóa, danh sách SAN, phù hợp để xác minh nhanh trước khi lên mạng, xác nhận gia hạn, khắc phục sự cố.

Tại sao trình duyệt có thể truy cập trực tiếp nhưng kiểm tra bằng công cụ này lại thất bại?

Nguyên nhân có thể: 1) Trang web chặn IP nước ngoài (máy chủ kiểm tra ở nước ngoài); 2) Máy chủ thực hiện phân biệt SNI nhưng cấu hình không đầy đủ; 3) Đang sử dụng chứng chỉ tự ký cho mạng nội bộ doanh nghiệp; 4) Tường lửa chặn các nút kiểm tra. Kiểm tra thất bại không có nghĩa là chứng chỉ có vấn đề, cần đánh giá dựa trên thông tin lỗi cụ thể.

TLS 1.2 và TLS 1.3 khác nhau như thế nào?

TLS 1.3 (2018, RFC 8446) là phiên bản mới nhất, tốc độ bắt tay được cải thiện từ 2-RTT của TLS 1.2 lên 1-RTT thậm chí 0-RTT, loại bỏ các thuật toán không an toàn như trao đổi khóa RSA, RC4, SHA-1, Forward Secrecy được bật mặc định, bảo mật và hiệu năng đều được cải thiện rõ rệt. Triển khai mới nên ưu tiên hỗ trợ TLS 1.3 và giữ lại TLS 1.2 để tương thích với máy khách cũ.

Còn bao nhiêu ngày thì nên gia hạn chứng chỉ?

Khuyến nghị bắt đầu chuẩn bị gia hạn 30 ngày trước khi hết hạn, hoàn thành triển khai ít nhất 7 ngày trước. Công cụ sử dụng cảnh báo màu sắc: >30 ngày xanh lá (bình thường), 7-30 ngày vàng (nên gia hạn), <7 ngày đỏ (khẩn cấp). Chứng chỉ Let's Encrypt có hiệu lực 90 ngày, khuyến nghị cấu hình gia hạn tự động.

Let's Encrypt

Danh sách SAN là gì? Tại sao nó quan trọng?

SAN (Subject Alternative Name) là danh sách tên miền/IP trong chứng chỉ được phép sử dụng. Trình duyệt hiện đại (Chrome 58+) đã không còn tin tưởng trường Common Name(CN) nữa, chỉ kiểm tra SAN. Nếu tên miền truy cập không có trong danh sách SAN, trình duyệt sẽ báo lỗi 'tên miền không khớp'. Một chứng chỉ có thể bao phủ nhiều tên miền thông qua SAN (ví dụ example.com, www.example.com, api.example.com).

Tại sao cần xem dấu vân tay chứng chỉ?

Dấu vân tay chứng chỉ (SHA-1/SHA-256) là giá trị băm của nội dung chứng chỉ, có thể được sử dụng cho HPKP (đã loại bỏ), Certificate Pinning, cũng như xác minh thủ công chứng chỉ được triển khai có khớp với dự kiến hay không, ví dụ xác nhận CDN đã tải chứng chỉ mới đúng cách hay chưa, hoặc xác minh chứng chỉ có giống nhau giữa nhiều máy chủ. Lưu ý: Dấu vân tay SHA-1 chỉ được sử dụng để nhận dạng, không nên sử dụng để kiểm tra bảo mật.

Kiểm tra chứng chỉ SSL/TLS là gì?

Kiểm tra chứng chỉ SSL/TLS là quá trình bắt đầu bắt tay TLS từ máy khách, lấy và phân tích thông tin chứng chỉ được trả về bởi máy chủ đích, từ đó xác định cấu hình HTTPS có đúng hay không. Các mục kiểm tra cốt lõi bao gồm: chứng chỉ có trong thời hạn hiệu lực hay không, tên miền truy cập có trong danh sách cho phép của chứng chỉ hay không (khớp SAN), chuỗi chứng chỉ có đầy đủ và đáng tin cậy hay không, phiên bản giao thức TLS và bộ mã hóa được sử dụng có an toàn hay không, v.v.

**Tại sao kiểm tra chứng chỉ lại quan trọng đến vậy?** Chứng chỉ SSL là nền tảng tin cậy của HTTPS. Một khi chứng chỉ có vấn đề (phổ biến nhất là hết hạn), trình duyệt sẽ ngay lập tức chặn truy cập và hiển thị trang cảnh báo màu đỏ 'Kết nối của bạn không phải là kết nối riêng tư', gây thiệt hại trực tiếp cho lưu lượng truy cập trang web, tỷ lệ chuyển đổi, thứ hạng SEO và niềm tin thương hiệu. Theo theo dõi, chứng chỉ hết hạn là nguyên nhân phổ biến nhất của sự cố HTTPS, chiếm hơn 40% tất cả các sự cố HTTPS.

**Khác gì với truy cập trực tiếp trong trình duyệt?** Truy cập trình duyệt có thể bị ảnh hưởng bởi bộ đệm, HSTS, proxy doanh nghiệp, chứng chỉ máy khách và các yếu tố khác gây ra sai lệch; trong khi công cụ kiểm tra chứng chỉ bắt đầu bắt tay TLS tiêu chuẩn từ một nút độc lập và trả về thông tin chứng chỉ khách quan, được chuẩn hóa, phù hợp cho các kịch bản xác minh vận hành. Công cụ này bắt đầu bắt tay TLS trực tiếp từ máy chủ backend, **không có giới hạn CORS của trình duyệt**, có thể kiểm tra bất kỳ tên miền HTTPS nào có thể truy cập công khai.

**Thông tin cốt lõi mà công cụ này kiểm tra**: Trạng thái ủy quyền chứng chỉ (hợp lệ hay không), thông tin lỗi authorizationError cụ thể, phiên bản giao thức TLS (TLS 1.2/1.3), bộ mã hóa được thương lượng (Cipher), kết quả thương lượng giao thức ALPN (h2/http/1.1), nhà cấp phát chứng chỉ (Subject/Issuer), ngày hiệu lực (validFrom/validTo), số ngày còn lại (với cảnh báo màu sắc), danh sách SAN Subject Alternative Name, dấu vân tay SHA-1/SHA-256, thời gian phản hồi và chi tiết JSON đầy đủ.

Kết quả thường được trả về trong 1-3 giây, phù hợp cho các kịch bản như xác minh nhanh trước khi lên mạng, xác nhận gia hạn, khắc phục sự cố, v.v. Nếu cần chấm điểm sâu (như xếp hạng A+-F của SSL Labs, bao gồm thương lượng lại, kiểm tra lỗ hổng, mức độ hỗ trợ giao thức, v.v.), khuyến nghị sử dụng cùng với SSL Labs Server Test.

术语表

SSL/TLS
SSL (Secure Sockets Layer) là giao thức mã hóa được phát triển bởi Netscape vào những năm 1990, sau đó được IETF chuẩn hóa và đổi tên thành TLS (Transport Layer Security). SSL 3.0 và các phiên bản trước đó đều đã bị loại bỏ, hiện nay thực tế đang sử dụng là TLS 1.2 và TLS 1.3, nhưng theo thói quen vẫn thường gọi là 'chứng chỉ SSL'.
HTTPS
HTTP over TLS, thêm lớp mã hóa TLS giữa HTTP và TCP, cung cấp mã hóa dữ liệu, xác thực máy chủ và bảo vệ tính toàn vẹn nội dung. Tìm kiếm Google có trọng số cho các trang HTTPS, Chrome đánh dấu các trang không phải HTTPS là 'không an toàn'.
SAN (Subject Alternative Name)
Trường mở rộng chứng chỉ X.509, liệt kê tất cả các tên miền và địa chỉ IP được phép sử dụng với chứng chỉ này. Trình duyệt hiện đại (Chrome 58+) chỉ kiểm tra SAN và không còn xem Common Name(CN) nữa. Một chứng chỉ SAN có thể bảo vệ nhiều tên miền cùng lúc.
Chuỗi Chứng Chỉ (Certificate Chain)
Chuỗi tin cậy từ chứng chỉ lá (chứng chỉ máy chủ) đến chứng chỉ CA trung gian, sau đó đến chứng chỉ CA gốc. Máy chủ phải gửi chứng chỉ lá + chứng chỉ trung gian, trình duyệt xác minh tính toàn vẹn của chuỗi thông qua chứng chỉ gốc được cài đặt sẵn. Thiếu chứng chỉ trung gian là lỗi cấu hình phổ biến.
ALPN (Application-Layer Protocol Negotiation)
Mở rộng TLS, cho phép thương lượng giao thức lớp ứng dụng trong giai đoạn bắt tay TLS (ví dụ h2 cho HTTP/2, http/1.1 cho HTTP/1.1, h3 cho HTTP/3). Sau khi bắt tay hoàn thành, giao thức đã thương lượng được sử dụng trực tiếp, không cần gửi nhận thêm.
Cipher Suite (bộ mã hóa)
Một tập hợp các thuật toán mã hóa được thương lượng khi bắt tay TLS, bao gồm thuật toán trao đổi khóa, thuật toán xác thực, thuật toán mã hóa đối xứng và thuật toán băm, ví dụ TLS_AES_256_GCM_SHA384. Cấu hình an toàn nên ưu tiên sử dụng bộ AEAD (như GCM, ChaCha20-Poly1305).
Let's Encrypt
Tổ chức cấp chứng chỉ (CA) miễn phí, tự động, mở do ISRG vận hành, chính thức ra mắt vào năm 2016, đã cấp hơn 3 tỷ chứng chỉ, giảm đáng kể ngưỡng triển khai HTTPS. Chứng chỉ có hiệu lực 90 ngày, được gia hạn tự động thông qua giao thức ACME.Trang web Let's Encrypt
Dấu Vân Tay Chứng Chỉ (Fingerprint)
Giá trị băm được tính trên nội dung mã hóa DER của chứng chỉ, thường là SHA-1 và SHA-256. Dấu vân tay được sử dụng để nhận dạng duy nhất một chứng chỉ, cho Certificate Pinning và xác minh tính nhất quán giữa nhiều nút. SHA-1 không được khuyến nghị cho mục đích bảo mật do rủi ro va chạm, nhưng vẫn được sử dụng rộng rãi để nhận dạng.
SNI (Server Name Indication)
Mở rộng TLS, trong đó máy khách đã gửi tên miền cần truy cập ở giai đoạn bắt tay, cho phép máy chủ trên cùng một IP có thể triển khai nhiều chứng chỉ cho các tên miền khác nhau (tương tự như tiêu đề Host của HTTP). SNI là nền tảng của HTTPS máy chủ ảo hiện đại, máy chủ không có cấu hình SNI sẽ trả về chứng chỉ mặc định, có thể dẫn đến lỗi tên miền không khớp.
Forward Secrecy (PFS)
Một thuộc tính bảo mật: ngay cả khi khóa riêng của máy chủ bị rò rỉ trong tương lai, lưu lượng phiên mã hóa đã ghi lại trước đó cũng không thể được giải mã. Điều này đạt được thông qua các thuật toán trao đổi khóa tạm thời như ECDHE, là yêu cầu bắt buộc trong TLS 1.3 và là tiêu chuẩn được khuyến nghị cho cấu hình bảo mật hiện đại.

Lịch sử và trạng thái phiên bản giao thức TLS

Phiên bản giao thứcNăm phát hànhTrạng thái hiện tạiGhi chú
SSL 1.0-3.01995-1996❌ Đã loại bỏ/không an toànCó lỗ hổng nghiêm trọng như POODLE, tất cả trình duyệt hiện đại đã vô hiệu hóa
TLS 1.01999❌ Đã loại bỏLỗ hổng như BEAST, CRIME, bị cấm từ PCI DSS 2018
TLS 1.12006❌ Đã loại bỏĐã chính thức loại bỏ trong RFC 8996, Chrome/Firefox đã loại bỏ hỗ trợ từ 2020
TLS 1.22008⚠️ Hỗ trợ rộng rãi (chuyển tiếp)Được triển khai rộng rãi nhất hiện nay, khả năng tương thích tốt nhất, nhưng có rủi ro về một số bộ mã hóa yếu
TLS 1.32018 (RFC 8446)✅ Khuyến nghịBắt tay nhanh hơn (1-RTT/0-RTT), loại bỏ các thuật toán yếu, là lựa chọn hàng đầu cho trình duyệt hiện đại

Cảnh báo màu sắc khi chứng chỉ sắp hết hạn và đề xuất xử lý

Số ngày còn lạiMàu trạng tháiHành động đề xuất
>30 ngày🟢 Xanh lá (bình thường)Không cần xử lý, kiểm tra định kỳ là được
7-30 ngày🟡 Vàng (cảnh báo)Sớm bắt đầu quy trình gia hạn, đảm bảo hoàn thành thay thế trước khi hết hạn
<7 ngày🔴 Đỏ (khẩn cấp)Gia hạn ngay lập tức, sau khi hết hạn trình duyệt sẽ chặn truy cập
0 ngày/đã hết hạn🔴 Đỏ (đã hết hạn)Chứng chỉ đã không hợp lệ, người dùng sẽ thấy cảnh báo bảo mật, phải xử lý ngay

Khắc phục sự cố các loại lỗi SSL phổ biến

Loại lỗiNguyên nhân phổ biếnHướng giải quyết
Chứng chỉ hết hạn (expired)Chứng chỉ chưa được gia hạn sau ngày validToGia hạn kịp thời và triển khai chứng chỉ mới
Tên miền không khớp (name mismatch)Tên miền hiện tại không có trong danh sách SAN của chứng chỉCấp lại chứng chỉ chứa tên miền đích, hoặc kiểm tra cấu hình nguồn CDN
Chuỗi chứng chỉ không đầy đủ (incomplete chain)Máy chủ chưa cấu hình đúng chứng chỉ trung gianKết hợp chứng chỉ trung gian với chứng chỉ lá để triển khai
Chứng chỉ tự ký (self-signed)Chứng chỉ được ký bởi CA riêng, không được tin tưởng công khaiSử dụng chứng chỉ được cấp bởi CA công khai như Let's Encrypt
Nhà cấp phát không đáng tin cậy (untrusted issuer)Chứng chỉ gốc CA không có trong kho tin cậy của trình duyệtThay bằng chứng chỉ được cấp bởi CA đáng tin cậy

Authoritative References