Was sind Capabilities: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „=Grundsätzliches= *Für Normaluser funktionieren viele Befehle nur, wenn ihnen Set-UID administrative Privilegien verleiht. *Doch das ist riskant – ein Bug…“)
 
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 15: Zeile 15:
 
*Ein Prozess darf unter Linux sogar die notwendigen Pcaps für einzelne Codeabschnitte aktivieren (auf »effective« setzen) oder abschalten.
 
*Ein Prozess darf unter Linux sogar die notwendigen Pcaps für einzelne Codeabschnitte aktivieren (auf »effective« setzen) oder abschalten.
 
*Sie sind somit für Bugs in anderen Codeteilen nicht nutzbar.
 
*Sie sind somit für Bugs in anderen Codeteilen nicht nutzbar.
*Welche Capabilities unter Linux bereitstehen sieht man hier
+
*Welche Capabilities unter Linux bereitstehen sieht man [[Capabilities Manpage|hier]]
 +
 
 
=Anwendungsmöglichkeiten=
 
=Anwendungsmöglichkeiten=
 
*Apparmor
 
*Apparmor

Aktuelle Version vom 11. Januar 2023, 08:11 Uhr

Grundsätzliches

  • Für Normaluser funktionieren viele Befehle nur, wenn ihnen Set-UID administrative Privilegien verleiht.
  • Doch das ist riskant – ein Bug und etwas Pech genügen, schon ist der User Root.
  • Klug gesetzte Posix Capabilities statt S-Bits beschränken die Zusatzrechte dagegen auf das Nötigste.
  • Ohne Set-UID-Programme läuft kein Linux-System.
  • Solange jedes mit S-Bit ausgestattete Programm sicher entworfen und programmiert ist, sind S-Bits zwar ein Segen.
  • Sie bergen aber ein erhebliches Risiko:
  • Ein Fehler in einem einzelnen S-Bit-Programm genügt, und ein normaler User kann sich dessen sämtliche Rechte verschaffen, in der Regel also Root werden.
  • Als privilegierter Prozess setzen sich Set-UID-Root-Programme über alle Berechtigungsprüfungen hinweg.
  • Dabei brauchen die meisten Tools bei Weitem nicht alle Privilegien des Root-Rechts.

Root zerteilt

  • Seit Kernel 2.2 unterteilt Linux das Root-Recht in diskrete Privilegien, über die ein Prozess verfügen kann.
  • Diese Privilegien heißen unter Linux Posix Capabilities oder Pcaps, während Sun sie in Solaris als Privilege bezeichnet.
  • Ein Prozess darf unter Linux sogar die notwendigen Pcaps für einzelne Codeabschnitte aktivieren (auf »effective« setzen) oder abschalten.
  • Sie sind somit für Bugs in anderen Codeteilen nicht nutzbar.
  • Welche Capabilities unter Linux bereitstehen sieht man hier

Anwendungsmöglichkeiten

  • Apparmor
  • SElinux
  • systemd
  • setcap

Quelle