Seznam řízení přístupu - Access-control list

V zabezpečení počítače je seznam řízení přístupu ( ACL ) seznam oprávnění spojených se systémovým prostředkem (objektem). ACL určuje, kterým uživatelům nebo systémovým procesům je udělen přístup k objektům, a také jaké operace jsou s danými objekty povoleny. Každý záznam v typickém seznamu ACL určuje předmět a operaci. Pokud má například souborový soubor seznam ACL, který obsahuje(Alice: číst, psát; Bob: číst)„To by Alici udělilo oprávnění číst a zapisovat soubor a Bobovi by to dalo oprávnění pouze číst.

Implementace

Mnoho druhů operačních systémů implementuje ACL nebo má historickou implementaci; první implementace ACL byla v souborovém systému Multics v roce 1965.

Seznamy ACL systému souborů

ACL souborového systému je datová struktura (obvykle tabulka) obsahující položky, které specifikují práva jednotlivých uživatelů nebo skupin na konkrétní systémové objekty, jako jsou programy, procesy nebo soubory. Tyto položky jsou známy jako položky řízení přístupu (ACE) v systému Microsoft Windows NT , OpenVMS a Unix-like operační systémy jako je Linux , MacOS a Solaris . Každý přístupný objekt obsahuje identifikátor svého ACL. Oprávnění nebo oprávnění určují konkrétní přístupová práva, například zda uživatel může z objektu číst, zapisovat do něj nebo ho spouštět . V některých implementacích může ACE řídit, zda uživatel nebo skupina uživatelů může změnit ACL na objektu.

Jedním z prvních operačních systémů, které poskytovaly seznamy ACL souborového systému, byl Multics . PRIMOS představoval ACL alespoň již v roce 1984.

V devadesátých letech byly modely ACL a RBAC rozsáhle testovány a používány ke správě oprávnění k souborům.

POSIX ACL

Pracovní skupina POSIX 1003.1e/1003.2c se snažila standardizovat ACL, což vedlo k tomu, co je nyní známé jako „POSIX.1e ACL“ nebo jednoduše „POSIX ACL“. Návrhy POSIX.1e/POSIX.2c byly staženy v roce 1997, protože účastníci ztratili zájem o financování projektu a obrátili se k výkonnějším alternativám, jako je NFSv4 ACL. V prosinci 2019 nebyly na internetu k dispozici žádné živé zdroje konceptu, ale stále je lze najít v internetovém archivu .

Většina operačních systémů Unix a Unix (např. Linux od 2.5.46 nebo listopad 2002, BSD nebo Solaris ) podporuje ACL POSIX.1e (ne nutně koncept 17). Seznamy ACL jsou v těchto systémech obvykle uloženy v rozšířených atributech souboru.

NFSv4 ACL

Seznamy ACL NFSv4 jsou mnohem výkonnější než koncepty ACL POSIX. Na rozdíl od návrhů seznamů ACL POSIX jsou seznamy ACL NFSv4 definovány skutečně publikovaným standardem, jako součást systému síťových souborů .

ACL NFSv4 podporuje mnoho operačních systémů Unix a Unix. Mezi příklady patří AIX , FreeBSD , Mac OS X začínající verzí 10.4 („ Tiger “) nebo Solaris se souborovým systémem ZFS , podporující ACL NFSv4 , které jsou součástí standardu NFSv4. Existují dvě experimentální implementace NFSv4 ACL pro Linux: podpora NFSv4 ACL pro souborový systém Ext3 a novější Richacls , který přináší podporu NFSv4 ACL pro souborový systém Ext4 . Stejně jako u POSIX ACL jsou NFSv4 ACL obvykle uloženy jako rozšířené atributy v unixových systémech.

Seznamy ACL NFSv4 jsou organizovány téměř identicky jako seznamy ACL systému Windows NT používané v systému NTFS. Seznamy ACL NFSv4.1 jsou nadmnožinou jak seznamů ACL NT, tak ACL konceptů POSIX. Samba podporuje ukládání NT ACL souborů sdílených SMB mnoha způsoby, z nichž jeden je jako ACL kódované NFSv4.

Seznamy ACL služby Active Directory

Microsoft ‚s Active Directory služby implementuje LDAP server, který obchod a šířit informace o konfiguraci o uživatele a počítače v doméně. Active Directory rozšiřuje specifikaci LDAP přidáním stejného typu mechanismu seznamu řízení přístupu, jaký Windows NT používá pro souborový systém NTFS. Windows 2000 poté rozšířil syntaxi pro položky řízení přístupu tak, aby mohly nejen udělit nebo odepřít přístup k celým objektům LDAP, ale také k jednotlivým atributům v rámci těchto objektů.

Síťové ACL

Na některých typech proprietárního počítačového hardwaru (zejména směrovače a přepínače ) seznam řízení přístupu poskytuje pravidla, která se vztahují na čísla portů nebo adresy IP, které jsou k dispozici na hostiteli nebo jiné vrstvě 3 , každý se seznamem hostitelů a /nebo sítě povolené používat službu. Ačkoli je navíc možné konfigurovat seznamy řízení přístupu na základě názvů síťových domén , je to diskutabilní myšlenka, protože jednotlivá záhlaví TCP , UDP a ICMP neobsahují názvy domén. V důsledku toho musí zařízení vynucující seznam řízení přístupu samostatně překládat jména na číselné adresy. To představuje další útočný povrch pro útočníka, který se snaží ohrozit zabezpečení systému, který chrání seznam řízení přístupu. Jednotlivé servery i směrovače mohou mít síťové seznamy ACL. Seznamy řízení přístupu lze obecně konfigurovat pro řízení příchozího i odchozího provozu a v tomto kontextu jsou podobné firewallům . Stejně jako brány firewall mohou ACL podléhat bezpečnostním předpisům a standardům, jako je PCI DSS .

Implementace SQL

Algoritmy ACL byly přeneseny do SQL a do relačních databázových systémů . Mnoho „moderních“ (2000 a 2010) systémů založených na SQL , jako je plánování podnikových zdrojů a systémy pro správu obsahu , používalo ve svých administračních modulech modely ACL.

Srovnání s RBAC

Hlavní alternativou k modelu ACL je model řízení přístupu založený na rolích (RBAC). „Minimální model RBAC“, RBACm , lze porovnat s mechanismem ACL, ACLg , kde jsou jako položky v seznamu ACL povoleny pouze skupiny. Barkley (1997) ukázal, že RBACm a ACLg jsou ekvivalentní.

V moderních implementacích SQL ACL také spravují skupiny a dědičnost v hierarchii skupin. „Moderní seznamy ACL“ tedy mohou vyjadřovat vše, co RBAC vyjadřují, a jsou pozoruhodně silné (ve srovnání se „starými seznamy ACL“), pokud jde o jejich schopnost vyjadřovat politiku řízení přístupu ve smyslu způsobu, jakým správci vnímají organizace.

Pro výměnu dat a pro „srovnání na vysoké úrovni“ lze data ACL přeložit do XACML .

Viz také

Reference

Další čtení