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.]

guest
13 Kommentare
Inline Feedbacks
Zeige alle Kommentare
Oliver

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

Oliver

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!

Martin Gräßlin

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 😉

kl4b

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! 😉

Ximion

Eigentlich sollte ein
pklalockdown –lockdown org.freedesktop.packagekit.package-install
reichen, um die Aktion rückgängig zu machen.

kl4b

@ Ximion

Ja, das funktioniert, sollte aber nicht so benutzt werden, da es mit dem Erscheinen v. polkit 0.95-1 nicht mehr funktioniert.

Die längere, ausführliche Version (http://fpaste.org/hiIg/) funktioniert auch mit polkit-final.

EnTeQuAk

Das „Problem“ wird in einem der nächsten Fedora-Updates behoben. Auf der Mailingliste gab es dazu eine offizielle Aussage.

Siehe https://www.redhat.com/archives/fedora-devel-list/2009-November/msg01445.html

Gruß, Christopher

Christoph (der andere)

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.