Zuletzt aktualisiert am 05.12.2025 6 Minuten Lesezeit

ACL (Access Control List)

Eine ACL (Access Control List), auf Deutsch Zugriffskontrollliste, ist ein fundamentales Sicherheitskonzept in der IT. Sie legt fest, welche Benutzer, Gruppen oder Systemprozesse auf bestimmte Ressourcen zugreifen dürfen und welche Aktionen sie dabei ausführen können. ACLs kommen sowohl bei Dateisystemen als auch bei Netzwerkgeräten zum Einsatz und bilden eine wichtige Grundlage für die Zugriffskontrolle in modernen IT-Infrastrukturen.

Das Grundprinzip ist einfach: Wenn ein Benutzer oder Prozess auf eine Ressource zugreifen möchte, prüft das System die zugehörige ACL. Ist der Zugriff dort erlaubt, wird er gewährt - andernfalls wird er verweigert. Dieses Konzept findest du überall: bei Dateien und Ordnern auf deinem Computer, bei Netzwerkverbindungen auf Routern und Firewalls sowie bei Datenbankzugriffen.

Aufbau einer ACL

Eine ACL besteht aus einzelnen Einträgen, den sogenannten Access Control Entries (ACEs). Jeder ACE definiert eine Regel für einen bestimmten Benutzer, eine Gruppe oder ein System. Ein typischer ACE enthält drei wesentliche Informationen:

  • Subjekt: Wer ist betroffen? (Benutzer, Gruppe, IP-Adresse)
  • Berechtigung: Was darf getan werden? (Lesen, Schreiben, Ausführen, Verbinden)
  • Aktion: Erlauben (Allow) oder Verweigern (Deny)

Die Reihenfolge der Einträge ist dabei entscheidend: Das System arbeitet die ACL von oben nach unten ab und wendet die erste passende Regel an. Deshalb stehen spezifischere Regeln typischerweise vor allgemeineren.

Arten von ACLs

Je nach Einsatzgebiet unterscheidet man verschiedene Arten von ACLs. Die beiden wichtigsten Kategorien sind Dateisystem-ACLs und Netzwerk-ACLs.

Dateisystem-ACLs

Dateisystem-ACLs kontrollieren den Zugriff auf Dateien und Verzeichnisse. Sie erweitern die klassischen Berechtigungsmodelle von Betriebssystemen um granularere Kontrollmöglichkeiten.

POSIX ACLs kommen bei Linux und Unix-Systemen zum Einsatz. Sie erweitern das traditionelle Berechtigungsschema (Owner, Group, Others) um die Möglichkeit, Rechte für beliebige zusätzliche Benutzer und Gruppen zu vergeben. Mit den Befehlen getfacl und setfacl kannst du POSIX ACLs unter Linux verwalten.

NTFS ACLs sind das Berechtigungssystem von Windows. Sie bieten über 30 verschiedene Berechtigungstypen und unterstützen Vererbung, sodass Berechtigungen automatisch an Unterordner und Dateien weitergegeben werden. Die Microsoft-Dokumentation zu ACLs beschreibt alle Details dieses umfangreichen Systems.

Netzwerk-ACLs

Netzwerk-ACLs filtern den Datenverkehr auf Routern, Switches und Firewalls. Sie entscheiden anhand von Kriterien wie IP-Adressen, Ports und Protokollen, ob Datenpakete weitergeleitet oder blockiert werden sollen.

Bei Netzwerkgeräten wie Cisco-Routern unterscheidet man zwischen Standard-ACLs und Extended ACLs:

Merkmal Standard-ACL Extended ACL
Filtert nach Nur Quell-IP Quell-IP, Ziel-IP, Protokoll, Port
Nummernbereich 1-99, 1300-1999 100-199, 2000-2699
Platzierung Nahe am Ziel Nahe an der Quelle
Flexibilität Eingeschränkt Sehr hoch

Standard-ACLs eignen sich für einfache Szenarien, während Extended ACLs präzise Kontrolle über den Netzwerkverkehr ermöglichen. In der Praxis kommen Extended ACLs deutlich häufiger zum Einsatz.

Funktionsweise am Beispiel

Um das Konzept besser zu verstehen, schauen wir uns zwei praktische Beispiele an: eine Dateisystem-ACL unter Linux und eine Netzwerk-ACL auf einem Router.

Linux POSIX ACL

Stell dir vor, du hast einen Projektordner, auf den neben dem Besitzer auch ein bestimmter Kollege Zugriff haben soll. Mit dem klassischen chmod-Befehl wäre das nicht möglich, da er nur Owner, Group und Others kennt. Mit ACLs löst du das Problem elegant:

