กาลครั้งหนึ่งนานมาแล้วมีป่าเสมือนอันอบอุ่นในอเมริกาใต้และเซิร์ฟเวอร์ปลาหมึกอาศัยอยู่ที่นั่น นี่คือภาพการรับรู้ของเครือข่าย:
<the Internet>
|
|
A | B
Users <---------> [squid-Server] <---> [LDAP-Server]
เมื่อUsersคำขอเข้าถึงอินเทอร์เน็ตsquidให้ถามชื่อและหนังสือเดินทางของพวกเขารับรองความถูกต้องโดยLDAPและหาก ldap อนุมัติพวกเขาแล้วเขาก็อนุญาต
ทุกคนมีความสุขจนกระทั่งนักดมกลิ่นบางคนขโมยหนังสือเดินทางในเส้นทางระหว่างผู้ใช้กับปลาหมึก [เส้นทาง A] ภัยพิบัติครั้งนี้เกิดขึ้นเพราะปลาหมึกใช้Basic-Authenticationวิธีการ
คนในป่ารวมตัวกันเพื่อแก้ปัญหา กระต่ายบางตัวเสนอโดยใช้NTLMวิธีการ งูที่ต้องการDigest-Authenticationในขณะที่Kerberosแนะนำโดยต้นไม้
ท้ายที่สุดแล้วคำตอบมากมายที่นำเสนอโดยผู้คนในป่าและทั้งหมดก็สับสน! The Lion ตัดสินใจที่จะยุติสถานการณ์ เขาตะโกนกฎสำหรับการแก้ปัญหา:
- โซลูชันจะปลอดภัยหรือไม่!
- โซลูชันจะใช้งานได้กับเบราว์เซอร์และซอฟต์แวร์ส่วนใหญ่ (เช่นซอฟต์แวร์ดาวน์โหลด)
- จะแก้ปัญหาได้ง่ายและไม่ต้องการระบบย่อยขนาดใหญ่อื่น ๆ (เช่นเซิร์ฟเวอร์ Samba)
- วิธีนี้จะไม่ขึ้นอยู่กับโดเมนพิเศษ (เช่น Active Directory)
จากนั้นวิธีแก้ปัญหาที่ชาญฉลาดและครอบคลุมเป็นอย่างมากที่นำเสนอโดยลิงทำให้เขากลายเป็นราชาองค์ใหม่แห่งป่า!
คุณเดาได้ไหมว่าทางออกคืออะไร
เคล็ดลับ:
เส้นทางระหว่างsquidและLDAPได้รับการคุ้มครองโดยสิงโตดังนั้นวิธีการแก้ปัญหาจึงไม่ปลอดภัย
หมายเหตุ:ขออภัยถ้าเรื่องราวน่าเบื่อและยุ่ง แต่ส่วนใหญ่เป็นเรื่องจริง! =)
/~\/~\/~\ /\~/~\/~\/~\/~\ ((/~\/~\/~\/~\/~\)) (/~\/~\/~\/~\/~\/~\/~\) (//// ~ ~ \\\\) (\\\\( (0) (0) )////) (\\\\( __\-/__ )////) (\\\( /-\ )///) (\\\( (""""") )///) (\\\( \^^^/ )///) (\\\( )///) (\/~\/~\/~\/) ** (\/~\/~\/) *####* | | **** /| | | |\ \\ _/ | | | | \_ _________// Thanks! (,,)(,,)_(,,)(,,)--------'
ปรับปรุง:
Massimoอธิบายว่าวิธีการรับรองความถูกต้องระหว่างUsers- squidและsquid- LDAPไม่จำเป็นต้องเหมือนกัน เราสามารถใช้วิธีการทาง Arbitary เพื่อรับข้อมูลการตรวจสอบความถูกต้องจากผู้ใช้และวิธี Arbitary ไปยังข้อมูลที่ได้รับการตรวจสอบความถูกต้อง
แต่มีปัญหา: อินพุต / เอาต์พุตของตัวตรวจสอบสิทธิ์ทุกประเภทไม่เหมือนกัน ตัวอย่างเช่น:
- ตัว
Basicตรวจสอบความถูกต้องควรอ่าน "รหัสผ่านชื่อผู้ใช้" จับคู่ในบรรทัดและตอบกลับOKว่าERR DigestAuthenticator ควรอ่านusername:realmและตอบกลับฐานสิบหกของการเข้ารหัสหรือHA(A1)ERR
แม้ว่าจะไม่มีความสัมพันธ์โดยตรงระหว่างวิธี client-squid และวิธี squid-ldap แต่ข้อมูลที่รวบรวมจากไคลเอนต์จะต้องเข้ากันได้กับวิธีที่ใช้ในส่วน squid-ldap ดังนั้นหากเราเปลี่ยนวิธีการตรวจสอบสิทธิ์ในด้านผู้ใช้เราก็ควรเปลี่ยนผู้ตรวจสอบสิทธิ์ด้วย
ดังนั้นปัญหาทำให้ง่ายขึ้นใน:
ในระดับแรกฉัน (ลิง!) กำลังมองหาวิธีการรับรองความถูกต้องที่ดีในด้านผู้ใช้ คุณแนะนำวิธีการใดที่เบราว์เซอร์ส่วนใหญ่ปลอดภัยและสนับสนุน ? ผมอยู่ในความสับสนระหว่าง
NTLM, และKerberosDigestที่ฉันสามารถหาตัวตรวจสอบความถูกต้องซึ่งรองรับข้อมูลหนังสือรับรองของวิธีการที่เลือกและรับรองความถูกต้องผ่าน LDAP