Linux/Capabilities
Capabilities
- Privilegierte Prozesse (Effektive Benutzer-ID 0)
- Privilegierte Prozesse umgehen alle Berechtigungsprüfungen des Kernels
- Unprivilegierte Prozesse (Effektive UID ungleich Null)
- Unprivilegierte Prozesse unterliegen einer vollständigen Berechtigungsprüfung
- Basierend auf den Anmeldedaten des Prozesses (normalerweise: effektive UID, effektive GID und zusätzliche Gruppenliste)
- Unterteillung von Privilegien
- Einheiten (Capabilities) von Privilegien, die andernfalls Root vorbehalten sind
- Können unabhängig voneinander aktiviert und deaktiviert werden
- Capabilities sind ein Attribut pro Thread
- Das Handbuch listet mehr als zwei Dutzend verschiedene POSIX-Fähigkeiten auf, die einzelnen ausführbaren Programmen gewährt werden können
- Relevant für Wireshark
Option | Beschreibung |
---|---|
CAP_NET_ADMIN | Erlaubt verschiedene netzwerkbezogene Operationen (z.B. Setzen von privilegierten Socket-Optionen, Aktivieren von Multicasting, Schnittstellenkonfiguration, Ändern von Routing-Tabellen) |
CAP_NET_RAW | Erlaubt die Verwendung von RAW- und PACKET-Sockets |
- CAP_NET_ADMIN ermöglicht es uns, eine Schnittstelle in den Promiscuous-Modus zu versetzen, und
- CAP_NET_RAW erlaubt den Raw-Zugriff auf eine Schnittstelle, um direkt über die Leitung zu erfassen
Diese Fähigkeiten werden mit dem Dienstprogramm setcap zugewiesen
Zugriffsrechte
- Gewähren von Fähigkeiten mit setcap
# setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
- Änderung prüfen
# getcap /usr/bin/dumpcap /usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip