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

ใบรับรองหลายใบ เสนอเพียงใบเดียว

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

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

ตรวจสอบที่เก็บก่อนแก้ไขโปรไฟล์

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

Get-VpnConnection -Name 'Office' | Select-Object Name, TunnelType, AuthenticationMethod
Get-ChildItem Cert:\LocalMachine\My | Select-Object Subject, Issuer, Thumbprint, NotAfter, HasPrivateKey, EnhancedKeyUsageList

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

ยืนยันโปรไฟล์และขอบเขตก่อนแก้ไข เพราะใบรับรองเครื่องที่อยู่ใน LocalMachine ใบรับรอง EAP-TLS ของผู้ใช้ และที่เก็บคีย์ส่วนตัวของแอปพลิเคชันเป็นบริบทที่ต่างกันสามแบบ ใช้ขอบเขตผู้ใช้ทั้งหมดและบริบทของผู้ดูแลระบบเมื่อโปรไฟล์ที่จัดการอยู่ที่นั่น การสร้างโปรไฟล์ที่สองด้วยชื่อคล้ายกันจะปิดบังว่าการเชื่อมต่อใช้การกำหนดค่าใดจริง

ตัวกรองผู้ออกต้องการออบเจกต์

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

$issuerPath = Read-Host 'Certificate-provider path for the approved issuer CA'
$issuer = Get-Item -LiteralPath $issuerPath
Set-VpnConnection -Name 'Office' -MachineCertificateIssuerFilter $issuer

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

ตัวกรองการใช้งานต้องการสตริง OID

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

Set-VpnConnection -Name 'Office' -MachineCertificateEKUFilter '1.3.6.1.5.5.7.3.2'

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

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

พิสูจน์ว่าไคลเอ็นต์เสนอใบรับรองใด

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

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

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