SWL Network (IV): Ubuntu แม่นยำและ ClearOS การพิสูจน์ตัวตน SSSD กับ LDAP ดั้งเดิม

สวัสดีเพื่อน!. ตรงประเด็นก่อนอ่านบทความ«ความรู้เบื้องต้นเกี่ยวกับเครือข่ายพร้อมซอฟต์แวร์เสรี (I): การนำเสนอ ClearOS»และดาวน์โหลดแพ็คเกจภาพการติดตั้ง ClearOS ทีละขั้นตอน (1,1 เมกะ) เพื่อรับทราบสิ่งที่เรากำลังพูดถึง หากไม่มีการอ่านนั้นจะเป็นการยากที่จะติดตามเรา ตกลง? นิสัยหมดหวัง.

ภูตบริการรักษาความปลอดภัยระบบ

โปรแกรม สสส o Daemon สำหรับ System Security Serviceเป็นโครงการของ Fedoraซึ่งเกิดจากโครงการอื่นนอกจากนี้จาก Fedora- เรียกว่า ฟรี IPA. ตามที่ผู้สร้างของตัวเองคำจำกัดความสั้น ๆ และแปลอย่างอิสระจะเป็น:

SSSD เป็นบริการที่ให้การเข้าถึงผู้ให้บริการข้อมูลประจำตัวและการพิสูจน์ตัวตนที่แตกต่างกัน สามารถกำหนดค่าสำหรับโดเมน LDAP ดั้งเดิม (ผู้ให้บริการข้อมูลประจำตัวที่ใช้ LDAP พร้อมการพิสูจน์ตัวตน LDAP) หรือสำหรับผู้ให้บริการข้อมูลประจำตัว LDAP ที่มีการพิสูจน์ตัวตน Kerberos SSSD จัดเตรียมส่วนต่อประสานกับระบบผ่าน เอ็นเอส y PAMและ Back End ที่แทรกได้เพื่อเชื่อมต่อกับต้นกำเนิดของบัญชีหลายบัญชี

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

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

ตัวอย่างเครือข่าย

  • ตัวควบคุมโดเมน DNS DHCP: ClearOS องค์กร 5.2sp1.
  • ชื่อผู้ควบคุม: CentOS
  • ชื่อโดเมน: friends.cu
  • IP ตัวควบคุม: 10.10.10.60
  • ---------------
  • รุ่นอูบุนตู: Ubuntu Desktop 12.04.2 แม่นยำ
  • ชื่อทีม: จำเป็นต้อง
  • ที่อยู่ IP: ใช้ DHCP

เราเตรียม Ubuntu ของเรา

เราแก้ไขไฟล์ /etc/lightdm/lightdm.conf เพื่อยอมรับการเข้าสู่ระบบด้วยตนเองและเราปล่อยให้คุณมีเนื้อหาต่อไปนี้:

[SeatDefaults] Greeter-session = Unity-Greeter user-session = ubuntu Greeter-show-manual-login = true Greeter-hide-users = true allow-guest = false

หลังจากบันทึกการเปลี่ยนแปลงเรารีสตาร์ทไฟล์ LightDM ในคอนโซลที่เรียกใช้โดย Ctrl+Alt+F1 และในนั้นเราดำเนินการหลังจากเข้าสู่ระบบ sudo service lightdm รีสตาร์ท.

ขอแนะนำให้แก้ไขไฟล์ด้วย / etc / hosts และปล่อยให้มีเนื้อหาต่อไปนี้:

127.0.0.1 localhost 127.0.1.1 precision.amigos.cu แม่นยำ [----]

ด้วยวิธีนี้เราจะได้รับคำตอบที่เหมาะสมสำหรับคำสั่ง ชื่อโฮสต์ y ชื่อโฮสต์ –fqdn.

เราตรวจสอบว่าเซิร์ฟเวอร์ LDAP กำลังทำงาน

เราแก้ไขไฟล์ /etc/ldap/ldap.conf และติดตั้งแพ็คเกจ ldap-utils:

: ~ $ sudo nano /etc/ldap/ldap.conf
[----] ฐาน dc = เพื่อน, dc = cu URI ldap: //centos.amigos.cu [----]
: ~ $ sudo aptitude ติดตั้ง ldap-utils: ~ $ ldapsearch -x -b 'dc = friends, dc = cu' '(objectclass = *)': ~ $ ldapsearch -x -b dc = friends, dc = cu 'uid = ก้าวย่าง '
: ~ $ ldapsearch -x -b dc = เพื่อน, dc = cu 'uid = เลโกลัส' cn gidNumber

ด้วยสองคำสั่งสุดท้ายเราตรวจสอบความพร้อมใช้งานของเซิร์ฟเวอร์ OpenLDAP ของ ClearOS ของเรา มาดูผลลัพธ์ของคำสั่งก่อนหน้านี้กันดีกว่า

สำคัญ: เราได้ตรวจสอบด้วยว่าบริการระบุตัวตนในเซิร์ฟเวอร์ OpenLDAP ของเราทำงานได้อย่างถูกต้อง

เครือข่าย swl-04- ผู้ใช้

