ไคลเอนต์ VPN ของคุณบอกว่าตรวจสอบใบรับรองไม่ได้ และกล่องโต้ตอบก็จบแค่นั้น ไฟล์อยู่ครบ เซิร์ฟเวอร์ทำงานอยู่ และโปรไฟล์เดียวกันเคยทำงานบนแล็ปท็อปเครื่องอื่นเมื่อเดือนที่แล้ว ภายใต้คำเตือนบรรทัดเดียวนั้น ไคลเอนต์ได้พาใบรับรองของคู่ผ่านประตูสี่บาน คือหน่วยออกใบรับรองที่คุณตั้งค่าไว้รับประกันเส้นทางการลงนาม เส้นทางนั้นไปถึงหน่วยงานนั้น ชื่อของคู่คือชื่อที่คุณขอ และใบรับรองใช้งานได้กับวัตถุประสงค์นี้ในตอนนี้ ค้นหาประตูที่ปิดลง แล้วการซ่อมมักเป็นไฟล์เดียว ถ้าข้ามขั้นตอนนั้นไปคุณจะนำเข้าแพ็กเกจซ้ำทั้งบ่าย

อ่านกล่องโต้ตอบก่อนแก้ไขโปรไฟล์

ข้อความแสดงข้อผิดพลาดของใบรับรองนั้นสร้างโดยไลบรารีที่อยู่ข้างใต้ ไม่ใช่ผลิตภัณฑ์ VPN ที่คุณติดตั้ง ดังนั้นสตริงที่ตรงที่สุดจึงเป็นหลักฐานชิ้นแรกของคุณ ข้อความ «ไม่สามารถดึงใบรับรองของผู้้ออกภายในเครื่องได้» ชี้ไปที่เส้นทางหรือสมอความเชื่อถือ ข้อความ «ใบรับรองหมดอายุหรือยังไม่ถึงเวลาใช้งาน» ชี้ไปที่เวลา ข้อความ «วัตถุประสงค์ของใบรับรองไม่รองรับ» ชี้ไปที่การใช้คีย์แบบขยาย ชื่อที่ไม่ตรงกันบอกคุณว่าต้องการชื่ออะไร ไม่มีข้อใดในสี่ข้อนี้ที่แก้ได้ด้วยการติดตั้งไคลเอนต์ใหม่

เพิ่มระดับการบันทึกก่อนเปลี่ยนแปลงสิ่งใด OpenVPN รายงานความล้มเหลวในการตรวจสอบรอบการจับมือเมื่อคุณเรียกใช้ด้วย --verb 4 และ strongSwan เขียนการตัดสินใจเรื่องตัวตนและสายโซ่ลงในบันทึก charon จากนั้นยืนยันว่าคุณกำลังตรวจใบรับรองใด เพราะผู้คนมักทดสอบไฟล์บนดิสก์ในขณะที่โปรไฟล์ฝังสำเนาเก่าไว้ เมื่อโปรไฟล์ฝังบล็อก PEM ใบรับรองที่ฝังอยู่คือสิ่งที่ถูกทดสอบ

หน่วยออกใบรับรองลงนามในตัวตน ไม่ใช่สิทธิ์

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

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

สร้างเส้นทางที่ไคลเอนต์กำลังพยายามสร้างขึ้นใหม่

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

openssl x509 -in server.crt -noout -subject -issuer -dates
openssl verify -CAfile root.crt -untrusted intermediate.crt server.crt
openssl verify -show_chain -CAfile root.crt -untrusted intermediate.crt server.crt

สถานะออกเป็นศูนย์หมายถึงเส้นทางถูกสร้างจากไฟล์เหล่านั้น ความล้มเหลวจะระบุชื่อใบรับรองที่ไม่สามารถไปถึงได้ ถ้า openssl verify สำเร็จแต่ไคลเอนต์ยังปฏิเสธ ความแตกต่างอยู่ที่สิ่งที่เซิร์ฟเวอร์ส่งจริงหรือไฟล์ความเชื่อถือที่โปรไฟล์โหลด ใน OpenVPN ใบรับรองกลางสามารถเดินทางไปกับไฟล์ใบรับรองของเซิร์ฟเวอร์หรือให้แยกต่างหากด้วย --extra-certs และชุดที่มีรากสองรากเขียนใต้ชื่อหัวข้อเดียวกันจะส่งไคลเอนต์ของคุณคนหนึ่งไปยังสาขาที่ผิด

ชื่อและวัตถุประสงค์เป็นประตูแยกกัน

