ไม่กี่วันที่ผ่านมา Google เปิดตัว ผ่านบล็อกโพสต์ข่าวของ การเปิดตัวซอร์สโค้ดของโครงการ HIBA (Host Identity Based Authorization) ซึ่งเสนอการดำเนินการของกลไกการอนุญาตเพิ่มเติมเพื่อจัดระเบียบการเข้าถึงของผู้ใช้ผ่าน SSH ที่เกี่ยวข้องกับโฮสต์ (ตรวจสอบว่าอนุญาตให้เข้าถึงทรัพยากรเฉพาะหรือไม่เมื่อดำเนินการตรวจสอบโดยใช้กุญแจสาธารณะ)
บูรณาการกับ OpenSSH มีให้โดยการระบุไดรเวอร์ HIBA ในคำสั่ง AuthorizedPrincipalsCommand ใน / etc / ssh / sshd_config. รหัสโครงการเขียนด้วยภาษา C และเผยแพร่ภายใต้ใบอนุญาต BSD
เกี่ยวกับ HIBA
ฮิบา ใช้กลไกการพิสูจน์ตัวตนมาตรฐานตามใบรับรอง OpenSSH สำหรับการจัดการการอนุญาตผู้ใช้แบบรวมศูนย์ที่ยืดหยุ่นและสัมพันธ์กับโฮสต์ แต่ไม่ต้องการการเปลี่ยนแปลงเป็นระยะในไฟล์ authorized_keys และ authorized_users ที่ด้านข้างของโฮสต์ที่เชื่อมต่ออยู่
แทนที่จะเก็บรายการคีย์ เงื่อนไขสาธารณะและการเข้าถึงที่ถูกต้องในไฟล์ที่ได้รับอนุญาต (รหัสผ่าน | ผู้ใช้) HIBA รวมข้อมูลการผูกโฮสต์เข้ากับใบรับรองโดยตรง โดยเฉพาะอย่างยิ่ง มีการเสนอส่วนขยายสำหรับใบรับรองโฮสต์และใบรับรองผู้ใช้ ซึ่งเก็บพารามิเตอร์และเงื่อนไขของโฮสต์สำหรับการให้สิทธิ์การเข้าถึงแก่ผู้ใช้
แม้ว่า OpenSSH จะมีวิธีการมากมาย ตั้งแต่รหัสผ่านธรรมดาไปจนถึงการใช้ใบรับรอง แต่ละวิธีก็มีความท้าทายในตัวของมันเอง
เริ่มต้นด้วยการชี้แจงความแตกต่างระหว่างการรับรองความถูกต้องและการอนุญาต วิธีแรกคือวิธีแสดงว่าคุณเป็นนิติบุคคลที่คุณอ้างว่าเป็น โดยปกติจะทำได้โดยการระบุรหัสผ่านลับที่เชื่อมโยงกับบัญชีของคุณหรือโดยการลงนามในความท้าทายที่แสดงว่าคุณมีคีย์ส่วนตัวที่สอดคล้องกับคีย์สาธารณะ การอนุญาตเป็นวิธีตัดสินว่าเอนทิตีมีสิทธิ์เข้าถึงทรัพยากรหรือไม่ โดยปกติจะทำหลังจากเกิดการรับรองความถูกต้อง
การตรวจสอบฝั่งโฮสต์เริ่มต้นด้วยการเรียกไดรเวอร์ hiba-chk ระบุไว้ในคำสั่ง AuthorizedPrincipalsCommand ผู้จัดการคนนี้ ถอดรหัสส่วนขยายที่สร้างขึ้นในใบรับรอง และบนพื้นฐานของพวกเขา ตัดสินใจอนุญาตหรือบล็อกการเข้าถึง กฎการเข้าถึงถูกกำหนดจากส่วนกลางที่ระดับของหน่วยงานออกใบรับรอง (CA) และรวมเข้ากับใบรับรองในขั้นตอนของการสร้าง
ทางด้านศูนย์รับรอง มีรายการสิทธิ์ทั่วไปที่ใช้ได้ (โฮสต์ที่คุณสามารถเชื่อมต่อได้) และรายชื่อผู้ใช้ที่สามารถใช้สิทธิ์เหล่านี้ได้ มีการเสนอยูทิลิตี้ hiba-gen ให้สร้างใบรับรองพร้อมข้อมูลการอนุญาตในตัว และย้ายฟังก์ชันที่จำเป็นในการสร้างผู้ออกใบรับรองไปยังสคริปต์ hiba-ca.sh แล้ว
ระหว่างการเชื่อมต่อผู้ใช้ ข้อมูลประจำตัวที่ระบุในใบรับรองจะได้รับการยืนยันโดยลายเซ็นดิจิทัลของผู้ออกใบรับรอง ซึ่ง อนุญาตให้ดำเนินการตรวจสอบทั้งหมดบนฝั่งโฮสต์ปลายทางได้อย่างสมบูรณ์ ที่ทำการเชื่อมต่อโดยไม่ต้องติดต่อบริการภายนอก รายการคีย์สาธารณะของ CA ที่รับรองใบรับรอง SSH ระบุไว้โดยคำสั่ง TrustedUserCAKeys
HIBA กำหนดส่วนขยายสองรายการสำหรับใบรับรอง SSH:
ข้อมูลประจำตัว HIBA ที่แนบมากับใบรับรองโฮสต์ แสดงรายการคุณสมบัติที่กำหนดโฮสต์นี้ พวกเขาจะใช้เป็นเกณฑ์ในการให้สิทธิ์การเข้าถึง
ทุน HIBA ที่แนบมากับใบรับรองผู้ใช้ แสดงรายการข้อจำกัดที่โฮสต์ต้องปฏิบัติตามจึงจะได้รับสิทธิ์ในการเข้าถึง
นอกเหนือจากการเชื่อมโยงผู้ใช้โดยตรงไปยังโฮสต์, HIBA ให้คุณกำหนดกฎการเข้าถึงที่ยืดหยุ่นมากขึ้น. ตัวอย่างเช่น โฮสต์สามารถเชื่อมโยงกับข้อมูล เช่น ตำแหน่งและประเภทของบริการ และโดยการกำหนดกฎการเข้าถึงของผู้ใช้ อนุญาตให้เชื่อมต่อกับโฮสต์ทั้งหมดด้วยบริการบางประเภทหรือไปยังโฮสต์ที่ตำแหน่งเฉพาะ
ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติม เกี่ยวกับหมายเหตุคุณสามารถตรวจสอบรายละเอียดได้ ในลิงค์ต่อไปนี้.