Tillträdeskontrolllista
I datorsäkerhet är en åtkomstkontrolllista ( ACL ) en lista över behörigheter som är associerade med en systemresurs (objekt). En ACL anger vilka användare eller systemprocesser som beviljas åtkomst till objekt, samt vilka operationer som är tillåtna på givna objekt. Varje post i en typisk ACL specificerar ett ämne och en operation. Till exempel, om ett filobjekt har en ACL som innehåller (Alice: läs, skriv; Bob: läs) , skulle detta ge Alice behörighet att läsa och skriva filen och ge Bob behörighet att endast läsa den.
Genomföranden
Många typer av operativsystem implementerar ACL:er eller har en historisk implementering; den första implementeringen av ACL:er var i Multics filsystem 1965 .
Filsystems ACL:er
Ett filsystems ACL är en datastruktur (vanligtvis en tabell) som innehåller poster som anger individuella användar- eller grupprättigheter till specifika systemobjekt såsom program, processer eller filer. Dessa poster är kända som åtkomstkontrollposter (ACEs) i Microsoft Windows NT , OpenVMS och Unix-liknande operativsystem som Linux , macOS och Solaris . Varje tillgängligt objekt innehåller en identifierare till dess ACL. Behörigheterna eller behörigheterna bestämmer specifika åtkomsträttigheter, till exempel om en användare kan läsa från, skriva till eller exekvera ett objekt. I vissa implementeringar kan en ACE styra huruvida en användare, eller grupp av användare, kan ändra ACL på ett objekt eller inte.
Ett av de första operativsystemen som tillhandahåller ACL för filsystem var Multics . PRIMOS innehöll ACL åtminstone så tidigt som 1984.
testades ACL- och RBAC -modellerna omfattande [ av vem? ] och används för att administrera filbehörigheter.
POSIX ACL
POSIX 1003.1e/1003.2c arbetsgruppen gjorde ett försök att standardisera ACL, vilket resulterade i vad som nu kallas "POSIX.1e ACL" eller helt enkelt "POSIX ACL". POSIX.1e/POSIX.2c-utkasten drogs tillbaka 1997 på grund av att deltagarna tappade intresset för att finansiera projektet och vände sig till mer kraftfulla alternativ som NFSv4 ACL. Från och med december 2019 kunde inga livekällor till utkastet hittas på Internet, men det kan fortfarande hittas i Internetarkivet .
De flesta av de Unix och Unix-liknande operativsystemen (t.ex. Linux sedan 2.5.46 eller november 2002, FreeBSD eller Solaris ) stöder POSIX.1e ACL:er (inte nödvändigtvis utkast 17). ACL:er lagras vanligtvis i de utökade attributen för en fil på dessa system.
NFSv4 ACL
NFSv4 ACL:er är mycket kraftfullare än POSIX utkast till ACL. Till skillnad från utkast till POSIX ACL, definieras NFSv4 ACL av en faktiskt publicerad standard, som en del av Network File System .
NFSv4 ACL:er stöds av många Unix- och Unix-liknande operativsystem. Exempel inkluderar AIX , FreeBSD , Mac OS X som börjar med version 10.4 (" Tiger ") eller Solaris med ZFS- filsystem, stöder NFSv4 ACL, som är en del av NFSv4-standarden. Det finns två experimentella implementeringar av NFSv4 ACL:er för Linux: NFSv4 ACLs stöd för Ext3 filsystem och det nyare Richacls , som ger NFSv4 ACLs stöd för Ext4 filsystem. Precis som med POSIX ACL lagras NFSv4 ACL vanligtvis som utökade attribut på Unix-liknande system.
NFSv4 ACL:er är organiserade nästan identiskt med Windows NT ACL:er som används i NTFS . NFSv4.1 ACL är en superuppsättning av både NT ACL och POSIX utkast ACL. Samba stöder att spara NT ACL:erna för SMB-delade filer på många sätt, varav ett är som NFSv4-kodade ACL:er.
Active Directory ACL:er
Microsofts Active Directory- tjänst implementerar en LDAP- server som lagrar och sprider konfigurationsinformation om användare och datorer i en domän . Active Directory utökar LDAP-specifikationen genom att lägga till samma typ av åtkomstkontrolllistmekanism som Windows NT använder för NTFS-filsystemet. Windows 2000 utökade sedan syntaxen för åtkomstkontrollposter så att de inte bara kunde bevilja eller neka åtkomst till hela LDAP-objekt, utan även till enskilda attribut inom dessa objekt.
ACL för nätverk
På vissa typer av egen datorhårdvara (särskilt routrar och switchar ) tillhandahåller en åtkomstkontrolllista regler som tillämpas på portnummer eller IP-adresser som är tillgängliga på en värd eller annat lager 3 , var och en med en lista över värdar och /eller nätverk som har tillåtelse att använda tjänsten. Även om det dessutom är möjligt att konfigurera åtkomstkontrollistor baserade på nätverksdomännamn är detta en tveksam idé eftersom enskilda TCP- , UDP- och ICMP -huvuden inte innehåller domännamn. Följaktligen måste enheten som upprätthåller åtkomstkontrolllistan separat lösa namn till numeriska adresser. Detta ger en extra attackyta för en angripare som försöker äventyra säkerheten för det system som åtkomstkontrolllistan skyddar. Både enskilda servrar och routrar kan ha nätverks-ACL. Åtkomstkontrollistor kan i allmänhet konfigureras för att styra både inkommande och utgående trafik, och i detta sammanhang liknar de brandväggar . Liksom brandväggar kan ACL:er omfattas av säkerhetsbestämmelser och standarder som PCI DSS .
SQL implementeringar
ACL-algoritmer har porterats till SQL och till relationsdatabassystem . Många "moderna" (2000- och 2010-tal) SQL -baserade system, som företagsresursplanering och innehållshanteringssystem , har använt ACL-modeller i sina administrationsmoduler.
Jämför med RBAC
Huvudalternativet till ACL-modellen är den rollbaserade åtkomstkontrollmodellen ( RBAC). En "minimal RBAC-modell", RBACm , kan jämföras med en ACL-mekanism, ACLg , där endast grupper är tillåtna som poster i ACL. Barkley (1997) visade att RBACm och ACLg är likvärdiga.
I moderna SQL-implementeringar hanterar ACL:er också grupper och arv i en hierarki av grupper. Så "moderna ACLs" kan uttrycka allt som RBAC uttrycker och är särskilt kraftfulla (jämfört med "gamla ACLs") i sin förmåga att uttrycka åtkomstkontrollpolicy i termer av hur administratörer ser på organisationer.
För datautbyte och för "jämförelser på hög nivå" kan ACL-data översättas till XACML .
Se även
- Cacls
- Kapacitetsbaserad säkerhet
- C-lista
- Förvirrat ställföreträdarproblem
- DACL
- Utökade filattribut
- Filsystembehörigheter
- Privilege (dator)
- Rollbaserad åtkomstkontroll (RBAC)
Vidare läsning
- Rhodos, Tom. "File System Access Control Lists (ACL)" . FreeBSD handbok . Hämtad 2013-04-08 .
- Michael Fox; John Giordano; Lori Stotler; Arun Thomas (2005-08-24). "SELinux och grsecurity: En fallstudie som jämför Linux Security Kernel Enhancements" (PDF) . University of Virginia . Arkiverad från originalet (PDF) 2012-02-24 . Hämtad 2013-04-08 .
- Hinrichs, Susan (2005). "Säkerhet för operativsystem" . Cybersäkerhet våren 2005 . University of Illinois . Arkiverad från originalet 2012-03-04 . Hämtad 2013-04-08 .
- Mitchell, John. "Åtkomstkontroll och säkerhet för operativsystem" ( PDF) . Stanford University . Hämtad 2013-04-08 .
- Clarkson, Michael. "Åtkomstkontroll" . Cornell University . Hämtad 2013-04-08 .
- Klein, Helge (2009-03-12). "Behörigheter: A Primer, eller: DACL, SACL, Owner, SID och ACE Explained" . Hämtad 2013-04-08 .
- "Åtkomstkontrollistor" . MSDN bibliotek . 2012-10-26 . Hämtad 2013-04-08 .
- "Hur behörigheter fungerar" . Microsoft Technet . 2003-03-28 . Hämtad 2013-04-08 .