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

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

ตัวเลือกนี้หมายถึงอะไรในที่ที่มันมีอยู่

ในไคลเอนต์ Community OpenVPN 2 บน Windows cryptoapicert ระบุใบรับรองที่ไคลเอนต์ควรหาในที่เก็บใบรับรองของ Windows ไม่ใช่ในไฟล์ มันเป็นความสะดวกเฉพาะ Windows และทำงานได้เพราะไคลเอนต์นั้นรู้วิธีแจกแจงที่เก็บและส่งกุญแจที่ได้ให้สแตก TLS ของตัวเอง ดังนั้นคำสั่งนี้จึงเป็นส่วนหนึ่งของภาษาการกำหนดค่าของไคลเอนต์นั้น ไม่ใช่คุณสมบัติของโปรโตคอล OpenVPN ไม่มีสิ่งใดในรูปแบบการส่งที่พามันไป

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

ไลบรารีหลักมีอะไรให้แทน

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

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

ฟรอนต์เอนด์ของ Windows ทำอะไรแทน

OpenVPN Connect ใช้เส้นทางอื่น คือผู้ปฏิบัติงาน นำเข้าไฟล์ PKCS#12 ที่มีใบรับรองและกุญแจส่วนตัวของมันไปยัง OpenVPN Certificate Store ที่สร้างขึ้นเพื่อการนั้น แล้วกำหนดใบรับรองภายนอกให้กับโปรไฟล์ นี่เป็นขั้นตอนนำเข้าที่ตั้งใจ ไม่ใช่การค้นพบอัตโนมัติของสิ่งที่บังเอิญอยู่ในที่เก็บส่วนบุคคล ความแตกต่างนี้สำคัญเมื่อใครบางคนคิดว่าใบรับรองที่ติดตั้งเพื่อวัตถุประสงค์อื่นจะปรากฏในรายการของไคลเอนต์เอง

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

เลือกเส้นทางที่เข้ากับนโยบายของกุญแจ

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

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

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

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