Kiểm thử TLS cho Web/Mail Server
Sau khi cấu hình SSL/TLS (Apache, nginx, IIS, Postfix, Zimbra…), bước quan trọng tiếp theo là kiểm thử để chắc chắn hệ thống:
- Đang chạy TLS 1.2/1.3.
- Không còn cipher yếu.
- Đạt chuẩn A+ trên SSL Labs.
1. Kiểm thử bằng OpenSSL
Công cụ OpenSSL có sẵn trên hầu hết Linux/Unix.
Ví dụ test TLS 1.3 handshake:
openssl s_client -connect example.com:443 -tls1_3
- Nếu kết nối thành công → server hỗ trợ TLS 1.3.
- Nếu lỗi → server chưa bật TLS 1.3 hoặc OpenSSL trên client quá cũ.
Có thể thử thêm TLS 1.2:
openssl s_client -connect example.com:443 -tls1_2
2. Kiểm thử bằng testssl.sh
testssl.sh là script mạnh mẽ để quét TLS config.
Ví dụ test nhanh:
./testssl.sh -U --sneaky https://example.com
- -U: kiểm tra cipher suite.
- --sneaky: chạy nhanh, không quá verbose.
Kết quả sẽ hiển thị:
- Protocols hỗ trợ (TLS 1.0 → 1.3).
- Cipher suite (AES-GCM, ChaCha20, CBC…).
- Vulnerability check (Heartbleed, ROBOT, BEAST…).
3. Kiểm thử bằng Qualys SSL Labs
Công cụ online: Qualys SSL Labs Test.
Website sẽ được chấm điểm (A+ → F).
Để đạt A+ năm 2025, cần:
- TLS 1.2/1.3 only (disable SSLv3, TLS 1.0/1.1).
- Cipher AEAD: AES-GCM hoặc ChaCha20-Poly1305.
- HSTS bật (Strict-Transport-Security).
- OCSP Stapling hoạt động.
Đây là công cụ phổ biến nhất để báo cáo compliance cho PCI DSS, ISO 27001.
Best Practices 2025
- Automation: tích hợp testssl.sh trong CI/CD để test TLS config mỗi khi deploy.
- Giám sát định kỳ: cron job + openssl s_client để alert khi cert sắp hết hạn hoặc TLS config thay đổi.
- So sánh với chuẩn NIST & Mozilla TLS Guidelines.
- Lưu log kết quả SSL Labs để audit hàng quý.
Kết luận
Để đảm bảo server an toàn:
- Dùng OpenSSL test thủ công TLS handshake.
- Dùng testssl.sh để kiểm tra chi tiết cipher & lỗ hổng.
- Dùng Qualys SSL Labs để đạt chứng nhận A+ với TLS 1.2/1.3, cipher mạnh, HSTS và OCSP stapling.
Kiểm thử TLS không chỉ là bước sau khi cấu hình, mà còn phải duy trì liên tục để bảo vệ hệ thống.