เราติดตั้งแพ็คเกจ sssd

ขอแนะนำให้ติดตั้งแพคเกจ นิ้ว เพื่อให้การตรวจสอบสามารถดื่มได้มากกว่าไฟล์ ldapsearch:

: ~ $ sudo aptitude ติดตั้งนิ้ว sssd

เมื่อเสร็จสิ้นการติดตั้งบริการ ssd ไม่เริ่มทำงานเนื่องจากไม่มีไฟล์ /etc/sssd/sssd.conf. ผลลัพธ์ของการติดตั้งสะท้อนถึงสิ่งนี้ ดังนั้นเราต้องสร้างไฟล์นั้นและปล่อยให้ไฟล์ เนื้อหาขั้นต่ำถัดไป:

: ~ $ sudo nano /etc/sssd/sssd.conf
[sssd] config_file_version = 2 services = nss, pam # SSSD จะไม่เริ่มทำงานหากคุณไม่ได้กำหนดค่าโดเมนใด ๆ # เพิ่มการกำหนดค่าโดเมนใหม่เป็น [โดเมน / ] และ # จากนั้นเพิ่มรายการโดเมน (ตามลำดับที่คุณต้องการให้ถูกสอบถาม #) ไปยังแอตทริบิวต์ "โดเมน" ด้านล่างและไม่ใส่ความคิดเห็น domains = amigos.cu [nss] filter_groups = root filter_users = root reconnection_retries = 3 [pam] reconnection_retries = 3 # โดเมน LDAP [domain / amigos.cu] id_provider = ldap
auth_provider = ldap
chpass_provider = ldap # ldap_schema สามารถตั้งค่าเป็น "rfc2307" ซึ่งเก็บชื่อสมาชิกกลุ่มในแอตทริบิวต์ # "memberuid" หรือ "rfc2307bis" ซึ่งเก็บ DN ของสมาชิกกลุ่มใน # แอตทริบิวต์ "member" หากคุณไม่ทราบค่านี้โปรดสอบถามผู้ดูแลระบบ LDAP # ของคุณ # ทำงานกับ ClearOS ldap_schema = rfc2307
ldap_uri = ldap: //centos.amigos.cu
ldap_search_base = dc = friends, dc = cu # โปรดทราบว่าการเปิดใช้งานการแจงนับจะส่งผลกระทบต่อประสิทธิภาพในระดับปานกลาง # ดังนั้นค่าเริ่มต้นสำหรับการแจงนับคือ FALSE # อ้างถึงหน้าคน sssd.conf สำหรับรายละเอียดทั้งหมด ระบุ = false # อนุญาตการเข้าสู่ระบบออฟไลน์โดยการจัดเก็บแฮชรหัสผ่านไว้ในเครื่อง (ค่าเริ่มต้น: เท็จ) cache_credentials = true
ldap_tls_reqcert = อนุญาต
ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt

เมื่อสร้างไฟล์แล้วเราจะกำหนดสิทธิ์ที่เกี่ยวข้องและเริ่มบริการใหม่:

: ~ $ sudo chmod 0600 /etc/sssd/sssd.conf
: ~ $ sudo service sssd เริ่มต้นใหม่

หากเราต้องการเพิ่มเนื้อหาของไฟล์ก่อนหน้านี้ขอแนะนำให้ดำเนินการ ผู้ชาย sssd.conf และ / หรือดูเอกสารที่มีอยู่บนอินเทอร์เน็ตโดยเริ่มจากลิงก์ที่จุดเริ่มต้นของโพสต์ ปรึกษาด้วย ผู้ชาย sssd-ldap. แพคเกจ ssd รวมถึงตัวอย่างใน /usr/share/doc/sssd/examples/sssd-example.confซึ่งสามารถใช้ในการรับรองความถูกต้องกับ Microsoft Active Directory

ตอนนี้เราสามารถใช้คำสั่งที่ดื่มได้มากที่สุด นิ้ว y รับ:

: ~ $ นิ้วก้าว
เข้าสู่ระบบ: ก้าวชื่อ: Strides El Rey Directory: / home / strides Shell: / bin / bash ไม่เคยเข้าสู่ระบบ ไม่มีจดหมาย ไม่มีแผน

: ~ $ sudo getent passwd เลโกลัส
เลโกลัส: *: 1004: 63000: เลโกลัสดิเอลฟ์: / home / legolas: / bin / bash

เรายังไม่สามารถส่งตัวเองไปทำงานและพยายามพิสูจน์ตัวตนในฐานะผู้ใช้บนเซิร์ฟเวอร์ LDAP ก่อนที่เราจะต้องแก้ไขไฟล์ /etc/pam.d/common-sessionเพื่อให้โฟลเดอร์ของผู้ใช้ถูกสร้างขึ้นโดยอัตโนมัติเมื่อคุณเริ่มเซสชันของคุณหากไม่มีอยู่จากนั้นรีบูตระบบ:

-
ต้องใช้เซสชั่น pam_mkhomedir.so skel = / etc / skel / umask = 0022

### ต้องระบุบรรทัดด้านบนก่อน
# นี่คือโมดูลต่อแพ็คเกจ (บล็อก "หลัก") [----]