# ACL fuer Benutzer 'kollege' setzen
setfacl -m u:kollege:rwx /home/projekt

# ACL anzeigen
getfacl /home/projekt
# Ausgabe:
# user::rwx
# user:kollege:rwx
# group::r-x
# other::---

Cisco Router ACL

Auf einem Router kannst du mit einer Extended ACL den Datenverkehr präzise steuern. Das folgende Beispiel erlaubt HTTP- und HTTPS-Verkehr zu einem Webserver, blockiert aber allen anderen eingehenden Traffic:

! Extended ACL erstellen
access-list 101 permit tcp any host 192.168.10.50 eq 80
access-list 101 permit tcp any host 192.168.10.50 eq 443
access-list 101 deny ip any any

! ACL auf Interface anwenden
interface GigabitEthernet0/0
 ip access-group 101 in

Die Cisco-Dokumentation zu ACLs bietet umfassende Informationen zur Konfiguration auf Netzwerkgeräten.

ACLs im Vergleich zu anderen Berechtigungsmodellen

ACLs sind eine Implementierung des DAC-Modells (Discretionary Access Control), bei dem der Ressourceneigentümer selbst bestimmt, wer Zugriff erhält. Daneben existieren weitere Berechtigungsmodelle:

Modell Beschreibung Typischer Einsatz
ACL/DAC Eigentümer kontrolliert Zugriff Dateisysteme, Standard-Netzwerke
RBAC Zugriff über Rollen gesteuert Unternehmensanwendungen, Datenbanken
MAC Zentrale Sicherheitsrichtlinien Hochsicherheitsumgebungen, Militär

RBAC (Role-Based Access Control) ordnet Benutzer Rollen zu, die vordefinierte Berechtigungen haben. Das vereinfacht die Verwaltung in großen Organisationen erheblich. MAC (Mandatory Access Control) setzt zentrale Sicherheitsrichtlinien durch, die Benutzer nicht ändern können - etwa Klassifizierungsstufen wie "Vertraulich" oder "Geheim".

In der Praxis werden diese Modelle oft kombiniert. Ein Unternehmen nutzt beispielsweise RBAC für die Anwendungsebene und ACLs für die darunterliegende Dateisystem- und Netzwerkebene.

Einsatzgebiete

ACLs kommen in nahezu allen Bereichen der IT-Infrastruktur zum Einsatz:

  • Dateiserver: Kontrolle, wer auf welche Dateien und Ordner zugreifen darf
  • Router und Firewalls: Filterung des Netzwerkverkehrs nach IP-Adressen und Ports
  • VLANs: Zusätzliche Absicherung der logischen Netzwerksegmentierung
  • Cloud-Dienste: Zugriffssteuerung auf Ressourcen wie S3-Buckets oder Azure-Speicher
  • Datenbanken: Rechtevergabe auf Tabellen- und Spaltenebene
  • Webserver: Zugriffsbeschränkung auf bestimmte Verzeichnisse oder Seiten

Best Practices

Bei der Arbeit mit ACLs solltest du einige bewährte Vorgehensweisen beachten, um Sicherheit und Übersichtlichkeit zu gewährleisten:

  • Prinzip der minimalen Rechte: Vergib nur die Berechtigungen, die tatsächlich benötigt werden
  • Explizite Deny-Regel: Beende Netzwerk-ACLs immer mit einer expliziten Deny-Regel
  • Dokumentation: Halte fest, warum bestimmte Regeln existieren
  • Regelmäßige Überprüfung: Kontrolliere ACLs periodisch auf veraltete oder überflüssige Einträge
  • Testen vor Produktiveinsatz: Prüfe neue ACL-Regeln in einer Testumgebung

Das BSI IT-Grundschutz-Kompendium enthält ausführliche Empfehlungen zur sicheren Konfiguration von Zugriffskontrollen in Unternehmen.

ACLs in der Praxis

Als Fachinformatiker für Systemintegration wirst du regelmäßig mit ACLs arbeiten - sei es bei der Einrichtung von Fileservern, der Konfiguration von Netzwerkgeräten oder der Absicherung von Cloud-Ressourcen. Auch Anwendungsentwickler benötigen ein solides Verständnis von ACLs, wenn sie Berechtigungssysteme in Software implementieren.

Die Fähigkeit, ACLs korrekt zu planen und umzusetzen, ist eine Kernkompetenz in der IT-Sicherheit. Ein falsch konfigurierter ACE kann entweder zu unberechtigtem Zugriff führen oder legitime Benutzer aussperren. Deshalb lohnt es sich, dieses Thema gründlich zu verstehen.

Quellen und weiterführende Links