กาลครั้งหนึ่งนานมาแล้วมีป่าเสมือนอันอบอุ่นในอเมริกาใต้และเซิร์ฟเวอร์ปลาหมึกอาศัยอยู่ที่นั่น นี่คือภาพการรับรู้ของเครือข่าย:
<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
Digest
Authenticator ควรอ่านusername:realm
และตอบกลับฐานสิบหกของการเข้ารหัสหรือHA(A1)
ERR
แม้ว่าจะไม่มีความสัมพันธ์โดยตรงระหว่างวิธี client-squid และวิธี squid-ldap แต่ข้อมูลที่รวบรวมจากไคลเอนต์จะต้องเข้ากันได้กับวิธีที่ใช้ในส่วน squid-ldap ดังนั้นหากเราเปลี่ยนวิธีการตรวจสอบสิทธิ์ในด้านผู้ใช้เราก็ควรเปลี่ยนผู้ตรวจสอบสิทธิ์ด้วย
ดังนั้นปัญหาทำให้ง่ายขึ้นใน:
ในระดับแรกฉัน (ลิง!) กำลังมองหาวิธีการรับรองความถูกต้องที่ดีในด้านผู้ใช้ คุณแนะนำวิธีการใดที่เบราว์เซอร์ส่วนใหญ่ปลอดภัยและสนับสนุน ? ผมอยู่ในความสับสนระหว่าง
NTLM
, และKerberos
Digest
ที่ฉันสามารถหาตัวตรวจสอบความถูกต้องซึ่งรองรับข้อมูลหนังสือรับรองของวิธีการที่เลือกและรับรองความถูกต้องผ่าน LDAP