การตรวจสอบความถูกต้องเครือข่าย + ไดเรกทอรีบ้านโรมมิ่ง - เทคโนโลยีใดที่ฉันควรใช้


9

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

  1. เครือข่ายของเครื่องจักรคืออินสแตนซ์ Amazon EC2 ที่ใช้งาน Ubuntu
    • เราเข้าถึงเครื่องจักรด้วย SSH
    • เครื่องบางอย่างใน LAN นี้อาจมีการใช้งานที่แตกต่างกัน แต่ฉันเป็นเพียงการพูดคุยกับเครื่องสำหรับการใช้งานบางอย่าง (ใช้แพลตฟอร์มหลายเช่า)
  2. ระบบจะไม่จำเป็นต้องมีเครื่องจำนวนคงที่
    • เราอาจต้องปรับเปลี่ยนจำนวนเครื่องจักรที่ทำงานอยู่อย่างถาวรหรือชั่วคราว นี่คือเหตุผลที่ฉันกำลังค้นหาการตรวจสอบ / จัดเก็บข้อมูลแบบรวมศูนย์
  3. การใช้เอฟเฟกต์นี้ควรจะปลอดภัย
    • เราไม่แน่ใจว่าผู้ใช้จะมีการเข้าถึงเชลล์โดยตรงหรือไม่ แต่ซอฟต์แวร์ของพวกเขาอาจกำลังทำงานอยู่ (ภายใต้ชื่อผู้ใช้ Linux ที่ จำกัด ) ในระบบของเราซึ่งดีเท่ากับการเข้าถึงเชลล์โดยตรง
    • สมมติว่าซอฟต์แวร์ของพวกเขาอาจเป็นอันตรายเพื่อความปลอดภัย

ฉันเคยได้ยินเทคโนโลยี / ชุดค่าผสมหลายอย่างเพื่อให้บรรลุเป้าหมายของฉัน แต่ฉันไม่แน่ใจว่าจะแตกต่างกันอย่างไร

  • โพสต์ ServerFault เก่าแนะนำ NFS และ NIS แม้ว่าการรวมกันมีปัญหาด้านความปลอดภัยตามบทความเก่านี้โดยไซแมนเทค บทความแนะนำให้ย้ายไปยัง NIS + แต่เนื่องจากเป็นบทความเก่าWikipediaได้อ้างถึงข้อความที่บ่งบอกถึงแนวโน้มที่น่าสนใจจาก NIS + โดย Sun การทดแทนที่แนะนำคือสิ่งอื่นที่ฉันเคยได้ยิน ...
  • LDAP ดูเหมือนว่า LDAP สามารถใช้เพื่อบันทึกข้อมูลผู้ใช้ในตำแหน่งส่วนกลางบนเครือข่าย NFS ยังคงต้องใช้เพื่อครอบคลุมความต้องการ 'โฟลเดอร์บ้านโรมมิ่ง' แต่ฉันเห็นการอ้างอิงของพวกเขาถูกใช้ร่วมกัน เนื่องจากบทความของไซแมนเทคชี้ให้เห็นปัญหาความปลอดภัยในทั้ง NIS และ NFS มีซอฟต์แวร์ที่จะแทนที่ NFS หรือฉันควรฟังคำแนะนำของบทความนั้นเพื่อล็อคมันลงหรือไม่ ฉันพุ่งไปหา LDAPเพราะ RabbitMQ เป็นส่วนพื้นฐานของสถาปัตยกรรมของเรามีปลั๊กอินการรับรองความถูกต้อง / การอนุญาตสำหรับ LDAP RabbitMQ จะสามารถเข้าถึงได้ในลักษณะที่ จำกัด กับผู้ใช้ในระบบดังนั้นฉันจึงอยากจะผูกระบบรักษาความปลอดภัยเข้าด้วยกันถ้าเป็นไปได้
  • Kerberos เป็นอีกหนึ่งโปรโตคอลการตรวจสอบความปลอดภัยที่ฉันเคยได้ยิน ฉันเรียนรู้เล็กน้อยเกี่ยวกับเรื่องนี้เมื่อหลายปีก่อนในชั้นเรียนการเข้ารหัส แต่จำไม่ได้มากเกี่ยวกับเรื่องนี้ ฉันเห็นคำแนะนำออนไลน์ว่าสามารถใช้ร่วมกับ LDAP ได้หลายวิธี จำเป็นหรือไม่ ความเสี่ยงด้านความปลอดภัยของ LDAP ที่ไม่มี Kerberos คืออะไร ฉันยังจำได้ว่ามีการใช้ Kerberos ในซอฟต์แวร์อีกชิ้นที่พัฒนาโดย Carnegie Mellon University ...
  • ระบบไฟล์แอนดรูว์หรือ AFS OpenAFS สามารถใช้งานได้แม้ว่าการตั้งค่าจะค่อนข้างซับซ้อน ที่มหาวิทยาลัยของฉัน AFS มีข้อกำหนดทั้งสองอย่าง ... ฉันสามารถลงชื่อเข้าใช้เครื่องใดก็ได้และ "โฟลเดอร์ AFS" ของฉันพร้อมใช้งานเสมอ (อย่างน้อยเมื่อฉันได้รับโทเค็น AFS)

