อ่าน 5 นาที
รายการควบคุมการเข้าถึง
ในด้าน ความปลอดภัยของคอมพิวเตอร์ รายการ ควบคุมการเข้าถึง ( ACL ) คือรายการสิทธิ์ [ a ] ที่เกี่ยวข้องกับ ทรัพยากรระบบ (วัตถุหรือสิ่งอำนวยความสะดวก) ACL ระบุว่า ผู้ใช้ หรือ...
รายการควบคุมการเข้าถึง
ในด้านความปลอดภัยของคอมพิวเตอร์รายการควบคุมการเข้าถึง ( ACL ) คือรายการสิทธิ์[ a ]ที่เกี่ยวข้องกับทรัพยากรระบบ (วัตถุหรือสิ่งอำนวยความสะดวก) ACL ระบุว่าผู้ใช้หรือกระบวนการระบบ ใด ได้รับอนุญาตให้เข้าถึงทรัพยากร รวมถึงการดำเนินการใดที่ได้รับอนุญาตบนทรัพยากรที่กำหนด[ 1 ]แต่ละรายการใน ACL ทั่วไปจะระบุหัวข้อและการดำเนินการ ตัวอย่างเช่น
- หากอ็อบเจ็กต์ไฟล์มี ACL ที่มีข้อมูลดังกล่าว(อลิซ: อ่าน, เขียน; บ็อบ: อ่าน)ซึ่งจะทำให้ Alice มีสิทธิ์อ่านและเขียนไฟล์ได้ ในขณะที่ Bob มีสิทธิ์อ่านไฟล์ได้เพียงอย่างเดียว
- หาก โปรไฟล์ Resource Access Control Facility (RACF) CONSOLE CLASS(TSOAUTH) มี ACL ที่มี(อลิซ:อ่าน)ซึ่งจะทำให้ ALICE ได้รับอนุญาตให้ใช้คำสั่ง TSO CONSOLE
การนำไปใช้
ระบบปฏิบัติการหลายประเภทใช้ ACL หรือมีการใช้งานในอดีต การใช้งาน ACL ครั้งแรกอยู่ในระบบไฟล์ของMulticsในปี พ.ศ. 2508 [ 2 ] [ 3 ]
ACL ของระบบไฟล์
ACL ของระบบไฟล์เป็นโครงสร้างข้อมูล (โดยปกติจะเป็นตาราง) ที่มีรายการที่ระบุสิทธิ์ของผู้ใช้หรือกลุ่ม แต่ละรายในการเข้าถึง วัตถุระบบเฉพาะ เช่น โปรแกรมกระบวนการหรือไฟล์ รายการเหล่านี้เรียกว่ารายการควบคุมการเข้าถึง (ACE) ในระบบปฏิบัติการ Microsoft Windows NT [ 4 ] OpenVMSและระบบปฏิบัติการที่คล้าย Unixเช่นLinux , macOSและSolarisวัตถุที่เข้าถึงได้แต่ละชิ้นจะมีตัวระบุสำหรับ ACL สิทธิ์หรือการอนุญาตจะกำหนดสิทธิ์การเข้าถึงเฉพาะ เช่น ผู้ใช้สามารถอ่าน เขียน หรือเรียกใช้วัตถุได้หรือไม่ ในการใช้งานบางอย่าง ACE สามารถควบคุมได้ว่าผู้ใช้หรือกลุ่มผู้ใช้สามารถเปลี่ยนแปลง ACL บนวัตถุได้หรือไม่
Multics เป็นหนึ่งในระบบปฏิบัติการแรกๆ ที่มี ACL สำหรับระบบไฟล์PRIMOSมี ACL อย่างน้อยตั้งแต่ปี 1984 [ 5 ]
ในช่วงทศวรรษ 1990 รูปแบบการควบคุมการเข้าถึงตามสิทธิ์ (ACL) และการควบคุมการเข้าถึงตามบทบาท (RBAC) ได้รับการทดสอบและใช้งานอย่างกว้างขวางในการจัดการสิทธิ์การเข้าถึงไฟล์
POSIX ACL
กลุ่มทำงาน POSIX 1003.1e/1003.2c ได้พยายามสร้างมาตรฐาน ACL ซึ่งส่งผลให้เกิดสิ่งที่ปัจจุบันรู้จักกันในชื่อ "POSIX.1e ACL" หรือเรียกง่ายๆ ว่า "POSIX ACL" [ 6 ]ร่าง POSIX.1e/POSIX.2c ถูกถอนออกในปี 1997 เนื่องจากผู้เข้าร่วมหมดความสนใจในการให้ทุนสนับสนุนโครงการและหันไปใช้ทางเลือกที่มีประสิทธิภาพมากกว่า เช่น NFSv4 ACL [ 7 ] ณเดือนธันวาคม 2019 ไม่พบแหล่งข้อมูลร่างฉบับใดๆ บนอินเทอร์เน็ต แต่ยังคงสามารถพบได้ในInternet Archive [ 8 ]
ระบบปฏิบัติการ Unix และระบบปฏิบัติการที่คล้าย Unix ส่วนใหญ่ (เช่นLinuxตั้งแต่เวอร์ชัน 2.5.46 หรือพฤศจิกายน 2002, [ 9 ] FreeBSDหรือ Solaris) รองรับ ACL ตามมาตรฐาน POSIX.1e (ไม่จำเป็นต้องเป็นร่าง 17) โดยปกติ ACL จะถูกจัดเก็บไว้ในแอตทริบิวต์เพิ่มเติมของไฟล์บนระบบเหล่านี้
NFSv4 ACL
ACL ของ NFSv4มีประสิทธิภาพมากกว่า ACL ฉบับร่างของ POSIX มาก ต่างจาก ACL ฉบับร่างของ POSIX ACL ของ NFSv4 ถูกกำหนดโดยมาตรฐานที่เผยแพร่แล้ว ซึ่งเป็นส่วนหนึ่งของระบบไฟล์เครือข่าย
NFSv4 ACLs ได้รับการสนับสนุนจากระบบปฏิบัติการ Unix และระบบปฏิบัติการที่คล้าย Unix หลายระบบ ตัวอย่างเช่นAIX , FreeBSD , [ 10 ] Mac OS Xตั้งแต่เวอร์ชัน 10.4 (“ Tiger ”) หรือ Solaris ที่มีระบบไฟล์ZFS [ 11 ]รองรับ NFSv4 ACLs ซึ่งเป็นส่วนหนึ่งของมาตรฐาน NFSv4 มีการใช้งาน NFSv4 ACLs แบบทดลองสองแบบสำหรับ Linux ได้แก่ การสนับสนุน NFSv4 ACLs สำหรับระบบไฟล์Ext3 [ 12 ] และ Richaclsรุ่นใหม่กว่าซึ่งนำการสนับสนุน NFSv4 ACLs สำหรับระบบไฟล์Ext4 มาให้ [ 13 ]เช่นเดียวกับ POSIX ACLs, NFSv4 ACLs มักจะถูกจัดเก็บเป็นแอตทริบิวต์เพิ่มเติมในระบบที่คล้าย Unix
ACL ของ NFSv4 ถูกจัดระเบียบเกือบจะเหมือนกับ ACL ของ Windows NT ที่ใช้ในNTFS [ 14 ] ACLของ NFSv4.1 เป็นซูเปอร์เซ็ตของทั้ง ACL ของ NT และ ACL ร่างของ POSIX [ 15 ] Sambaรองรับการบันทึก ACL ของ NT สำหรับไฟล์ที่แชร์ผ่าน SMB ได้หลายวิธี หนึ่งในนั้นคือการบันทึกเป็น ACL ที่เข้ารหัสเป็น NFSv4 [ 16 ]
ACL ของ Active Directory
บริการ Active DirectoryของMicrosoftใช้ เซิร์ฟเวอร์ LDAPที่จัดเก็บและเผยแพร่ข้อมูลการกำหนดค่าเกี่ยวกับผู้ใช้และคอมพิวเตอร์ในโดเมน[ 17 ] Active Directory ขยายข้อกำหนด LDAP โดยเพิ่มกลไกรายการควบคุมการเข้าถึงประเภทเดียวกับที่ Windows NT ใช้สำหรับระบบไฟล์ NTFS จากนั้น Windows 2000 ได้ขยายไวยากรณ์สำหรับรายการควบคุมการเข้าถึงเพื่อให้สามารถอนุญาตหรือปฏิเสธการเข้าถึงวัตถุ LDAP ทั้งหมดได้ รวมถึงแอตทริบิวต์แต่ละรายการภายในวัตถุเหล่านั้นด้วย[ 18 ]
ACL ของเครือข่าย
ในฮาร์ดแวร์คอมพิวเตอร์บางประเภทที่เป็นกรรมสิทธิ์ (โดยเฉพาะเราเตอร์และสวิตช์ ) รายการควบคุมการเข้าถึง (ACL) จะมีกฎที่ใช้กับหมายเลขพอร์ตหรือที่อยู่ IPที่มีอยู่บนโฮสต์หรือเลเยอร์ 3 อื่นๆ โดยแต่ละรายการจะมีรายชื่อโฮสต์และ/หรือเครือข่ายที่ได้รับอนุญาตให้ใช้บริการนั้น แม้ว่าจะสามารถกำหนดค่ารายการควบคุมการเข้าถึงโดยอิงจากชื่อโดเมน เครือข่ายได้ แต่ก็เป็นแนวคิดที่น่าสงสัย เนื่องจาก ส่วนหัว TCP , UDPและICMP แต่ละรายการ ไม่ได้มีชื่อโดเมน ดังนั้น อุปกรณ์ที่บังคับใช้รายการควบคุมการเข้าถึงจะต้องแปลงชื่อเป็นที่อยู่ตัวเลขแยกต่างหาก ซึ่งเป็นการเปิดช่องโหว่ เพิ่มเติม สำหรับผู้โจมตีที่ต้องการบุกรุกความปลอดภัยของระบบที่รายการควบคุมการเข้าถึงกำลังปกป้องอยู่ ทั้งเซิร์ฟเวอร์และเราเตอร์ แต่ละตัว สามารถมี ACL เครือข่ายได้ โดยทั่วไปแล้ว รายการควบคุมการเข้าถึงสามารถกำหนดค่าเพื่อควบคุมทั้งการรับส่งข้อมูลขาเข้าและขาออก และในบริบทนี้ ACL จะคล้ายกับไฟร์วอลล์เช่นเดียวกับไฟร์วอลล์ ACL อาจอยู่ภายใต้ข้อบังคับและมาตรฐานด้านความปลอดภัย เช่นPCI DSS
การใช้งาน SQL
อัลกอริทึม ACL ได้ถูกนำไปปรับใช้กับSQLและระบบฐานข้อมูลเชิงสัมพันธ์ แล้ว ระบบ ที่ใช้ SQL ในยุค "ใหม่" (ช่วงปี 2000 และ 2010) หลายระบบ เช่นระบบวางแผนทรัพยากรองค์กรและ ระบบ จัดการเนื้อหาได้นำโมเดล ACL มาใช้ในโมดูลการบริหารจัดการของระบบเหล่านั้น
ACL ที่จัดทำดัชนีตาม Schema
ในปี 2024 โมเดล ACL ที่ใช้ดัชนีสคีมาได้ถือกำเนิดขึ้นเป็นทางเลือกที่เบากว่าสำหรับการจัดเก็บสิทธิ์แบบดั้งเดิมที่ใช้ JSON ข้อเสนอที่โดดเด่นอย่างหนึ่งคือแนวคิดในการจัดเก็บเฉพาะดัชนีของการดำเนินการที่ได้รับอนุญาต แทนที่จะจัดเก็บโครงสร้างสิทธิ์ทั้งหมด เทคนิคนี้ซึ่งต่อมาได้รับการกำหนดเป็นทางการในชื่อSCode ACLช่วยให้สามารถเข้ารหัสสิทธิ์การเข้าถึงได้อย่างกระชับ (เช่น `"0 2 5"`) โดยอิงจากสคีมาแบบแบนที่กำหนดไว้ล่วงหน้า ทำให้มีประสิทธิภาพเป็นพิเศษสำหรับการใช้งานในระบบที่ไม่มีสถานะ เช่น โทเค็น JWT หรือคุกกี้เซสชัน แนวทางนี้ได้รับความนิยมในกลุ่มนักพัฒนาตั้งแต่เนิ่นๆ เนื่องจากความเรียบง่ายและประสิทธิภาพ และได้รับการนำไปใช้ในระบบทั้งขนาดเล็กและระดับการผลิตแล้ว
เมื่อเปรียบเทียบกับ RBAC
ทางเลือกหลักสำหรับโมเดล ACL คือโมเดลการควบคุมการเข้าถึงตามบทบาท (RBAC) โมเดล RBAC ขั้นต่ำRBACmสามารถเปรียบเทียบได้กับกลไก ACL ACLgซึ่งอนุญาตเฉพาะกลุ่มเป็นรายการใน ACL เท่านั้น Barkley (1997) [ 19 ]แสดงให้เห็นว่าRBACmและACLgเทียบเท่ากัน
ในการใช้งาน SQL สมัยใหม่ ACL ยังจัดการกลุ่มและการสืบทอดในลำดับชั้นของกลุ่มด้วย ดังนั้น "ACL สมัยใหม่" จึงสามารถแสดงทุกสิ่งที่ RBAC แสดงได้ และมีประสิทธิภาพมากกว่า (เมื่อเทียบกับ "ACL แบบเก่า") ในการแสดงนโยบายการควบคุมการเข้าถึงในแง่ของวิธีที่ผู้ดูแลระบบมององค์กร
สำหรับการแลกเปลี่ยนข้อมูล และสำหรับ "การเปรียบเทียบระดับสูง" ข้อมูล ACL สามารถแปลงเป็นXACMLได้[ 20 ]
ดูเพิ่มเติม
- ตัวจัดการโทเค็นการเข้าถึง
- แคลอรี
- ความปลอดภัยตามความสามารถ
- รายชื่อ C
- ปัญหาของรองนายอำเภอที่สับสน
- ดีซีแอล
- คุณลักษณะไฟล์เพิ่มเติม
- สิทธิ์การเข้าถึงไฟล์ระบบ
- สิทธิพิเศษ (ด้านคอมพิวเตอร์)
- การควบคุมการเข้าถึงตามบทบาท (RBAC)
หมายเหตุ
- ^ตัวอย่างเช่นสิทธิ์การเข้าถึงไฟล์ระบบสิทธิ์ในการดำเนินการเฉพาะอย่าง
อ่านเพิ่มเติม
- โรดส์, ทอม. "รายการควบคุมการเข้าถึงระบบไฟล์ (ACLs)" คู่มือ FreeBSD . สืบค้นเมื่อ8 เมษายน 2556 .
- Michael Fox; John Giordano; Lori Stotler; Arun Thomas (24 สิงหาคม 2548). "SELinux และ grsecurity: กรณีศึกษาเปรียบเทียบการปรับปรุงความปลอดภัยของเคอร์เนล Linux" (PDF) . มหาวิทยาลัยเวอร์จิเนีย . เก็บถาวรจากต้นฉบับ(PDF)เมื่อ 24 กุมภาพันธ์ 2555. สืบค้นเมื่อ8 เมษายน 2556 .
- Hinrichs, Susan (2005). "ความปลอดภัยของระบบปฏิบัติการ" . ความปลอดภัย ทางไซเบอร์ ฤดูใบไม้ผลิ 2005 . มหาวิทยาลัยอิลลินอยส์ . เก็บถาวรจากต้นฉบับเมื่อ 2012-03-04 . สืบค้นเมื่อ2013-04-08 .
- มิตเชลล์, จอห์น. "การควบคุมการเข้าถึงและความปลอดภัยของระบบปฏิบัติการ" (PDF) . มหาวิทยาลัยสแตนฟอร์ด. สืบค้นเมื่อ2013-04-08 .
- คลาร์กสัน, ไมเคิล. "การควบคุมการเข้าถึง" . มหาวิทยาลัยคอร์เนลล์. สืบค้นเมื่อ2013-04-08 .
- ไคลน์, เฮลเก (12 มีนาคม 2552). "สิทธิ์การเข้าถึง: บทนำ หรือ: DACL, SACL, เจ้าของ, SID และ ACE อธิบายอย่างละเอียด" . สืบค้นเมื่อ8 เมษายน 2556 .
- "รายการควบคุมการเข้าถึง" . Microsoft Learn . 2023-02-07 . สืบค้นเมื่อ2024-05-15 .
- "วิธีการทำงานของสิทธิ์การเข้าถึง" . Microsoft Learn . 2013-07-03 . สืบค้นเมื่อ2024-05-15 .
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ รายการควบคุมการเข้าถึง
ในด้าน ความปลอดภัยของคอมพิวเตอร์ รายการ ควบคุมการเข้าถึง ( ACL ) คือรายการสิทธิ์ [ a ] ที่เกี่ยวข้องกับ ทรัพยากรระบบ (วัตถุหรือสิ่งอำนวยความสะดวก) ACL ระบุว่า ผู้ใช้ หรือ...
การนำไปใช้
ระบบปฏิบัติการหลายประเภทใช้ ACL หรือมีการใช้งานในอดีต การใช้งาน ACL ครั้งแรกอยู่ใน ระบบไฟล์ ของ Multics ในปี พ.ศ. 2508 [ 2 ] [ 3 ]
ACL ของระบบไฟล์
ACL ของ ระบบไฟล์ เป็น โครงสร้างข้อมูล (โดยปกติจะเป็นตาราง) ที่มีรายการที่ระบุสิทธิ์ของผู้ใช้หรือ กลุ่ม แต่ละรายในการเข้าถึง วัตถุระบบเฉพาะ เช่น โปรแกรม กระบวนการ หรือไฟล์ รายการเหล่านี้เรียกว่ารายการควบคุมการเข้าถึง (ACE) ในระบบปฏิบัติการ Microsoft Windows NT...
ACL ของ Active Directory
บริการ Active Directory ของ Microsoft ใช้ เซิร์ฟเวอร์ LDAP ที่จัดเก็บและเผยแพร่ข้อมูลการกำหนดค่าเกี่ยวกับผู้ใช้และคอมพิวเตอร์ในโดเมน [ 17 ] Active Directory ขยายข้อกำหนด LDAP โดยเพิ่มกลไกรายการควบคุมการเข้าถึงประเภทเดียวกับที่ Windows NT ใช้สำหรับระบบไฟล์...