การสร้างสายโซ่ไม่เคยถามว่าชื่อเป็นของคุณหรือไม่ OpenVPN ตรวจสอบเฉพาะเมื่อโปรไฟล์ตั้งค่า --verify-x509-name และนิสัยเก่าที่จับคู่เพียงชื่อทั่วไปจะพังกับใบรับรองที่ตัวตนอาศัยอยู่ใน subjectAltName การติดตั้ง IKEv2 จับคู่ตัวตนที่กำหนดค่าไว้กับรายการ SAN หรือกับชื่อที่แตกต่าง ขึ้นอยู่กับไคลเอนต์ และค่าไวลด์การ์ดหรือ %any จะปิดการเปรียบเทียบที่คุณคิดว่ามีอยู่เงียบ ๆ

ถัดมาคือเวลาและวัตถุประสงค์ แล็ปท็อปที่นาฬิกาเร็วไปหลายชั่วโมงจะปฏิเสธใบรับรองที่ยังไม่ถึงเวลาใช้งาน และใบรับรองกลางที่หมดอายุจะทำให้เส้นทางล้มเหลวในขณะที่ใบยังใช้ได้ ความล้มเหลวด้านวัตถุประสงค์มาจากใบรับรองที่ไม่มี serverAuth ในการใช้คีย์แบบขยาย หรือมี keyUsage ที่ไม่อนุญาตลายเซ็นของการจับมือ ซึ่ง OpenSSL รายงานว่าเป็นวัตถุประสงค์ของใบรับรองที่ไม่รองรับ ออกใหม่จากแม่แบบที่ถูกต้อง ไม่มีสิ่งใดในข้อความนั้นที่เป็นเหตุผลให้ปิดการตรวจสอบ

การเพิกถอนทำงานเฉพาะเมื่อมีคนกำหนดค่าไว้

CRL หรือการตอบกลับ OCSP ไม่ได้ถูกตรวจสอบโดยอัตโนมัติ บนเซิร์ฟเวอร์ OpenVPN ใบรับรองไคลเอนต์จะถูกเทียบกับรายการเฉพาะเมื่อ --crl-verify ชี้ไปที่รายการใดรายการหนึ่ง การตรวจสอบใบรับรองเซิร์ฟเวอร์ฝั่งไคลเอนต์ขึ้นอยู่กับการใช้งานและมักไม่มีอยู่ strongSwan ต้องมีปลั๊กอินการเพิกถอนและนโยบายก่อนจะดู CRL สำหรับคู่

นั่นอธิบายตั๋วที่คุณจะได้รับในที่สุด ใบรับรองไคลเอนต์ที่ถูกเพิกถอนยังเชื่อมต่อได้ และทุกคนสรุปว่าการเพิกถอนเสีย ไม่มีอะไรกำลังตรวจสอบเลย เผยแพร่และรีเฟรช CRL หรือรักษาใบรับรองไคลเอนต์ให้มีอายุสั้นพอที่การเพิกถอนที่ล้าสมัยจะสำคัญเพียงช่วงสั้น ๆ และซ้อมเส้นทางการเพิกถอนบนใบรับรองในห้องปฏิบัติการก่อนที่คุณจะต้องใช้ระหว่างเหตุการณ์

ลำดับการซ่อมที่ทำให้การตรวจสอบยังเปิดอยู่

จัดเรียงตามอาการก่อนแตะไฟล์ เพราะแต่ละแถวของตารางส่งคุณไปยังวัตถุที่แตกต่างกัน

Client saysMost likely gateFirst check
unable to get local issuer certificatetrust anchor or missing intermediateyour own openssl verify against the files the profile loads
expired or not yet validvalidity windowleaf and intermediate dates against the device clock
unsupported certificate purposeextended key usageserverAuth present, keyUsage allows the handshake
name mismatchpeer identitysubjectAltName entries versus the profile name

ไล่รายการในรอบเดียว ยืนยันไฟล์ที่โปรไฟล์โหลด สร้างเส้นทางด้วยตนเอง ตรวจว่าเซิร์ฟเวอร์ส่งใบรับรองกลางหรือไม่ เปรียบเทียบนาฬิกา อ่าน SAN อ่าน EKU แล้วเชื่อมต่อใหม่และดูบรรทัดบันทึกเดิมหายไป ถ้าอุปกรณ์ไม่สามารถรับ CA ได้เลย การปักหมุดคือทางเลือกที่ซื่อตรง เพราะ OpenVPN 2.6 ยอมรับ --peer-fingerprint และจำกัดความเชื่อถือให้เหลือคีย์เดียวแทนการลบการตรวจสอบออก เอกสารอ้างอิงความหมายของแต่ละฟิลด์เหล่านี้คือ RFC 5280

บทความที่เกี่ยวข้อง