นอกจากคำแนะนำสำหรับเส้นทางที่ฉันควรพิจารณาแล้วใครบ้างมีคำแนะนำที่เป็นประโยชน์อย่างยิ่งหรือไม่? ตามที่ตัวหนาระบุไว้ LDAP ดูเหมือนจะเป็นตัวเลือกที่ดีที่สุด แต่ฉันสนใจเป็นพิเศษในรายละเอียดการใช้งาน (Keberos? NFS?) เกี่ยวกับความปลอดภัย

คำตอบ:


7

การพิสูจน์ตัวตนการอนุญาตและข้อมูลไดเร็กทอรี

นี่ไม่ใช่คำตอบที่สมบูรณ์สำหรับคำถามของคุณ แต่ฉันคิดว่าอาจช่วยตอบคำถามของคุณเกี่ยวกับ NIS กับ LDAP และ Kerberos

เริ่มต้นด้วยสิ่งนี้ซึ่งให้ภาพรวมที่ดีของความแตกต่างระหว่างการรับรองความถูกต้องและการอนุญาตซึ่งเป็นสิ่งสำคัญที่ต้องเข้าใจสำหรับการสนทนาประเภทนี้

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

ในทางตรงกันข้ามทั้ง NIS และ LDAP เป็นบริการไดเรกทอรี อนุญาตให้ไคลเอนต์สอบถามข้อมูลเกี่ยวกับผู้ใช้ (โฮมไดเรกทอรีของคุณคืออะไร ID ผู้ใช้ของคุณคืออะไร) ทั้งสองสามารถใช้เป็นแหล่งการรับรองความถูกต้องที่มีปัญหาที่แตกต่างกันไป

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

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

เป็นเรื่องธรรมดามากที่จะใช้ Kerberos สำหรับการตรวจสอบความถูกต้องจากนั้น NIS หรือ LDAP สำหรับการให้สิทธิ์ (โดยทั่วไปหมายถึง "การเป็นสมาชิกกลุ่ม") และข้อมูลไดเรกทอรี ฉันจะยืนยันว่า NIS เมื่อคุณลบแฮชรหัสผ่าน (โดยย้ายการรับรองความถูกต้องของคุณไปยัง Kerberos) จะไม่ปลอดภัยน้อยกว่า LDAP จริง ๆ และมีข้อได้เปรียบในการใช้งาน

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

หากคุณกำลังสร้างสิ่งต่าง ๆ ตั้งแต่เริ่มต้นฉันขอแนะนำ Kerberos สำหรับการรับรองความถูกต้องและ LDAP สำหรับบริการไดเรกทอรีของคุณ

ระบบแฟ้ม

NFS มีข้อได้เปรียบที่ยิ่งใหญ่: คุณมีอยู่แล้วมันถูกติดตั้งอย่างกว้างขวางและโดยทั่วไปมีความเสถียร มี downside หลักที่สองถึง NFS:

  • มันไม่ได้ปรับขนาดได้ดีสำหรับ i / o แบบขนาน หากคุณมีเครื่องจำนวนมากที่ใช้ระบบไฟล์เดียวกันเซิร์ฟเวอร์ NFS เครื่องเดียวของคุณอาจมีปัญหาในการติดตาม นี่คือเหตุผลที่กลุ่มที่ใหญ่กว่านั้นใช้ระบบไฟล์คลัสเตอร์ (เช่น Luster, GlusterFS, GPFS, GFS ฯลฯ ) ที่ได้รับการออกแบบมาเพื่อรองรับ i / o แบบขนาน

  • มันมีรูปแบบความปลอดภัยที่ไม่ดี โดยทั่วไปการตัดสินใจด้านความปลอดภัยของ NFS นั้นขึ้นอยู่กับ ID ผู้ใช้ที่เป็นตัวเลขของคุณทั้งหมด หากคุณมีรูทบนระบบที่สามารถเมาท์ระบบไฟล์ NFS คุณจะสามารถเข้าถึงไฟล์ทั้งหมด - เพราะคุณสามารถสร้างผู้ใช้ท้องถิ่นด้วย ID ผู้ใช้ที่เหมาะสม สิ่งนี้ไม่เป็นความจริงอย่างแน่นอนเพราะทั้ง NFSv3 และ NFSv4 มีระดับการสนับสนุนที่หลากหลายสำหรับการตรวจสอบสิทธิ์ Kerberos แต่ฉันยังไม่เคยพบใครที่ใช้สิ่งนี้ ... ดังนั้นระยะทางของคุณอาจแตกต่างกันไป

