Access control list

Fra Wikipedia, den frie encyklopædi
Spring til navigation Spring til søgning

Access Control List (ACL), eller adgangskontrolliste, er en tabel og/eller liste der indeholder adgangsrettigheder til fx objekter eller netværksadgange til services.

Implementationer[redigér | redigér wikikode]

Mange forskellige systemformer implementerer ACLs eller har en historisk implementation.

Filsystem-ACLs[redigér | redigér wikikode]

En filsystem-ACL er en tabel og/eller liste der indeholder adgangsrettigheder til en computers styresystems programmer/filer for hver enkelt bruger. Den styrer hvad en bruger har rettigheder til at gøre og ikke gøre for bestemte objekter, såsom filkategorier eller individuelle filer.[1] Hvert objekt har sikkerhedsattributter der angiver en adgangskontrolliste. I en typisk ACL angives et emne, og en operation, for eksempel, hvis en fil har en ACL der indeholder (Lisa, slet) vil dette give Lisa rettigheder til at slette filen.

Listen indeholder en post for hvert systembruger med adgangsrettigheder. Den mest almindelige brug omfatter rettigheder til at læse en fil, eller vise en liste over filer i en mappe, at skrive til en fil eller flere filer, og til at køre/afvikle filer (hvis den er en eksekverbar fil eller et program).[2]

Når en bruger prøver at udføre en operation på en fil i en ACL-baseret sikkerhedsmodel, kontrollerer styresystemet først ACL, for at afgøre om den ønskede handling er tilladt, altså om brugeren har rettigheder.

Filsystem-ACL findes i Microsoft Windows NT,[3] OpenVMS, Unix-lignende og MacOS styresystemer.

De fleste Unix og Unix-lignende styresystemer (fx Linux,[4] BSD eller Solaris) understøtter POSIX.1e ACLs, baseret på en tidligere POSIX udkast som blev trukket tilbage 1997. Mange af dem - fx AIX, FreeBSD,[5] Mac OS X begyndende med version 10.4 ("Tiger") eller Solaris med ZFS filesystemet,[6] understøtter NFSv4-ACLs, som er en del af NFSv4 standarden. Der er to eksperimentelle implementeringer af NFSv4-ACLs for Linux: NFSv4-ACLs understøttelse af Ext3-filesystemet[7] og Richacls,[8] som giver NFSv4 ACLs understøttelse for Ext4-filesystemet.

PRIMOS understøttede ACLs så tidligt som 1984.[9]

Datanet-ACLs[redigér | redigér wikikode]

På nogle typer af propietær computer-hardware (især routere, netværksswitche, multilayer switche), giver en ACL mulighed for at lave regler med fx: kilde-ethernet-adresser, destination-ethernet-adresser, ethernet-protokoller, kilde-ip-adresser, destination-ip-adresser, internetprotokoller, ip-porte, applikationsprotokol (i fx NG-firewalls og lag-7 switche) med formålet at styre datanetadgangen til en service.

En ACL primære formål er at afvise eller tillade adgang via såkaldte permit & deny statements, men kan også blive udnyttet til andre formål f.eks. udpensle hvilke ip-adresser som skal nattes. En ACL er kort sagt en match mekanisme.

Datanet access lister kan blive brugt til en lang række ting, nogle er listet nedenfor:

  • Adgangskontrol
  • Network address translation (NAT)
  • Quality of Service (QoS)
  • Demand dial Routing
  • Policy Routing
  • Route filtering
  • Virtual private network (VPN)
  • Osv.

ACL på Cisco IOS[redigér | redigér wikikode]

ACL'er er tilknyttet i indgående(inbound) eller udgående(outbound) retning. Listen bliver læst fra top til bund men stopper ved første match der passer til den trafik der bliver gennemset. Der er et forudbestemt "deny" i bunden af listen hvilket vil sige hvis at hvis der ikke er nogle regler der matche den pågældende trafik vil trafikken blive afvist.

Ved at sætte en ACL i indgående retning på en router forminsker dette processor belastningen fordi en pakke der potentielt skal afvises bliver afvist inden routeren bruger resourcer på at route pakken.

Standard og udvidet ACL[redigér | redigér wikikode]

En standard ACL er forholdvist begrænset i funktionalitet men er påkrævet i nogle tilfælde.

  • Matcher på kilde adresser
  • Benytter mindre ressourcer end udvidet ACL
  • Normalt ikke brugt til sikkerhed da det ikke er hensigtsmæssigt at matche på source adresser, det er dog nødvendigt vis man skal natte

En udvidet ACL også kaldet extended ACL har flere funktioner så som tidligere nævnte eksempel i starten af afsnittet for Datanet-ACLs.

  • Match baseret på Source/destination adresser, Protokoller, source/destination port nr.
  • Kræver flere ressourcer end standard ACL
  • Mest brugt til sikkerhed

Refleksive ACL tillader retur adgang for trafik som er efterspurgt internt.

For IPv6 har man næsten samme virke måde dog findes der kun extended ACL og der tilføjes 2 forudbestemte tillad regler i bunden ud over den forudbestemte afvis.

I bunden af en IPv6 ACL findes tillad "Neighbor Discovery - Neighbor Advertisement" & "Neighbor Discovery - Neighbor Solicitation" samt afvis alt ikke tilladt trafik (på samme måde som ved IPv4).

Sammenligning med RBAC[redigér | redigér wikikode]

Alternativet til ACL-modellen er role-based access control (RBAC) modellen.

Kilder/referencer[redigér | redigér wikikode]

  1. ^ "Access Control (Windows)". msdn.microsoft.com. Hentet 20. november 2017. 
  2. ^ Ellen, Nanci. What is access control list (ACL)? - Definition from WhatIs.com. Hentet 20. november 2017. 
  3. ^ Managing Authorization and Access Control. Microsoft Technet. 2005-11-03. Hentet 2013-04-08. 
  4. ^ Red Hat Enterprise Linux AS 3 Release Notes (x86 Edition). Red Hat. 2003. Hentet 2013-04-08. "EA (Extended Attributes) and ACL (Access Control Lists) functionality is now available for ext3 file systems. In addition, ACL functionality is available for NFS." 
  5. ^ NFSv4 ACLs. FreeBSD. 2011-09-12. Hentet 2013-04-08. 
  6. ^ Chapter 8 Using ACLs and Attributes to Protect ZFS Files. Oracle Corporation. 2009-10-01. Hentet 2013-04-08. 
  7. ^ Grünbacher, Andreas (May 2008). Native NFSv4 ACLs on Linux. SUSE. Hentet 2013-04-08. 
  8. ^ Grünbacher, Andreas (July–September 2010). Richacls - Native NFSv4 ACLs on Linux. bestbits.at. Hentet 2013-04-08. 
  9. ^ "P.S.I. Pacer Software, Inc. Gnet-II revision 3.0". Computerworld 18 (21): s. 54. 1984-05-21. ISSN 0010-4841. "The new version of Gnet-II (revision 3.0) has added a line-security mechanism which is implemented under the Primos ACL subsystem." 

Yderligere læsning[redigér | redigér wikikode]