แก้ไข:ฟอร์แมตใหม่เป็นคำถาม & คำตอบ หากใครก็ตามสามารถเปลี่ยนจาก Community Wiki เป็นคำถามทั่วไปได้ก็อาจเหมาะสมกว่าเช่นกัน
ฉันจะตรวจสอบ OpenBSD กับ Active Directory ได้อย่างไร
แก้ไข:ฟอร์แมตใหม่เป็นคำถาม & คำตอบ หากใครก็ตามสามารถเปลี่ยนจาก Community Wiki เป็นคำถามทั่วไปได้ก็อาจเหมาะสมกว่าเช่นกัน
ฉันจะตรวจสอบ OpenBSD กับ Active Directory ได้อย่างไร
คำตอบ:
คำนำ
การพิสูจน์ตัวตนกับ Active Directory กับ Kerberos นั้นค่อนข้างง่ายในระบบที่ใช้ PAM แต่ OpenBSD ไม่ได้ทำให้ยากขึ้น จาก tcpdump ดูเหมือนว่าระบบ PAM กำลังทำการตรวจสอบล่วงหน้าในขณะที่ระบบ bsd_auth ของ OpenBSD ใช้กระบวนการตรวจสอบสิทธิ์ Kerberos ทั้งหมด
อย่างไรก็ตามนี่ใช้เวลาสักครู่กว่าจะคิดออกดังนั้นหวังว่าคำแนะนำสั้น ๆ บางอย่างจะช่วยคุณประหยัดเวลา
บันทึกย่อสั้น ๆ ก่อนที่เราจะเริ่มต้น:
คำแนะนำ
ขั้นตอนเหล่านี้ถือว่าคุณพยายามรับรองความถูกต้อง myuser@myhost.fqdn กับโดเมน EXAMPLE.COM ตัวควบคุมโดเมนคือ pdc.EXAMPLE.COM
สร้างบัญชีผู้ใช้ Active Directory ชื่อmyhost (นั่นไม่ใช่การพิมพ์ผิดคำแนะนำเหล่านี้จะไม่สามารถใช้ได้กับบัญชีคอมพิวเตอร์) ปิดใช้งานการหมดอายุของรหัสผ่านและไม่อนุญาตให้ผู้ใช้เปลี่ยนรหัสผ่านของตัวเอง ตั้งรหัสผ่านเป็นสิ่งที่คุณต้องการ - มันจะเปลี่ยนในไม่ช้า
อาจเป็นความคิดที่ดีในการสร้างบัญชีผู้ใช้ภายใต้ OU ใหม่ลบออกจากกลุ่มผู้ใช้โดเมนและเพิ่มลงในกลุ่มเฉพาะ ทั้งหมดนี้เป็นเรื่องของรสนิยมและรูปแบบความปลอดภัยของคุณ
ใน pdc.EXAMPLE.COM ให้ดาวน์โหลดและติดตั้งเครื่องมือสนับสนุน Windows Server (โดยเฉพาะคุณต้องมี ktpass.exe)
ใน pdc.EXAMPLE.COM ให้เรียกใช้:
ktpass -out c: \ temp \ myhost.keytab -princ host/myhost.fqdn@EXAMPLE.COM -mapuser myhost -pType KRB5
_
NT_PRINCIPAL + rndpass
สิ่งนี้จะอัปเดตรหัสผ่านของผู้ใช้ myhost เป็นแบบสุ่ม (+ rndpass) แม็พหลักการของ Kerberos "host/myhost.fqdn@EXAMPLE.COM" กับผู้ใช้ "myhost" ใน Active Directory จากนั้นจึงทิ้งข้อมูลหลักและคีย์ส่วนตัวลงใน - ออกไฟล์ keytab
คัดลอก c: \ temp \ myhost.keytab ไปยัง myhost อย่างปลอดภัยและลบไฟล์จาก pdc.EXAMPLE.COM
บน myhost ให้เพิ่ม AD keytab ในแท็บหลักของคุณ:
คัดลอก ktutil /path/to/myhost.keytab /etc/kerberosV/krb5.keytab
กำหนดค่า /etc/krb5.conf ด้านล่างเป็นขั้นต่ำเปลือยที่คุณต้องการ มีตัวเลือกมากมายให้ดูที่ manpage สำหรับรายละเอียดเพิ่มเติม เพียงแค่ตั้งค่านาฬิกาที่ยอมรับได้สูงสุดถึง 5 นาทีทำให้ EXAMPLE.COM เป็นขอบเขตเริ่มต้นและบอก Kerberos ถึงวิธีการแปลระหว่าง DNS และ Kerberos realms
[libdefaults]
clockskew = 300
default_realm = EXAMPLE.COM[อาณาจักร]
EXAMPLE.COM = {
default_domain = EXAMPLE.COM
}[domain_realm] .EXAMPLE.COM
= EXAMPLE.COM
ตรวจสอบว่าคุณสามารถรับตั๋ว:
# kinit Administrator@EXAMPLE.COM
Administrator@EXAMPLE.COM's Password:
# klist
Credentials cache: FILE:/tmp/krb5cc_0
Principal: Administrator@EXAMPLE.COM
Issued Expires Principal
Jun 4 21:41:05 Jun 5 07:40:28 krbtgt/EXAMPLE.COM@EXAMPLE.COM
แก้ไข /etc/login.conf เพื่อใช้การพิสูจน์ตัวตน Kerberos การกำหนดค่า login.conf ที่แน่นอนของคุณจะแตกต่างกันไปขึ้นอยู่กับวิธีที่คุณใช้ระบบของคุณ แต่จากการติดตั้งวานิลลาเพื่อใช้ Kerberos เพียงแก้ไขและแสดงความคิดเห็นบรรทัดนี้ภายใต้คลาสล็อกอินเริ่มต้น:
:tc=auth-defaults:\
และเพิ่มข้างบน:
:auth=krb5-or-pwd:\
สิ่งนี้จะตรวจสอบ Kerberos ก่อนเว้นแต่ว่าผู้ใช้เป็นรูท หาก Kerberos ล้มเหลวจะใช้รหัสผ่านในเครื่อง
เพิ่มผู้ใช้ที่คุณต้องการรับรองความถูกต้องในโฮสต์นี้ ปล่อยให้รหัสผ่านว่างเปล่าเว้นเสียแต่ว่าคุณต้องการให้พวกเขาสามารถใช้ทั้ง Active Directory และรหัสผ่านท้องถิ่น (ไม่แนะนำ)
คุณสามารถเว้นว่างรหัสผ่านของผู้ใช้ที่มีอยู่ "chpass <user>
" และแทนที่ค่า "รหัสผ่านที่เข้ารหัส:" ด้วยเครื่องหมายดอกจัน (*)
ทดสอบ SSH และ Sudo ทั้งสองควรทำงานอย่างไม่มีที่ติกับข้อมูลประจำตัว Active Directory ของคุณ
นั่นคือทั้งหมดที่มีให้มัน
การเชื่อมโยง
ไซต์ที่มีประโยชน์สองแห่ง:
login_krb5-or-pwd
ไป/usr/libexec/auth
ยัง - ไฟล์การกำหนดค่าและตารางคีย์ตอนนี้อยู่ใน/etc/heimdal
และไม่/etc/kerberosV
เหมือนในรุ่นก่อนหน้าของ OpenBSD
การอัปเดตคำแนะนำข้างต้นเนื่องจากมีการเปลี่ยนแปลงเล็ก ๆ น้อย ๆ ตั้งแต่นั้นมา
ใน OpenBSD 5.6 มีการตัดสินใจที่จะลบ Heimdal ออกจากการกระจายฐานเนื่องจากความกังวลเกี่ยวกับคุณภาพของรหัสและไม่มีใครเต็มใจที่จะใช้เวลาในการตรวจสอบ ใน 5.7 มันให้บริการเป็นแพคเกจ (สำหรับ 5.6 คุณจะต้องสร้างจากแหล่งที่มาหรือหาวิธีเปิดใช้งานมันในแหล่งที่มา) ดังนั้นก่อนที่จะทำตามคำแนะนำข้างต้นขั้นตอนเพิ่มเติมต่อไปนี้จะต้องเสร็จสมบูรณ์:
-3 ติดตั้งheimdal
และlogin_krb5
แพ็คเกจจากกระจกโปรดของคุณ
-2 คัดลอกไป/usr/local/libexec/auth/login_krb5*
/usr/libexec/auth
-1 หากคุณตั้งใจจะใช้เครื่องมือ heimdal มาก ๆ ให้เพิ่ม/usr/local/heimdal/bin
เส้นทางของระบบของคุณ มิฉะนั้นโปรดอ้างอิงเครื่องมือด้วยพา ธ เต็มเมื่อใช้งาน
นอกจากนี้ไฟล์krb5.conf
และkrb5.keytab
ยังเข้าสู่/etc/heimdal
ตอนนี้