สำหรับการปรับใช้ขนาดเล็กคนส่วนใหญ่ใช้ NFS แม้จะมีข้อ จำกัด

มีวิธีแก้ปัญหาอื่น ๆ อีกมากมาย - ระบบไฟล์คลัสเตอร์ที่ฉันกล่าวถึงข้างต้นรวมถึง AFS และอื่น ๆ - แต่สิ่งเหล่านี้ส่วนใหญ่จะต้องทำงานในส่วนของคุณเพื่อให้พวกเขาทำงานในการกระจายสิ่งที่คุณเลือก ฉันได้ยินสิ่งดีๆเกี่ยวกับ GlusterFS เมื่อเร็ว ๆ นี้ดังนั้นหากฉันกำลังมองหาทางเลือก NFS ที่อาจเป็นที่แรกที่ฉันมอง


ขอบคุณสำหรับการล้างสิ่งเหล่านั้น จริง ๆ แล้วฉันมีรากฐานที่ดีในการอนุญาตกับการตรวจสอบ; ฉันแค่ไม่แน่ใจในความสามารถของซอฟต์แวร์แต่ละชิ้น ส่วนการจัดเก็บก็มีความสำคัญเช่นกัน คุณรู้หรือไม่ว่ารูปแบบความปลอดภัยของ Kerberos / LDAP เชื่อมโยงกับ NFS อย่างไร
Brian

ฉันได้อัพเดตคำตอบพร้อมกับข้อมูลบางอย่างเกี่ยวกับ NFS แล้ว
larsks

ในกรณีนี้ฉันเห็นว่าไม่มีเหตุผลที่จะ จำกัด เพียงเซิร์ฟเวอร์ NFS เดียวแม้ว่าอาจมีเพียงพอและสามารถเพิ่มได้อีกในภายหลัง help.ubuntu.com/community/AutofsLDAP
84104

ฉันได้ลองใช้คำแนะนำ AutofsLDAP และผู้อื่นแล้ว มันอาจจะเขียนไม่ดีหรือล้าสมัยเนื่องจากผลลัพธ์ของฉันแตกต่างกันและฉันไม่สามารถดำเนินการเกินกว่าที่กำหนด :(
Brian

คุณอาจต้องการเปิดคำถามใหม่พร้อมรายละเอียดที่เหมาะสม
larsks

0

นี่คือคำตอบบางส่วน

NIS / NIS +
อย่าใช้ NIS ใช้ LDAP กับ nis schema

OpenLDAP (aka slapd บน Ubuntu)
ตรวจสอบให้แน่ใจว่าได้ตั้งค่า ACL และ SSF ที่เหมาะสม (ปัจจัยด้านความปลอดภัย)
มันง่ายมากที่จะส่งรหัสผ่านอย่างชัดเจนหากคุณไม่ระวัง
http://www.openldap.org/doc/

NFS
NFS ไม่ใช่การเข้ารหัส
มันสามารถห่อด้วย SSL ด้วยกลอุบายบางอย่าง
หากไม่มี Kerberos จะใช้ ip_addr สำหรับการรับรองความถูกต้อง
ด้วย Kerberos เป็นไปได้ที่ SASL จะใช้ในการเข้ารหัสทุกอย่าง

Kerberos
ต้องการ OpenLDAP เพื่อให้มีการตรวจสอบสิทธิ์แบบพาส - ทรู SASL สำหรับการตรวจสอบความถูกต้อง LDAP (ไม่ยาก)
ควรใช้รายการ DNS (ไม่จำเป็น แต่มีประโยชน์มาก)
สามารถใช้ GSSAPI แทน ssh-keys (สามารถมีอยู่ได้)
เครื่อง KDC ควรแยกจากเครื่องไคลเอ็นต์ของคุณ

OpenAFS
เข้ารหัสด้วย DES (ไม่ถือว่าปลอดภัย)
ต้องใช้ Kerberos หรือเป็นผู้ตรวจสอบสิทธิ์เดิม
มี ACLs ระบบไฟล์ของตัวเอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.