ตรวจสอบใบรับรอง SSL/TLS
ตรวจสอบใบรับรอง SSL/TLS ของโดเมนใดก็ได้ทันที ดูวันหมดอายุ ผู้ออกใบรับรอง สถานะความน่าเชื่อถือ และ certificate chain ครบชุด ฟรี ไม่ต้องล็อกอิน
วิธีอ่านผลลัพธ์การตรวจใบรับรอง SSL
แต่ละฟิลด์ในผลลัพธ์อธิบายใบรับรองคนละส่วน นี่คือความหมายของแต่ละรายการและสิ่งที่ควรตรวจดู
Issuer (ชื่อ CA)
องค์กรที่ลงนามและออกใบรับรอง ควรเป็น CA ที่เป็นที่รู้จัก เช่น Let's Encrypt, DigiCert, Sectigo หรือ GlobalSign หาก issuer และ subject ใช้ CN และ O ชุดเดียวกัน ใบรับรองนั้นคือ self-signed และเบราว์เซอร์จะขึ้นคำเตือน
Subject Alternative Names
รายชื่อโดเมนและซับโดเมนที่ใบรับรองนี้ใช้งานได้ สำหรับ production ควรมีทั้ง apex domain และ www อยู่ด้วย รายการ wildcard (*.example.com) ครอบคลุมซับโดเมนระดับแรกทั้งหมด แต่ไม่ครอบคลุม apex domain หรือซับโดเมนระดับสอง
วันหมดอายุและตัวนับถอยหลัง
วันที่หลังจากนั้นใบรับรองจะไม่ถือว่าใช้ได้อีก ตัวชี้จะเปลี่ยนจากสีเขียว (>30 วัน) เป็นสีเหลือง (8–30 วัน) และสีแดง (<7 วัน) ใบรับรอง Let's Encrypt หมดอายุทุก 90 วัน ส่วนใบรับรองเชิงพาณิชย์มักมีอายุ 1 ปี
เวอร์ชัน TLS
เวอร์ชัน TLS ที่เซิร์ฟเวอร์เจรจาได้สำหรับการเชื่อมต่อนี้ TLS 1.3 คือมาตรฐานปัจจุบันที่ทั้งเร็วและปลอดภัยกว่า TLS 1.2 ยังถือว่ายอมรับได้ ส่วน TLS 1.0 และ 1.1 ควรถูกปิดใช้งาน และ SSLv3/SSLv2 มีช่องโหว่ร้ายแรง
Serial Number
ตัวระบุเฉพาะที่ CA กำหนดให้ใบรับรองแต่ละใบ ใช้ได้ดีในการจัดการใบรับรอง ตรวจสอบ OCSP และติดตามเหตุการณ์เมื่อโดเมนเดียวมีใบรับรองหลายใบ
SHA-256 Fingerprint
ค่าแฮชเชิงเข้ารหัสของเนื้อหาทั้งหมดในใบรับรอง หาก fingerprint เหมือนกัน แปลว่าเป็นใบรับรองเดียวกัน เปรียบเทียบค่าก่อนและหลังการ rotate ใบรับรองเพื่อยืนยันว่าอัปเดตแล้วจริง หรือใช้ตรวจจับการถูกสวมแทนโดยไม่คาดคิด
แผนปฏิบัติการตามอายุใบรับรอง
ปัญหา SSL ที่พบมากที่สุดคือใบรับรองหมดอายุ ตารางนี้ช่วยให้คุณเห็นว่าควรทำอะไรตามจำนวนวันที่เหลืออยู่
| วันก่อนหมดอายุ | สถานะ | การดำเนินการที่แนะนำ |
|---|---|---|
| > 30 วัน | ปกติ | ยังไม่ต้องดำเนินการ เพียงตั้งเตือนสำหรับช่วง 30 วันก่อนหมดอายุ |
| 8–30 วัน | คำเตือน | เริ่มกระบวนการต่ออายุได้เลย CA และบริการต่ออายุอัตโนมัติส่วนใหญ่ (Let's Encrypt, Certbot) มักดำเนินการเมื่อเหลือ 30 วัน |
| 1–7 วัน | ด่วน | ต่ออายุทันที ใบรับรองที่หมดอายุทำให้เกิดข้อผิดพลาดของเบราว์เซอร์และบล็อกการรับส่งข้อมูล HTTPS ทั้งหมด |
| 0 หรือน้อยกว่า | หมดอายุแล้ว | ใบรับรองหมดอายุแล้ว แทนที่ทันที เว็บไซต์ของคุณจะแสดงข้อผิดพลาดด้านความปลอดภัยแก่ผู้เยี่ยมชมทุกคน |
ข้อผิดพลาด SSL ที่พบบ่อยใน Chrome, Firefox และ Safari: สาเหตุและวิธีแก้
นี่คือข้อผิดพลาด SSL ที่พบได้บ่อยที่สุดในเบราว์เซอร์และความหมายของแต่ละแบบ ใช้เครื่องมือนี้หา root cause ก่อน แล้วค่อยแก้ให้ตรงจุด
ค่า valid_to ของใบรับรองเป็นวันที่ในอดีต แปลว่าใบรับรองหมดอายุแล้ว และต้องต่ออายุก่อนที่เบราว์เซอร์จะกลับมาเชื่อถือการเชื่อมต่อ
ต่ออายุใบรับรองผ่าน CA หรือผู้ให้บริการโฮสติ้งของคุณ และตรวจสอบว่าระบบต่ออายุอัตโนมัติตั้งค่าไว้อย่างถูกต้อง เพราะ CA ส่วนใหญ่จะต่ออายุในช่วง 30 วันสุดท้ายก่อนหมดอายุ
โดเมนในแถบที่อยู่ของเบราว์เซอร์ไม่ได้อยู่ในฟิลด์ CN หรือ SAN ของใบรับรอง มักเกิดหลังการย้ายโดเมน ชื่อซับโดเมนไม่ตรง หรือออกใบรับรองผิดโดเมน
ออกใบรับรองใหม่โดยใส่โดเมนที่ถูกต้อง และตรวจสอบว่ามีทั้ง apex domain (example.com) และ www subdomain (www.example.com) อยู่ในรายการ SAN
ใบรับรองถูกออกโดย CA ที่ไม่มีอยู่ใน trust store ของเบราว์เซอร์หรือระบบปฏิบัติการ ซึ่งรวมถึงใบรับรอง self-signed, ใบรับรองที่ออกใช้ภายในองค์กร และกรณีที่ chain ขาด intermediate CA
ติดตั้งใบรับรองจาก CA สาธารณะที่เชื่อถือได้ หากใช้ CA ภายในองค์กร ให้ติดตั้ง root certificate ลงใน trust store ของไคลเอนต์ และตรวจสอบว่าเซิร์ฟเวอร์ส่ง intermediate chain มาครบ
ใบรับรองถูกเพิกถอนโดยผู้ออกอย่างชัดเจน มักเกิดจาก private key ถูก compromise, โดเมนเปลี่ยนเจ้าของ หรือออกใบรับรองผิดพลาด
ขอใบรับรองใหม่ทันที หากคุณไม่ได้เป็นผู้เพิกถอนเอง private key อาจถูก compromise ให้ทำ key rotation, ออกใบรับรองใหม่ และตรวจสอบสาเหตุการรั่วไหล
เซิร์ฟเวอร์ส่ง HTTP response มาที่ HTTPS port หรือ proxy คืน HTTP error มาก่อนที่ TLS handshake จะเสร็จ ทำให้พอร์ต 443 รับ plain text แทน TLS
ยืนยันว่าเซิร์ฟเวอร์ตั้งค่าให้เสิร์ฟ TLS บนพอร์ตที่คุณเชื่อมต่อจริง ตรวจสอบ load balancer และ proxy ว่าตั้งค่า TLS termination ถูกต้อง
ไคลเอนต์และเซิร์ฟเวอร์ไม่สามารถตกลงกันได้เรื่องเวอร์ชัน TLS หรือ cipher suite มักเกิดเมื่อเซิร์ฟเวอร์ยังรองรับแค่ TLS 1.0 หรือ 1.1 หรือใช้ชุดรหัสที่เบราว์เซอร์สมัยใหม่เลิกรองรับแล้ว
เปิดใช้งาน TLS 1.2 และ TLS 1.3 บนเซิร์ฟเวอร์ แล้วปิด TLS 1.0 และ TLS 1.1 จากนั้นอัปเดตรายการ cipher suite เพื่อตัด RC4, 3DES และ export-grade ciphers ออก ใช้ Mozilla TLS Configuration Generator เพื่อสร้างตัวอย่าง config สำหรับ Nginx และ Apache ได้
วิธีตรวจสอบใบรับรอง SSL ใน 3 ขั้นตอน
ป้อนโดเมน
พิมพ์ชื่อโดเมน เช่น github.com หรือ api.example.com ลงในช่องค้นหา ระบบจะตัด prefix https:// ให้อัตโนมัติ คุณยังระบุพอร์ตเองได้หากบริการ HTTPS ไม่ได้ทำงานบนพอร์ตมาตรฐาน 443
ตรวจรายละเอียดใบรับรอง
ภายในไม่กี่วินาที คุณจะเห็นข้อมูลใบรับรองครบถ้วน ทั้งวันหมดอายุและตัวนับถอยหลัง chain ของผู้ออก สถานะความน่าเชื่อถือ เวอร์ชันโปรโตคอล (TLS 1.2 หรือ 1.3) cipher suite, SAN และ SHA-256 fingerprint โดยไม่มีการเก็บข้อมูล
อ่านผลลัพธ์
ถ้าใบรับรองหมดอายุ ลงนามด้วยตนเอง หรือมี hostname mismatch ระบบจะแสดงปัญหาให้ชัดเจน แถบเตือนวันหมดอายุจะเป็นสีเหลืองเมื่อเหลือน้อยกว่า 30 วัน และเป็นสีแดงเมื่อเหลือน้อยกว่า 7 วัน คุณคัดลอกรายละเอียดทั้งหมดได้ในคลิกเดียว
ใบรับรอง SSL/TLS บอกอะไรได้บ้าง?
ใบรับรอง SSL/TLS คือข้อมูลยืนยันตัวตนดิจิทัลของเว็บไซต์ และเป็นสิ่งที่ทำให้การเชื่อมต่อแบบเข้ารหัสผ่าน HTTPS เกิดขึ้นได้ เมื่อคุณเข้าเว็บไซต์ผ่าน HTTPS เบราว์เซอร์จะตรวจสอบใบรับรองที่ออกโดย Certificate Authority (CA) ที่เชื่อถือได้ก่อนสร้างช่องทางเข้ารหัส หากใบรับรองไม่ถูกต้อง เบราว์เซอร์จะแสดงคำเตือนด้านความปลอดภัยและอาจบล็อกการเข้าถึง ซึ่งกระทบทั้งความเชื่อมั่นของผู้ใช้และอันดับในการค้นหา
ใบรับรอง SSL ทุกใบมีข้อมูลหลัก 3 ส่วน:
- •Subject — ชื่อโดเมนและชื่อองค์กรสำหรับ OV/EV ที่ใบรับรองออกให้
- •Issuer — Certificate Authority หรือ CA ที่ลงนามและตรวจสอบใบรับรอง
- •ช่วงเวลาที่มีผล — วันเริ่มต้นและวันสิ้นสุดที่แน่ชัดซึ่งใบรับรองยังได้รับความเชื่อถือ
สิ่งที่เครื่องมือนี้ไม่ได้ตรวจสอบ
เครื่องมือนี้ทำ live TLS handshake และอ่านข้อมูลใบรับรอง แต่ไม่ได้:
- ให้เกรดความแข็งแรงของ cipher suite แบบ A–F หากต้องการ TLS audit เต็มรูปแบบให้ใช้ SSL Labs
- ตรวจสอบ HSTS header หรือสถานะ preload list
- ทดสอบการตั้งค่า OCSP stapling
- ตรวจจับ certificate pinning (HPKP)
- ตรวจสอบพฤติกรรมการ redirect จาก HTTP ไป HTTPS
ประเภทของใบรับรอง SSL
ใบรับรองแต่ละประเภทมีระดับการตรวจสอบตัวตนต่างกัน ประเภทของใบรับรองบอกว่าผู้ออกตรวจอะไรบ้างก่อนออกใบรับรอง ไม่ได้บอกว่าการเข้ารหัสแข็งแรงกว่า
CA ตรวจสอบเพียงว่าผู้ขอควบคุมโดเมนนี้ได้จริง โดยไม่ได้ตรวจสอบตัวตนขององค์กร ออกได้ภายในไม่กี่นาทีผ่าน DNS challenge หรือ HTTP challenge แบบอัตโนมัติ เหมาะกับบล็อก เว็บไซต์ส่วนตัว และเครื่องมือภายใน โดยใน subject มักมีแค่ CN (ชื่อโดเมน) และไม่มีฟิลด์ O (organization)
CA ตรวจทั้งการควบคุมโดเมนและสถานะทางกฎหมายขององค์กร โดยทั่วไปใช้เวลา 1-3 วันทำการ ใบรับรองจะแสดงชื่อบริษัทในฟิลด์ O ทำให้ผู้ใช้เปิดดูได้ว่าใครเป็นเจ้าของ เหมาะกับเว็บไซต์ธุรกิจและ API
เป็นการตรวจสอบที่เข้มงวดที่สุด โดย CA จะตรวจโดเมน องค์กร ที่อยู่จริง สถานะทางกฎหมาย และการดำเนินงานจริง ในอดีตเบราว์เซอร์จะแสดงแถบที่อยู่สีเขียว ปัจจุบันชื่อบริษัทจะแสดงในรายละเอียดใบรับรอง มักใช้กับธนาคาร สถาบันการเงิน และแพลตฟอร์ม e-commerce ที่จัดการข้อมูลการชำระเงิน
ครอบคลุมโดเมนหลักและซับโดเมนระดับแรกทั้งหมดผ่านรูปแบบ *.example.com ใน CN หรือ SAN ใบรับรอง wildcard ใบเดียวสามารถปกป้อง www.example.com, api.example.com, cdn.example.com และโดเมนลักษณะเดียวกันได้ แต่ไม่ครอบคลุมซับโดเมนระดับสอง เช่น dev.api.example.com ซึ่งต้องใช้ใบรับรองแยก
ใบรับรองใบเดียวสามารถครอบคลุมหลายโดเมนผ่านส่วนขยาย Subject Alternative Names เหมาะกับกรณีที่มีหลายผลิตภัณฑ์อยู่ใต้ใบรับรองเดียว เช่น example.com, example.io และ app.example.net ใบรับรองสมัยใหม่ส่วนใหญ่ใช้ SAN แม้จะมีโดเมนเดียว และจะใส่ CN ซ้ำไว้ในรายการ SAN ด้วย
เมื่อใดควรตรวจสอบใบรับรอง SSL
ก่อนขึ้นระบบจริง
ตรวจสอบว่าใบรับรองครอบคลุมโดเมนที่จะนำขึ้น production จริง ยืนยันว่าผู้ออกเป็น CA ที่เชื่อถือได้ ไม่ใช่ใบรับรอง self-signed, รายการ SAN มีทั้งโดเมน apex และ www และโปรโตคอลที่เจรจาได้เป็น TLS 1.2 ขึ้นไปก่อนสลับ DNS
ติดตามการต่ออายุใบรับรอง
ตรวจวันหมดอายุล่วงหน้าเสมอ ใบรับรอง Let's Encrypt มีอายุ 90 วัน และถ้าระบบต่ออายุอัตโนมัติพลาด เว็บไซต์อาจล่มได้ทันที ใบรับรองเชิงพาณิชย์มักมีอายุ 1 ปี บันทึกหน้านี้ไว้และตรวจทุกเดือนสำหรับใบรับรองที่เหลืออายุน้อยกว่า 30 วัน
ตรวจสอบความปลอดภัย
ใช้เพื่อตรวจหาเซิร์ฟเวอร์ที่ยังรองรับ TLS 1.0 หรือ 1.1, ใช้ cipher suite ที่อ่อนแอ หรือใช้ใบรับรอง self-signed หลัง rotate ใบรับรองแล้ว ให้เทียบ SHA-256 fingerprint กับค่าที่คาดไว้เพื่อยืนยันว่าไม่ได้เกิดการสวมแทนแบบ MITM
หลังย้ายโดเมน
หลังย้ายโดเมนไปยังโฮสต์ใหม่หรือ CDN ให้ตรวจสอบว่าใบรับรองใหม่ครอบคลุมโดเมน ผู้ออกถูกต้อง และ SAN ตรงกับชุดชื่อที่คาดไว้ หากยังใช้ใบรับรองบนเซิร์ฟเวอร์เก่าหรือยังไม่ได้ provision ใบบนระบบใหม่ เบราว์เซอร์จะขึ้น error แม้ DNS จะตั้งถูกต้องแล้ว