ตอนนี้ถ้าเรารีสตาร์ท:

: ~ $ sudo รีบูต

หลังจากเข้าสู่ระบบแล้วให้ยกเลิกการเชื่อมต่อเครือข่ายโดยใช้ Connection Manager และออกจากระบบและกลับเข้ามาใหม่ ไม่มีอะไรเร็วขึ้น ทำงานในเทอร์มินัล ifconfig และพวกเขาจะเห็นว่า eth0 ไม่ได้กำหนดค่าเลย

เปิดใช้งานเครือข่าย กรุณาออกจากระบบและเข้าสู่ระบบอีกครั้ง ตรวจสอบอีกครั้งด้วย ifconfig.

แน่นอนในการทำงานแบบออฟไลน์จำเป็นต้องเริ่มเซสชันอย่างน้อยหนึ่งครั้งในขณะที่ OpenLDAP ออนไลน์อยู่เพื่อให้ข้อมูลรับรองถูกบันทึกไว้ในคอมพิวเตอร์

อย่าลืมกำหนดให้ผู้ใช้ภายนอกที่ลงทะเบียนใน OpenLDAP เป็นสมาชิกของกลุ่มที่จำเป็นโดยให้ความสำคัญกับผู้ใช้ที่สร้างขึ้นระหว่างการติดตั้งเสมอ

หากอุปกรณ์ไม่ต้องการปิดโดยใช้ แอปเพล็ จากนั้นเรียกใช้ในคอนโซล sudo ปิดไฟ เพื่อปิดและ sudo reboot เพื่อเริ่มต้นใหม่ ยังคงต้องค้นหาสาเหตุที่บางครั้งเกิดเหตุการณ์ข้างต้น

หมายเหตุ:

ประกาศตัวเลือก ldap_tls_reqcert = ไม่เคยในไฟล์ /etc/sssd/sssd.confถือเป็นความเสี่ยงด้านความปลอดภัยตามที่ระบุไว้ในหน้า SSSD - คำถามที่พบบ่อย. ค่าเริ่มต้นคือ«ความต้องการ«. ดู ผู้ชาย sssd-ldap. อย่างไรก็ตามในบท 8.2.5 การกำหนดค่าโดเมน จากเอกสารของ Fedora มีการระบุสิ่งต่อไปนี้:

SSSD ไม่รองรับการรับรองความถูกต้องผ่านช่องสัญญาณที่ไม่ได้เข้ารหัส ดังนั้นหากคุณต้องการพิสูจน์ตัวตนกับเซิร์ฟเวอร์ LDAP ก็เช่นกัน TLS/SSL or LDAPS จำเป็นต้องมี

สสส ไม่รองรับการรับรองความถูกต้องผ่านช่องสัญญาณที่ไม่ได้เข้ารหัส ดังนั้นหากคุณต้องการพิสูจน์ตัวตนกับเซิร์ฟเวอร์ LDAP ก็จำเป็น TLS / SLL o LDAP.

ส่วนตัวเราคิดว่า ที่แนวทางแก้ไข เพียงพอสำหรับ Enterprise LAN จากมุมมองด้านความปลอดภัย ผ่าน WWW Village เราขอแนะนำให้ใช้ช่องสัญญาณที่เข้ารหัสโดยใช้ TLS หรือ "ชั้นความปลอดภัยการขนส่ง»ระหว่างคอมพิวเตอร์ไคลเอนต์และเซิร์ฟเวอร์

เราพยายามที่จะบรรลุสิ่งนี้จากการสร้างใบรับรองด้วยตนเองที่ถูกต้องหรือ«ลงนามด้วยตนเอง “ บนเซิร์ฟเวอร์ ClearOS แต่เราทำไม่ได้ มันเป็นปัญหาที่รอดำเนินการ หากผู้อ่านทราบวิธีการทำก็ยินดีที่จะอธิบาย!

ตัดการเชื่อมต่อ


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   Elav dijo

    บทความอื่นสำหรับบุ๊กมาร์ก😀

    1.    เฟเดริโก้ dijo

      ขอบคุณสำหรับการแสดงความคิดเห็นและทักทาย !!!

  2.   โจเอล dijo

    สวัสดี. ฉันพยายามทำให้มันใช้งานได้กับเซิร์ฟเวอร์ ubuntu และ ubuntu อื่นเป็นไคลเอนต์และการเชื่อมต่อทุกอย่างทำงานได้ดีมาก แต่เมื่อฉันหยุดเซิร์ฟเวอร์หรือยกเลิกการเชื่อมต่อเครือข่ายมันไม่ยอมรับรหัสผ่านของผู้ใช้ ฉันไม่รู้ว่าตัวเองทำอะไรผิด อาจเป็นเพราะฉันไม่ได้กำหนดค่าเซิร์ฟเวอร์ ldap ให้ใช้ความปลอดภัย (ssl)?

    1.    เบรย์เบาท์ dijo

      นั่นเป็นเหตุผลว่าทำไมเนื่องจากคุณไม่มีช่องเข้ารหัสจึงไม่ยอมรับรหัสผ่านของคุณ