Kerberos SSO และ VPN บน Mac: เปรียบเทียบเส้นทางการลงชื่อเข้าใช้สองแบบ
เส้นทางตั๋ว Kerberos กับเซสชันตัวตนในเบราว์เซอร์ไม่ใช่ SSO เดียวกัน ติดตั้งส่วนขยาย จับคู่ VPN และทดสอบทั้งห่วงโซ่
กลไกสองอย่างให้ผลลัพธ์ที่เป็นมิตรเหมือนกันบน Mac แต่ทำงานแตกต่างกันโดยสิ้นเชิงภายใต้พื้นผิว อย่างหนึ่งได้ตั๋ว Kerberos ผ่านส่วนขยาย SSO แล้วส่งต่อให้แอปพลิเคชันที่เข้าร่วม อีกอย่างหนึ่งเก็บเซสชันเบราว์เซอร์ไว้กับผู้ให้บริการตัวตนและปล่อยให้เว็บแอปพลิเคชันยอมรับเซสชันนั้น ทั้งสองแตกต่างกันในสิ่งที่ต้องการบนเครือข่าย อายุการใช้งานของข้อมูลรับรอง และสิ่งที่เกิดขึ้นในขณะที่อุโมงค์หลุด
สองกลไก หนึ่งหน้าจอลงชื่อเข้าใช้
เส้นทางที่ใช้ตั๋วขึ้นอยู่กับโดเมน Kerberos ศูนย์กระจายกุญแจ และนาฬิกาที่ตรงกัน เส้นทางเบราว์เซอร์ขึ้นอยู่กับผู้ให้บริการตัวตนที่เข้าถึงได้ คุกกี้หรือโทเคน และแอปพลิเคชันที่ไว้วางใจผู้ออกโทเคนนั้น ทั้งสองสามารถตั้งค่าให้เริ่มเมื่อลงชื่อเข้าใช้ ซึ่งเป็นเหตุให้ถูกเข้าใจผิดว่าเป็นฟีเจอร์เดียวกัน แอปพลิเคชันเป็นผู้ตัดสินว่าจะยอมรับแบบไหน และ Mac สามารถรันทั้งสองแบบพร้อมกันได้อย่างชอบธรรม
เปรียบเทียบด้วยการถามว่าแอปพลิเคชันตรวจสอบอะไรเมื่อผู้ใช้เปิดขึ้นมา บริการไฟล์ที่เชื่อมกับโดเมน Kerberos ต้องการตั๋วบริการ และเซสชันเบราว์เซอร์จำนวนเท่าใดก็ไม่ทำให้พอใจ เว็บแอปพลิเคชันที่อยู่หลังผู้ให้บริการตัวตนสมัยใหม่ต้องการโทเคนของผู้ให้บริการนั้นและไม่สนใจตั๋ว Kerberos เลย เมื่อรู้ว่ามีการตรวจสอบแบบใด คำถามเรื่องการติดตั้งจึงเจาะจงแทนที่จะกว้าง
สิ่งที่ส่วนขยาย Kerberos ต้องการบนเครือข่าย
คู่มือส่วนขยาย Kerberos SSO ของ Apple อธิบายการพิสูจน์ตัวตนแบบเนทีฟของ Active Directory พร้อมการได้ตั๋วล่วงหน้า จับคู่กับบัญชีภายในเครื่องแทนการผูกกับโดเมน สิ่งที่ทำไม่ได้คือสร้างเส้นทางไปยังตัวควบคุมโดเมน Mac ต้องมีตัวแก้ไขที่ตอบระเบียนบริการ Kerberos และเส้นทางที่ไปถึงระเบียนเหล่านั้นผ่านอุโมงค์ที่ได้รับอนุมัติ โปรไฟล์ที่ติดตั้งได้สะอาดไม่ได้พิสูจน์อะไรจนกว่าโดเมนจะถูกค้นพบได้จริงจากไคลเอนต์
ตรวจสอบการค้นพบก่อนตรวจสอบข้อมูลรับรอง ระเบียน SRV ของโดเมน Kerberos ต้องแก้ได้ และที่อยู่ที่ส่งกลับมาต้องเข้าถึงได้เมื่อ VPN ขึ้นแล้ว เวลา สำคัญ พอๆ กับการเข้าถึง เพราะ Kerberos ปฏิเสธคำขอจากนาฬิกาที่คลาดเคลื่อนเกินขอบเขตที่ยอมรับ และข้อผิดพลาดที่เกิดขึ้นดูเหมือนการพิสูจน์ตัวตนล้มเหลว Mac ที่เข้าถึงแหล่งเวลาไม่ได้ขณะอุโมงค์ล่มจะล้มเหลวอีกครั้งในทันทีที่กลับมา แก้ไขแหล่งเวลาเป็นส่วนหนึ่งของการติดตั้ง ไม่ใช่การตอบสนองต่อเหตุการณ์
klist
sudo sntp -sS time.apple.comVPN ต่อแอปเป็นตัวกำหนดว่าส่วนขยายจะทำงานได้หรือไม่
อุโมงค์แบบเต็มเส้นทางส่งทุกอย่างและซ่อนปัญหานี้ การตั้งค่าต่อแอปส่งเฉพาะแอปพลิเคชันที่ระบุในโปรไฟล์ VPN และส่วนขยาย SSO เองก็เป็นกระบวนการที่ต้องใช้เครือข่ายเพื่อดึงตั๋ว หากไม่ได้อยู่ในแผนที่ การลงชื่อเข้าใช้ภายในเครื่องจะสำเร็จ อุโมงค์จะขึ้นสำหรับเบราว์เซอร์ แต่การได้ตั๋วยังคงล้มเหลว
อ่านการตั้งค่า VPN และระบุทุกแอปพลิเคชันที่ควรครอบคลุม จากนั้นเพิ่มองค์ประกอบ SSO ผ่านกลไกการแมปที่อธิบายไว้ในเอกสาร แทนการเดาไอเดนทิฟายเออร์บันเดิล การแมปไคลเอนต์ที่มองเห็นแต่ไม่แมปองค์ประกอบที่อยู่ข้างหลังคือรูปแบบคลาสสิกของข้อผิดพลาดนี้ เก็บการแมปไว้ในโปรไฟล์ที่มีการจัดการเดียวกับส่วนขยาย เพื่อให้การเปลี่ยนแปลงอย่างหนึ่งไม่ทำให้อีกอย่างใช้ไม่ได้อย่างเงียบๆ ทดสอบกับผู้ใช้ที่ไม่เคยลงชื่อเข้าใช้บน Mac เครื่องนั้น เพราะตั๋วที่แคชไว้อาจทำให้เส้นทางที่เสียดูปกติ จากนั้นทดสอบอีกครั้งหลังเปลี่ยนรหัสผ่าน
เซสชันตัวตนในเบราว์เซอร์เป็นสัญญาที่ต่างออกไป
เซสชันเบราว์เซอร์ไม่มีโดเมน Kerberos ไม่มีตั๋วบริการ และไม่มีความอดทนของนาฬิกาในความหมายของ Kerberos มันมีผู้ออก โทเคนที่มีอายุ และเส้นทางรีเฟรช และโหมดล้มเหลวคือการเปลี่ยนเส้นทางที่ไม่เคยเสร็จสิ้นกับคุกกี้ที่หน้าต่างส่วนตัวทิ้ง การถือว่าเป็นตัวแทนของเส้นทางตั๋วปลอดภัยเฉพาะเมื่อแอปพลิเคชันเองยอมรับผู้ออกนั้น การคัดลอกการตอบสนองการพิสูจน์ตัวตนจากพอร์ทัล VPN ไปยังบริการที่ไม่เกี่ยวข้องไม่ใช่การผสานรวม ไม่ว่าทางลัดจะดูสะดวกเพียงใด
เมื่อติดตั้งทั้งสองกลไกแล้ว ให้บันทึกว่าแอปพลิเคชันใดใช้แบบไหน เพราะบทสนทนาสนับสนุนขึ้นอยู่กับสิ่งนั้น ผู้ใช้ที่บอกว่าลงชื่อเข้าใช้แล้วแต่เปิดแชร์ไฟล์ไม่ได้กำลังอธิบายสองระบบ และคำตอบคือเส้นทางตั๋วไม่เคยทำงาน ผู้ใช้ที่เปิดแชร์ได้แต่เปิดพอร์ทัลอินทราเน็ตไม่ได้กำลังอธิบายตรงกันข้าม และการระบุกลไกในตั๋วช่วยประหยัดคำถามหนึ่งรอบ
เดินตามลำดับ ไม่ใช่ตามชิ้นส่วน
เดินทั้งห่วงโซ่ด้วยบัญชีที่ลงทะเบียนปกติ การลงชื่อเข้าใช้ภายในเครื่อง อุโมงค์ การได้ตั๋ว แล้วจึงเป็นการดำเนินการจริงหนึ่งครั้งกับบริการ ทำซ้ำหลังอุโมงค์เชื่อมต่อใหม่และหลังเปลี่ยนรหัสผ่านโดยเจตนา เพราะแต่ละกรณีฝึกส่วนที่ต่างกันของตรรกะอายุการใช้งาน การที่แต่ละขั้นผ่านได้ด้วยตัวเองไม่เหมือนกับห่วงโซ่ที่ทำงานได้ ห่วงโซ่คือสิ่งที่ผู้ใช้ประสบ และนั่นคือสิ่งที่กรณีทดสอบการยอมรับต้องครอบคลุม
บันทึกเจ้าของโปรไฟล์ วิธีการพิสูจน์ตัวตนของ VPN เส้นทางการค้นพบโดเมน และการแมปแอปพลิเคชันของส่วนขยายไว้ในที่เดียว บันทึกนั้นทำให้กระบวนการทำซ้ำได้โดยผู้ที่ไม่ได้สร้างมัน จากนั้นตรวจสอบความล้มเหลวที่คุณมีโอกาสพบมากที่สุด ตั๋วหมดอายุขณะอุโมงค์ล่ม และยืนยันว่าไคลเอนต์ฟื้นตัวได้โดยไม่ต้องรีบูต เพราะการติดตั้งที่ทำงานได้เฉพาะจากการเริ่มเย็นยังไม่เสร็จสมบูรณ์
บันทึกเจ้าของแต่ละขั้นด้วย เพราะโดเมน Kerberos ที่ไม่มีใครดูแลจะกลายเป็นโดเมนที่ล้าสมัย ห่วงโซ่ที่ไม่มีใครอธิบายได้คือห่วงโซ่ที่ไม่มีใครดีบักได้