ชื่อทางเลือกของหัวข้อ: เซิร์ฟเวอร์ VPN ถูกระบุตัวตนอย่างไร
ใบรับรองที่เชื่อถือได้อาจยังผิดสำหรับชื่อโฮสต์ VPN ของคุณ SAN ต้องมีรูปแบบตัวตนที่ไคลเอนต์ตรวจสอบ เป็นชื่อ DNS หรือที่อยู่ IP
ไคลเอนต์ของคุณปฏิเสธใบรับรองที่ห่วงโซ่ตรวจสอบผ่านอย่างสมบูรณ์ และข้อผิดพลาดบอกว่าชื่อไม่ตรงกัน ข้อความนั้นไม่เกี่ยวกับว่าใครลงนามในใบรับรอง มันเกี่ยวกับส่วนขยายชื่อทางเลือกของหัวข้อ ซึ่งเก็บตัวตนที่ใบรับรองได้รับอนุญาตให้เป็นตัวแทน และเกี่ยวกับว่าตัวตนที่คุณกำหนดค่าไว้นั้นปรากฏที่นั่นในรูปแบบที่ถูกต้องหรือไม่ ความเชื่อถือตอบว่าใครลงนาม ส่วนการตรวจชื่อตอบว่าไคลเอนต์เป็นของโฮสต์ใด
สิ่งที่ไคลเอนต์เปรียบเทียบจริง ๆ
ไคลเอนต์แปลงการกำหนดค่าของคุณเป็นตัวตนอ้างอิง: ชื่อโฮสต์ ที่อยู่ หรือตัวระบุเฉพาะโปรโตคอล จากนั้นจึงค้นหาตัวตนนั้นในใบรับรอง โดยใช้กฎการจับคู่ของโปรโตคอลที่ใช้อยู่ นับเฉพาะรายการชนิดเดียวกัน ดังนั้นรายการ DNS จึงไม่สามารถตอบสนองที่อยู่ได้ และการเปรียบเทียบเกิดขึ้นไม่ว่ามนุษย์จะดูใบรับรองหรือไม่
เมื่อตัวตนอ้างอิงหายไปจากส่วนขยายนั้น การตรวจสอบก็ล้มเหลวแม้ชื่อสามัญแบบเก่าจะตรงกัน ใบรับรองอาจออกให้บริษัทอย่างถูกต้องตามกฎหมายและยังผิดสำหรับ vpn.example.com หากชื่อนั้นไม่เคยถูกใส่ไว้ ความล้มเหลวคือชื่อไม่ตรงกันแม้ใบรับรองจะเป็นของจริง
ชื่อ DNS กับที่อยู่ IP เป็นรายการแยกกัน
โปรไฟล์ที่ชี้ไปที่ 203.0.113.10 ขณะที่ใบรับรองระบุเพียง vpn.example.com จะถูกปฏิเสธ เพราะแพ็กเก็ตมาถึงแต่ตัวตนไม่ตรงกัน ชื่อ DNS และที่อยู่แบบตัวอักษรถูกเก็บเป็นชนิดรายการที่ต่างกัน และสิ่งหนึ่งไม่เคยแทนอีกสิ่งหนึ่ง นี่คือเหตุผลที่บริการอาจเข้าถึงได้ด้วยที่อยู่แต่ยังใช้ไม่ได้ผ่านโปรไฟล์ที่ใช้ที่อยู่นั้น
ไวลด์การ์ดก็มีกฎของตัวเอง: ไวลด์การ์ดครอบคลุมป้ายเดียว ไม่ใช่ทุกชื่อภายใต้โดเมน การเปรียบเทียบ DNS ไม่แยกตัวพิมพ์ใหญ่เล็ก ขณะที่ตัวระบุชนิดอื่นแยก ดังนั้นค่าที่ดูเหมือนกันบนหน้าจออาจล้มเหลวในการเปรียบเทียบแบบเข้มงวด ตรวจสอบกฎการจับคู่สำหรับชนิดตัวตนที่ใช้อยู่ แทนที่จะเทียบสตริงด้วยตา การเพิ่มชื่อในส่วนขยายเป็นการตัดสินใจออกใบรับรอง ไม่ใช่สิ่งที่การตั้งค่าไคลเอนต์จะให้ได้
ตรวจสอบใบรับรองที่การเชื่อมต่อใช้จริง
อ่านเนื้อหาที่ปลายทางที่ใช้งานอยู่นำเสนอ ไม่ใช่ไฟล์ที่คัดลอกจากหน้าผู้ดูแลระบบ โหลดบาลานเซอร์หรืออินสแตนซ์ทดแทนอาจนำเสนอสิ่งที่ต่างจากใบรับรองที่อัปโหลดเมื่อหลายเดือนก่อน และความต่างนั้นมองไม่เห็นในคอนโซล
openssl s_client -connect vpn.example.com:443 -showcerts </dev/null | openssl x509 -noout -text
บล็อกชื่อทางเลือกของหัวข้อ ห่วงโซ่ผู้ออก และช่วงเวลาที่ใช้ได้ ล้วนอยู่ในการอ่านครั้งเดียวกัน เพราะชื่อไม่ตรงกันกับการหมดอายุให้ข้อผิดพลาดที่ต่างกัน เปรียบเทียบทุกชื่อในบล็อกนั้นกับตัวตนที่กำหนดค่าในโปรไฟล์ ทีละอักขระ และบันทึกว่าเป็นชนิดใด การรันคำสั่งซ้ำกับรูปแบบที่อยู่ของปลายทางจะแสดงว่าใบรับรองครอบคลุมทั้งสองตัวตนหรือเพียงหนึ่ง การแสดงหัวข้อแบบเป็นมิตรในคอนโซลจัดการไม่ใช่ผลการตรวจสอบและไม่บอกอะไรเกี่ยวกับชื่อที่ส่วนขยายมีอยู่
ชื่อสามัญไม่ใช่แหล่งความจริงสมัยใหม่
เบราว์เซอร์และไลบรารี TLS ส่วนใหญ่ตอนนี้ไม่สนใจชื่อสามัญสำหรับการจับคู่ชื่อโฮสต์ และหันไปดูส่วนขยายแทน ไคลเอนต์ VPN บางตัวยังเปรียบเทียบชื่อสามัญก่อนหรือถอยกลับไปใช้เมื่อไม่มีส่วนขยาย และนั่นคือเหตุผลที่ใบรับรองเดียวอาจผ่านในเบราว์เซอร์แต่ล้มเหลวในไคลเอนต์ การตรวจชื่อแบบเดียวกันอาจผ่านบนแพลตฟอร์มหนึ่งและล้มเหลวบนอีกแพลตฟอร์มโดยใบรับรองไม่เปลี่ยนเลย
ค้นหาว่าไคลเอนต์ของคุณอ่านฟิลด์ใดก่อนตัดสินว่าใบรับรองผิด ไคลเอนต์สองตัวบนปลายทางเดียวกันอาจไม่เห็นด้วย และความไม่ลงรอยนั้นเป็นข้อมูลเกี่ยวกับไคลเอนต์ไม่ใช่ใบรับรอง
ซ่อมการออกใบรับรองหรือโปรไฟล์ ไม่ใช่การตรวจสอบ
เมื่อโปรไฟล์ถูกสร้างขึ้นรอบชื่อแทน ให้ชี้ไปที่ชื่อโฮสต์ที่จัดทำเป็นเอกสาร หรือออกใบรับรองสำหรับชื่อแทนใหม่และนำไปใช้ในหน้าต่างที่วางแผนไว้ การปิดเสียงคำเตือนไม่ใช่ทางเลือกที่สาม เพราะการตรวจสอบเป็นขั้นตอนเดียวที่ผูกใบรับรองที่ลงนามไว้กับโฮสต์นี้โดยเฉพาะ การลบมันออกหมายความว่าใบรับรองใดก็ได้จากผู้ออกเดียวกันสามารถแทนที่เซิร์ฟเวอร์ที่คุณตั้งใจจะเข้าถึง
การต่ออายุควรคงชื่อและวัตถุประสงค์ที่ตั้งใจไว้ ไม่ใช่เพียงเลื่อนวันหมดอายุไปข้างหน้า การต่ออายุที่ทำชื่อหลุดเป็นเหตุขัดข้องใหม่ที่กำหนดไว้สำหรับการรีสตาร์ตครั้งถัดไป และมักมาโดยไม่มีการเตือนเพราะใบรับรองเก่ายังใช้ได้เมื่อทำการเปลี่ยนแปลง
บันทึกตัวตนที่คาดไว้ ชื่อที่นำเสนอ และห่วงโซ่ที่ลงนามในชื่อเหล่านั้น บันทึกนั้นทำให้การต่ออายุครั้งถัดไปเป็นการเปรียบเทียบแทนการสอบสวน คำจำกัดความของส่วนขยายอยู่ใน RFC 5280 หากคุณต้องตรวจสอบการออกใบรับรองเฉพาะ