0Pricing
Cyber Security Academy · บทเรียน

การตรวจสอบใบรับรอง

ยืนยันตัวตนเซิร์ฟเวอร์

การตรวจสอบใบรับรอง เป็นบทเรียน Cyber Security Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cyber Security Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

เหตุใดจึงต้องตรวจสอบใบรับรอง

การเข้ารหัสเพียงอย่างเดียวไม่เพียงพอ หากคุณเข้ารหัสการเชื่อมต่อไปยังผู้โจมตี คุณก็ปกป้องการสนทนาผิดฝ่าย

การตรวจสอบใบรับรองช่วยให้มั่นใจว่าคุณกำลังสื่อสารกับเซิร์ฟเวอร์ที่ต้องการจริง ๆ

สิ่งที่ไคลเอนต์ตรวจสอบ

ระหว่างการจับมือ ไคลเอนต์จะตรวจสอบหลายสิ่งดังนี้:

  • ห่วงโซ่ใบรับรองไปถึงรากที่เชื่อถือได้
  • ใบรับรองอยู่ภายในช่วงเวลาที่มีผล
  • ใบรับรองไม่ถูกเพิกถอน
  • ชื่อโฮสต์ตรงกัน

การจับคู่ชื่อโฮสต์

ชื่อโฮสต์ที่คุณเชื่อมต่อจะต้องตรงกับรายการชื่อทางเลือกของหัวเรื่อง (SAN)ในใบรับรอง

ช่องชื่อทั่วไป (CN)แบบเก่าเลิกใช้สำหรับกรณีนี้แล้ว ไคลเอนต์สมัยใหม่จึงต้องใช้ SAN

openssl x509 -in cert.pem -noout -ext subjectAltName

วันที่มีผล

ใบรับรองทุกใบมีการประทับเวลาไม่ก่อนและไม่หลัง หากอยู่นอกช่วงเวลานี้ ใบรับรองจะถูกปฏิเสธ

openssl x509 -in cert.pem -noout -dates

การตรวจสอบห่วงโซ่ความน่าเชื่อถือ

ไคลเอนต์จะไล่ตรวจห่วงโซ่จากใบรับรองปลายทางไปยังรากในที่เก็บใบรับรองที่เชื่อถือได้ พร้อมตรวจสอบลายเซ็นแต่ละรายการ

หากไม่มีเส้นทางไปยังรากที่เชื่อถือได้ การตรวจสอบจะล้มเหลว แม้ใบรับรองจะดูถูกต้องก็ตาม

การตรวจสอบการเพิกถอน

ไคลเอนต์จะตรวจสอบว่าใบรับรองถูกเพิกถอนก่อนกำหนดหรือไม่โดยใช้ OCSP หรือ CRL

เบราว์เซอร์จำนวนมากใช้การแนบข้อมูล OCSP หรือรายการเพิกถอนที่คัดสรรแล้ว เพื่อให้การตรวจสอบรวดเร็ว

ข้อจำกัดการใช้งานกุญแจ

ใบรับรองจะระบุการใช้งานที่อนุญาตไว้ในส่วนขยายการใช้งานกุญแจและการใช้งานกุญแจเพิ่มเติม

ใบรับรองเซิร์ฟเวอร์ต้องมี serverAuth ส่วนใบรับรอง CA ต้องตั้งค่าแฟล็ก CA ไว้ ใบรับรองที่ใช้งานผิดวัตถุประสงค์จะถูกปฏิเสธ

การตรึงใบรับรอง

การตรึงจะกำหนดใบรับรองหรือกุญแจสาธารณะที่คาดหวังไว้ตายตัวในไคลเอนต์ ซึ่งพบได้บ่อยในแอปมือถือ

แม้ใบรับรองนั้นจะถูกต้องและลงนามโดย CA แต่หากไม่ใช่ใบรับรองที่คาดไว้ก็จะถูกปฏิเสธ ช่วยป้องกัน CA ที่ไม่น่าไว้วางใจหรือถูกบุกรุก

เมื่อการตรวจสอบล้มเหลว

ข้อผิดพลาดในการตรวจสอบที่พบบ่อย ได้แก่:

  • NET::ERR_CERT_DATE_INVALID (หมดอายุ)
  • NET::ERR_CERT_COMMON_NAME_INVALID (ชื่อโฮสต์ไม่ตรงกัน)
  • NET::ERR_CERT_AUTHORITY_INVALID (ผู้ออกใบรับรองไม่น่าเชื่อถือ)

อันตรายจากการข้ามการตรวจสอบ

การปิดใช้การตรวจสอบใบรับรอง เช่น curl -k หรือ verify=False จะลบการป้องกันทั้งหมดจากการปลอมตัวเป็นผู้อื่น

ไม่ควรใช้วิธีนี้ในโค้ดที่ใช้งานจริงโดยเด็ดขาด เพราะเป็นการเปิดช่องให้เกิดการโจมตีแบบคนกลาง

# DO NOT do this in production
curl -k https://example.com

การตรวจสอบจากบรรทัดคำสั่ง

คุณสามารถเรียกใช้การตรวจสอบแบบเต็มกับเซิร์ฟเวอร์ที่กำลังทำงานอยู่ได้

openssl s_client -connect example.com:443 \
  -verify_hostname example.com -verify_return_error

ตรวจสอบอย่างรวดเร็ว

นักพัฒนาตั้งค่า verify=False เพื่อระงับข้อผิดพลาดของใบรับรองในระบบจริง การทำเช่นนี้ก่อให้เกิดความเสี่ยงใด

สรุปทบทวน

คุณได้เรียนรู้วิธีที่ไคลเอนต์ทำการตรวจสอบใบรับรอง

  • การตรวจสอบครอบคลุมความน่าเชื่อถือของห่วงโซ่ วันที่มีผล การเพิกถอน และชื่อโฮสต์ (SAN)
  • การตรึงช่วยเพิ่มการป้องกันจาก CA ที่ไม่น่าไว้วางใจ
  • อย่าปิดใช้การตรวจสอบในระบบจริงโดยเด็ดขาด

ถัดไป เราจะดูการโจมตีที่พบบ่อยต่อ TLS

คำถามที่พบบ่อย

บทเรียน “การตรวจสอบใบรับรอง” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “การตรวจสอบใบรับรอง” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cyber Security Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cyber Security Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “การตรวจสอบใบรับรอง”

ยืนยันตัวตนเซิร์ฟเวอร์ คุณปฏิบัติ Cyber Security Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cyber Security Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cyber Security Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “การตรวจสอบใบรับรอง” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cyber Security Academy นี้ได้ไหม

ได้ บทเรียน Cyber Security Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การจับมือ TLS
  2. ชุดการเข้ารหัส
  3. การตรวจสอบใบรับรอง
  4. การโจมตี TLS ที่พบบ่อย
← กลับไปที่ Cyber Security Academy