Access Control List – Definition, Funktionsweise und Verwendungszweck

Access Control Lists (ACL) oder Zugriffssteuerungslisten regeln den Zugriff von Prozessen und Usern auf einzelne Objekte des Computers wie z. B. Dateien oder Register. Sie sorgen auf diese Weise dafür, dass nur autorisierte Nutzerinnen und Nutzer auf bestimmte Ressourcen zugreifen können.

Was genau ist eine Access Control List?

Access Control Lists sind genau wie Mandatory Access Control oder Role Based Access Control eine Form der Zugriffskontrolle. Im Grunde genommen handelt es sich bei ACLs um Regelwerke, die z. B. von Betriebssystemen oder Anwendungsprogrammen eingesetzt werden, um den Zugriff auf bestimmte Programmteile oder Ressourcen zu verwalten. Es handelt sich bei ACL also um eine Maßnahme zur Verwaltung von Rechten an Dateien oder sonstigen Ressourcen eines Computers.

Sie können sich derartige Access Control Lists als eine Art Tabelle vorstellen, die pro Ressource festhält, welche User welche Art von Zugriff auf das Betriebsmittel haben. Die häufigsten Zugriffsrechte sind:

  • das Recht, eine Datei zu lesen (read)
  • das Recht, eine Datei zu schreiben (write)
  • das Recht, eine Datei auszuführen (execute)

Diese Einträge innerhalb einer ACL werden auch als Access Control Entities (ACE) bezeichnet.

Die Access Control Lists funktionieren dabei nach einem denkbar einfachen Prinzip: Wenn ein bestimmter Nutzer buw. eine bestimmte Nutzerin auf eine Ressource zugreifen möchte, wird in der ACL der jeweiligen Ressource nachgesehen, ob dieser Zugriff erlaubt ist (es in anderen Worten also einen ACE für den Nutzer bzw. die Nutzerin gibt). Ist dies der Fall, wird der Zugriff gewährt, ansonsten wird er verweigert.

Arten von ACLs und Verwendungszwecke

Es gibt verschiedene Arten von ACLs, sodass auch die Einsatzmöglichkeiten von Zugriffskontrolllisten breit gefächert sind. Im Großen und Ganzen lassen sich vor allem zwei verschiedene ACL-Typen unterscheiden: Netzwerk- und Dateisystem-ACLs.

Netzwerk-ACLs

Bei Netzwerk-ACLs handelt es sich um tabellenartigen Zugriffskontrolllisten, die als eine Art Firewall für den eingehenden Datenverkehr zum Beispiel innerhalb von Routern eingesetzt werden können. Eine solche Netzwerk-ACL legt fest, welche Pakete in das Netzwerk gelangen dürfen und welche nicht. Auf diese Weise kann mithilfe einer ACL der Netzwerkzugriff gesteuert werden.

Im Bereich der Netzwerk-ACLs lohnt sich weiterhin die Differenzierung zwischen normalen und erweiterten Zugriffskontrolllisten: Herkömmliche ACLs betrachten nur die Quell-IP-Adresse und unterscheiden nicht zwischen verschiedenen Netzwerkprotokollen wie TCP, UDP oder http. Sie erlauben oder verweigern den Zugriff auf das gesamte Netz. Erweiterte ACLs hingegen betrachten zusätzlich die Ziel-IP-Adresse und filtern Pakete wesentlich differenzierter, beispielsweise auf Grundlage des Netzwerkprotokolls oder des Quell- und Zielports eines Pakets.

Dateisystem ACLs

Im Gegensatz dazu steuern Dateisystem-ACLs den Datei- und Ressourcenzugriff im Betriebssystem. Die Listen werden innerhalb von Betriebssystemen beispielsweise dazu eingesetzt, den Zugriff einzelner Benutzer und Benutzerinnen auf bestimmte Dateien zu regeln und zu verwalten.

Aufbau von Access Control Lists

Jede Zugriffskontrollliste besteht im Wesentlichen aus mehreren sogenannten Access Control Entities. Diese Einträge bilden das Regelwerk der Access Control List und setzen sich wiederum aus einzelnen Komponenten zusammen. Um welche Komponenten es sich genau handelt, ist insbesondere abhängig von der Art der ACL. Obwohl alle ACEs eine ID sowie eine Information über das Zugriffsrecht enthalten, unterscheiden sie sich teilweise drastisch voneinander. So enthalten Netzwerk-ACLs zusätzlich noch IP-Adressen, Angaben zum Protokoll oder Portnummern, wohingegen Dateisystem-ACLs noch Informationen über Usergruppen speichern.

Implementierung von ACLs

Auch die Implementierung von Zugriffskontrolllisten unterscheidet sich, je nachdem, ob es sich um eine Netzwerk- oder um eine Dateisystem-ACL handelt. Während letztere sich einfach direkt mittels Terminalbefehlen konfigurieren lässt, werden die Netzwerk-ACLs in Netzwerkkomponenten wie Routern implementiert.

Hinweis

Die konkrete Implementierung einer ACL hängt nicht nur von der Art der ACL (Netzwerk- vs. Dateisystem-ACL), sondern auch vom Betriebssystem und vom konkreten Anwendungsfall ab.

Vorteile

ACLs bieten verschiedene Vorteile. Insbesondere die Dateisystem-ACLs erlauben es Nutzerinnen und Nutzern, ihren Computer so zu konfigurieren, dass nur berechtigte User auf bestimmte Ressourcen zugreifen können. Die Zugriffskontrolllisten ergänzen dann beispielsweise das in Linux integrierte Rechtemanagement um detaillierteren Zugriffsschutz und erhöhen so die Systemsicherheit.

Im Bereich der Netzwerk-ACLs stellen Zugriffskontrolllisten eine verhältnismäßig unkomplizierte Alternative zu anderen Firewall-Implementierungen dar. Sie ermöglichen es außerdem, den Datenverkehr zwischen Netzwerken zu kontrollieren und somit nicht nur die Netzwerksicherheit, sondern auch die Performanz zu erhöhen.