Das Thema ging noch nicht durch die deutsche Presse bzw. Blogosphäre, daher mache ich mal den Anfang. Im brandneuen Fedora 12 gibt es eine recht ärgerliche konzeptionelle Schwachstelle. Jeder Desktop-User kann ohne die Abfrage einer Autorisierung Software im System installieren.

Signierte Pakete aus signierten Paketquellen lassen sich in den Standardeinstellungen von PolicyKit ohne Root-Rechte installieren. Dieses Verhalten stößt nun einigen Anwendern übel auf und sorgt für viel Wind im oben verlinkten Bug-Report. Wer die übliche Einstellung wieder haben will, der sollte von Hand die Datei /var/lib/polkit-1/localauthority/20-org.d anlegen und folgendes…

[NoUsersInstallAnythingWithoutPassword]
Identity=unix-user:someone;unix-user:someone_else
Action=org.freedesktop.packagekit.*
ResultAny=auth_admin
ResultInactive=auth_admin
ResultActive=auth_admin

…als Inhalt einfügen. Weiter Informationen zu dieser Änderung finden sich mittlerweile auch in den Release Notes. [UPDATE 20.11.2009: Laut Berichten in diversen Medien wurde dieses Verhalten nun mit einem Update wieder auf den alten Stand gebracht. Somit braucht man auf jeden Fall wieder Root-Rechte, um Software installieren zu können.]

13 Kommentare

  1. Solch ein Verhalten muss erstmal verdaut werden. Die frage ist: Warum sollte man einem signiertem Paket aus einer signierten Paketquelle den nicht trauen?
    In welcher Form schwächt es das Sicherheitskonzept vom System, wenn da keine ausdrückliche Erlaubnis von „root“ eingeholt werden muss?

    Mfg Oliver

  2. Weil auf einem Multiuser-System nicht jeder User Software installieren soll. Ich hab gerade keine virtuelle Maschine mit Fedora 12 parat. Was passiert, wenn man eine .rpm Datei aus den Quellen von Fedora runterlädt und via Doppelklick installiert? Kommt da nun gar keine Abfrage mehr?

  3. Das ist wohl wahr. Allerdings muss ich hinzufügen: Zumindest mache ich das so bei mir: Ich arbeite als normaler Desktop-user, jeder andere wird als Unprivilegierter-user angelegt, der sowieso kein recht hat der System zu verwalten. (wieso sollte er es auch haben?)
    Was ein User darf und was nicht lässt sich glücklicherweise Haar-genau definieren!

  4. Um das noch ein bisschen weiter auszuarbeiten: Auf Linux-Maschinen sollte der User Schreibzugriff nur in $HOME und /tmp haben. Um in allen anderen Bereichen schreiben zu dürfen, sollten administrative Rechte eingefordert werden. Ich denke der Admin eines Fedora-System hat wenig Freude daran, wenn ein User lustigerweise einen Haufen Serverdienste installiert.

  5. Also eine wirkliche Schwachstelle ist es nicht. Nur ein User der angemeldet und vor dem Rechner sitzt kann Software in der GUI installieren. Das kann zum Beispiel nicht von einem Skript ausgenutzt werden – PolicyKit sei Dank. Zum Vergleich: sudo lässt sich sehr leicht ausnutzen.

    Nun ist die Frage, ob das eine sinnvolle Änderung ist: ich denke ja. In 99 % der Fälle arbeitet ja nur eine Person mit dem Rechner. Genau dann ist die Änderung sinnvoll. Sie ist nur nicht sinnvoll, wenn es mehr als einen User gibt und der Besitzer nicht möchte, dass alle Software installieren können. Das kann man dann sogar auch über die UI ausschalten (zumindest in KDE weiß ich dass es geht). Für den Fall große Installation und Admin: das ist bei den Haaren herbeigezogen. Kein Admin installiert Fedora 12. Dafür gibt es RHEL und das wird das Verhalten bestimmt nicht ändern 😉

  6. Original u. Blogtext:

    … create a file in /var/lib/polkit-1/localauthority/20-org.d …

    … der sollte von Hand die Datei /var/lib/polkit-1/localauthority/20-org.d anlegen …

    Sorry für die Erbsenzählerei! 😉

  7. Hallo Christoph,

    um Deine Frage aus Kommentar #2 zu beantworten: Es gilt nicht für heruntergeladene Pakete, sondern nur Pakete, die direkt aus den Paketrepositories installiert werden.

    Ich verstehe die ganze Aufregung nicht ganz, bei Ubuntu kann ja jeder Benutzer in der Standardkonfiguration mit sudo – also ebenfalls ohne root-Passwort – alles machen. Aber ich stimme dir zu: Benutzer sollten nicht einfach Pakete installieren dürfen, es gibt genug Gründe, das zu verbieten (Multiuser-Setups, Kiosksysteme, etc).

    Was mich an der Sache stört ist die Art und Weise, wie der PackageKit-Entwickler reagiert. Er sagt, er habe das schließlich schon „vor 9 Monaten öffentlich diskutiert„. Dumm nur, dass an der Debatte nur 2 Leute beteiligt waren und der andere ihm widersprochen hat. Es dann doch einfach einzuführen ist schon ein starkes Stück, aber leider bezeichnend für diesen Entwickler.

  8. >…bei Ubuntu kann ja jeder Benutzer in der Standardkonfiguration mit sudo – also ebenfalls ohne root-Passwort – alles machen.

    Nein, nur der erste Benutzer ist von Haus aus in der admin-Gruppe, alle restlichen Benutzer werden nicht automatisch in diese gruppe eingefügt. Es geht auch nicht um das „root-Passwort“, bei Ubuntu gibt es kein Passwort für root, es sei denn man setzt Eines.

    > Aber ich stimme dir zu: Benutzer sollten nicht einfach Pakete installieren dürfen, es gibt genug Gründe, das zu verbieten (Multiuser-Setups, Kiosksysteme, etc).

    Darum drehte sich ja die ganze Aufregung. Es kann und darf nicht sein, dass Anwender Software installieren dürfen.

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein