Hardening/Linux/Rechtemanagement
Erscheinungsbild
Hardening/Linux/Rechtemanagement
Beschreibung
Rechtemanagement umfasst unter Linux die Definition von Rollen (Benutzer, Administratoren, Services), die Umsetzung über Benutzer-/Gruppenverwaltung sowie die kontrollierte Rechteerweiterung über sudo.
Ziele
- Minimalprinzip (Least Privilege): Rechte nur für konkrete Aufgaben und nur so lange wie erforderlich
- Trennung von administrativen und nichtadministrativen Konten
- Nachvollziehbarkeit: 1 Person = 1 Account, keine Shared-Accounts
- Reduktion Eskalationspfade (zu breite sudo-Regeln, SUID/SGID, mächtige Gruppen)
Kurzleitlinie
| Bereich | Empfehlung | Zweck |
|---|---|---|
| Konten | getrennte Rollen für User/Admin/Service | Verantwortlichkeit, geringere Angriffsfläche |
| sudo | gruppenbasiert, befehlsgenau | kontrollierte Privilegien, Auditierbarkeit |
| Gruppen | Rollen-Gruppen statt pauschaler Systemgruppen | minimierte Seiteneffekte, klare Zuständigkeiten |
Konten/Rollen
Root
- Root nur für Break-Glass-Szenarien
- Administrative Tätigkeiten bevorzugt über persönliche Admin-Accounts + sudo
Persönliche Admin-Accounts
- Pro Administrator ein eigener Account
- sudo-Rechte über Rollen-Gruppen (nicht über direkte User-Einträge)
Benutzerkonten
- Standardkonten ohne sudo
- Keine Mitgliedschaft in administrativen Gruppen ohne Zweckbezug
Service-Accounts
- Kein interaktiver Login (Shell auf /usr/sbin/nologin oder /bin/false)
- Passwort gesperrt, minimaler Dateizugriff, keine sudo-Rechte
- Dateibesitz konsequent auf Service-Account/Service-Gruppe begrenzen
- Hinweis
- Für Notfallzugriff kann ein dediziertes Break-Glass-Konto definiert werden (separat geschützt, dokumentierter Zugriff)
Benutzerverwaltung
Relevante Dateien
Users:
- /etc/passwd
- /etc/shadow
Groups:
- /etc/group
- /etc/gshadow
- Werkzeuge
- adduser
- deluser
- usermod
- gpasswd
- passwd
Rollen-Gruppen
- Gruppen als Rollen definieren: backup, deploy, ops
- Mitgliedschaften in mächtigen Systemgruppen restriktiv behandeln: sudo, adm, systemd-journal, docker, lxd etc
sudo
Grundregeln
- /etc/sudoers nur mit visudo bearbeiten
- Regeln modular in /etc/sudoers.d/ ablegen
- Regeln gruppenbasiert formulieren (Rollen-Gruppen)
Regel-Design
- Volle Pfade für Befehle verwenden (z.B. /usr/bin/systemctl)
- Wildcards vermeiden oder eng begrenzen
- NOPASSWD nur für eng definierte, nicht-interaktive Wartungsaufgaben
Dateirechte, ACLs
POSIX
- Dateirechte konsistent halten
- Konfig 640/644
- Executables 755
- Gruppenarbeit über setgid-Verzeichnisse abbilden
ACLs
- ACLs nur für Ausnahmefälle einsetzen (Audit-Aufwand)
- Dokumentation und regelmäßige Prüfung vorsehen
getfacl -p <pfad>
setfacl -m u:<user>:r-- <pfad>
Linux CapabilitiesМ
- Verwenden Sie Capabilities, um dem Prozess selektiv die erforderlichen Berechtigungen zu erteilen
getcap -r / 2>/dev/null
setcap cap_net_bind_service=+ep /usr/bin/<binary>
Reduktion Eskalationspfade
Service-Accounts härten
- Keine interaktive Shell
- Keine SSH-Keys ohne zwingenden Betriebserfordernis
- Keine sudo-Regeln
Regelmäßige Reviews
- Periodische Prüfung der Rollen-Gruppen und sudo-Regeln
- Deaktivierung verwaister Konten und Entfernung nicht benötigter Mitgliedschaften
sudo-Rechte pro User prüfen
sudo -l -U <user>