การย้ายแบ็กเอนด์การยืนยันตัวตน VPN โดยไม่ใช้แฮชเก่าซ้ำ
การย้ายตัวตน VPN คือการตัดสลับ ไม่ใช่การคัดลอก: ทำแผนที่ห่วงโซ่การยืนยันตัวตน ย้ายกลุ่มนำร่อง ทดสอบการเปลี่ยนข้อมูลรับรอง และวางแผนการกู้คืนที่การรีเซ็ตไม่สามารถย้อนกลับได้
ชื่อผู้ใช้ปรากฏในไดเรกทอรีใหม่ การย้ายถูกประกาศว่าเสร็จสิ้น และการเข้าสู่ระบบก็ยังล้มเหลวอยู่ดี เกตเวย์ยังต้องมีเส้นทางการยืนยันตัวตนที่รองรับและผลการอนุญาตที่ถูกต้อง และทั้งสองอย่างไม่ได้ตามมาจากไดเรกทอรีที่มีบัญชีอยู่แล้ว การย้ายแบ็กเอนด์คือการตัดสลับที่มีวงจรชีวิต ไม่ใช่งานคัดลอก อาการด้านล่างคืออาการที่มักเผยให้เห็นความแตกต่าง
อาการ: บัญชีมีอยู่ แต่เซสชันไม่มี
ไดเรกทอรีใหม่มีชื่อผู้ใช้ครบทุกชื่อ การผูกทดสอบสำเร็จ และไคลเอนต์ VPN ก็ยังคืนค่าความล้มเหลวในการยืนยันตัวตน การรวมกันนี้หมายความว่าตัวตนมีอยู่ แต่เส้นทางการตรวจสอบที่เกตเวย์ใช้ไปไม่ถึง หรือไปถึงด้วยวิธีที่มันตอบสนองไม่ได้ ทั้งสองอย่างเป็นการตั้งค่า และเป็นปัญหาที่ต่างกัน
อย่างแรกคือการเดินสาย: เกตเวย์ชี้ไปที่แบ็กเอนด์ที่ไม่ตอบสนอง ใช้ความลับร่วมที่อีกฝั่งไม่ได้คาดไว้ หรือขอแอตทริบิวต์ที่บริการใหม่ไม่คืนค่า อย่างที่สองคือการเข้ารหัส: วิธีต้องใช้ความลับดั้งเดิม และที่เก็บใหม่มีเพียงแฮชของมัน แม้ข้อความแสดงข้อผิดพลาดจะดูคล้ายกันในทั้งสองกรณี จึงมักถูกมองเป็นปัญหาเดียว
การแยกสองอย่างนี้ออกจากกันก่อนแตะบัญชีช่วยประหยัดเวลาหนึ่งสัปดาห์ อย่างหนึ่งเป็นคำถามเรื่องเส้นทางและความไว้วางใจ อีกอย่างเป็นการตัดสินใจเรื่องการรีเซ็ตข้อมูลรับรอง และการผสมทั้งสองเข้าด้วยกันทำให้เกิดการเปลี่ยนแปลงที่ไม่มีใครระบุที่มาได้
ทำแผนที่ห่วงโซ่ก่อนย้ายใคร
เขียนหกสิ่งสำหรับแต่ละโปรไฟล์ไคลเอนต์: วิธีการยืนยันตัวตนชั้นนอก วิธีชั้นในถ้ามี ตัวตนเซิร์ฟเวอร์ที่ไคลเอนต์คาดหวัง อินเทอร์เฟซระหว่างเกตเวย์กับแบ็กเอนด์ แอตทริบิวต์ที่เกตเวย์แมปกับการเป็นสมาชิกกลุ่ม และนโยบายทรัพยากรที่ตามมา การอ่านตามลำดับจะบอกว่าข้อต่อใดไม่มีเจ้าของ แต่ละรายการมีผู้รับผิดชอบ และการตัดสลับล้มเหลวตรงรายการที่ไม่มีใครตรวจสอบ
| Link | Question it answers |
|---|---|
| Client profile | Which method and server name does the client use? |
| Inner method | Is there a second authentication step? |
| Server identity | Which certificate or name must the client accept? |
| Gateway to backend | Which protocol, port and shared secret? |
| Attribute mapping | Which returned value becomes group membership? |
| Resource policy | What the resulting session may reach |
การเข้าสู่ระบบไดเรกทอรีตามปกติแทบไม่ผ่านอะไรในห่วงโซ่นั้นเลย มันพิสูจน์ว่าบัญชีมีอยู่และรหัสผ่านใช้งานได้ ซึ่งเป็นส่วนที่ไม่เคยเป็นข้อสงสัย
แฮชไม่เดินทางข้ามวิธี
ต้องตรวจสอบความเข้ากันได้ของข้อมูลรับรองหนึ่งครั้ง ก่อนที่กลุ่มใดจะย้าย FreeRADIUS เอกสารการแยกไว้ชัดเจน: การตรวจ CHAP ที่เซิร์ฟเวอร์ทำเองต้องใช้รหัสผ่านจริง และ MS-CHAP ยอมรับรหัสผ่านนั้นหรือวัสดุ NT ที่เหมาะสม แฮชที่สร้างเพื่อจุดประสงค์อื่นไม่เข้ากับทั้งสองกรณี ไม่ว่าจะแข็งแรงเพียงใด
ความแตกต่างอยู่ที่ใครเป็นผู้คำนวณหลักฐาน วิธีที่ตรวจสอบโดยผูกกับไดเรกทอรีปล่อยให้ไดเรกทอรีตรวจสอบสิ่งที่ตรวจได้ วิธีที่ตรวจสอบโดยคำนวณการตอบสนองต่อความท้าทายใหม่ต้องใช้ความลับเอง เพราะเซิร์ฟเวอร์ต้องคำนวณแบบเดียวกัน
เมื่อไม่มีวัสดุ ทางเลือกที่ซื่อตรงคือการรีเซ็ตที่รองรับ การลงทะเบียนใหม่ บริการตรวจสอบภายนอก หรือการเปลี่ยนวิธี การส่งออกรหัสผ่านที่กู้คืนได้ชั่วคราวไม่อยู่ในรายการนั้น มันสร้างที่เก็บข้อมูลรับรองแบบข้อความธรรมดาในสัปดาห์ที่วุ่นวายที่สุดของโครงการ และมักอยู่รอดหลังการย้าย
กลุ่มนำร่อง แล้วจึงเปลี่ยนวงจรชีวิต
ย้ายตัวตนที่อนุมัติแล้วกลุ่มเล็กด้วยไคลเอนต์จริง และทดสอบสี่อย่าง: การเข้าสู่ระบบใหม่ ข้อมูลรับรองที่ผิดโดยเจตนา ทรัพยากรที่เซสชันเข้าถึงได้ และทรัพยากรที่ต้องไม่เข้าถึง ตรวจสอบตัวตนเซิร์ฟเวอร์ที่ไคลเอนต์ยอมรับด้วย เพราะชื่อใบรับรองที่ไม่ตรงกันจะมองไม่เห็นจนกว่าจะมีคนอ่านบันทึกไคลเอนต์
จากนั้นซ้อมการเปลี่ยนแปลงที่การติดตั้งพึ่งพาจริง เปลี่ยนรหัสผ่าน ต่ออายุหรือลงทะเบียนใบรับรองใหม่ และถอนการเข้าถึงจากบัญชีนำร่องหนึ่งบัญชี หลังแต่ละครั้งให้ยืนยันว่าตัวตรวจสอบใดจัดการความพยายามนั้น เพราะเซสชันที่สร้างก่อนการตัดสลับอาจทำงานต่อได้และไม่ได้พิสูจน์อะไรเกี่ยวกับการเข้าสู่ระบบครั้งถัดไป
แยกการส่งมอบโปรไฟล์ออกจากการสลับตัวตน แต่ละกลุ่มต้องมีโปรไฟล์ที่ตั้งใจ สถานะข้อมูลรับรองหรือการลงทะเบียน บริการยืนยันตัวตนที่ควรใช้ และผู้ติดต่อฝ่ายสนับสนุน และไม่มีบันทึกใดในนั้นควรมีความลับ
ถ้าเส้นทางเก่าและใหม่ coexist ให้กำหนดวันสิ้นสุด การถอยกลับอัตโนมัติอาจปล่อยบัญชีผ่านข้อมูลรับรองเก่าเข้าสู่ระบบหลังเจ้าของใหม่ถอนการเข้าถึงแล้ว และนั่นคือการถดถอยด้านความปลอดภัยที่ปลอมเป็นความพร้อมใช้งาน
การย้อนกลับไม่สามารถกู้คืนข้อมูลรับรอง
การย้อนการตัดสลับทำให้ไดเรกทอรีอยู่ในสภาพเดิมทุกประการ รหัสผ่านที่รีเซ็ตแล้วยังคงรีเซ็ต ใบรับรองที่เพิกถอนแล้วยังคงถูกเพิกถอน และรูปแบบข้อมูลรับรองที่เปลี่ยนแล้วยังคงเปลี่ยน นั่นคือเหตุการณ์ในไดเรกทอรี และเกตเวย์ไม่เคยเป็นแหล่งกำเนิด การกู้คืนต้องกำหนดต่อเหตุการณ์ และไม่มีส่วนใดพึ่งการสร้างความลับขึ้นใหม่จากแฮชที่เข้ากันไม่ได้
เก็บเส้นทางผู้ดูแลระบบที่ไม่ใช้การเชื่อมต่อที่กำลังย้าย เมื่อการยืนยันตัวตนใหม่ล้มเหลว ให้หยุดกลุ่มและใช้เส้นทางการกู้คืนที่บันทึกไว้ แทนที่จะทำให้การยืนยันตัวตนอ่อนแอลงสำหรับทุกคนเพื่อให้ทันกำหนด
เมื่อกลุ่มครอบคลุมแล้ว ให้ปลดระวางข้อมูลรับรองโปรไฟล์และความสัมพันธ์ความไว้วางใจเก่าของแบ็กเอนด์ผ่านเจ้าของ ยืนยันว่าเส้นทางเก่าไม่รับผู้ใช้อีกต่อไป และเก็บการแมปตัวตนเป็นนโยบายที่ไม่มีความลับซึ่งฝ่ายสนับสนุนยังต้องใช้ การย้ายเสร็จสิ้นเมื่อวงจรชีวิตใหม่ทำงานและไม่มีใครเข้ามาทางเส้นทางเก่าได้อีก ไม่ใช่เมื่อรายการบัญชีดูครบถ้วน