Zum Inhalt springen

Hardening/Linux/Rechtemanagement

Aus Foxwiki

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

Sudo/Konfiguration

Dateirechte, ACLs

POSIX

  • Dateirechte konsistent halten
  • Konfig 640/644
  • Executables 755
  • Gruppenarbeit über setgid-Verzeichnisse abbilden

chmod

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>