11/2012

Mit und Policykit Berechtigungen vergeben Titelthema Administrieren erlaubt Sudo & Policykit Sudo

40 Sollen normalerweise betreute PC-Anwender sich öfter selbst helfen, brauchen sie zusätzliche Berechtigun-

gen. Das Tool Sudo und der Berechtigungsdienst Policykit regeln unter , wer was darf. Tim Schürmann www.linux-magazin.de

steht in der Konfigurationsda‑ Sudo führt einen Befehl unter einem an‑ tei »/etc/sudoers«. Um etwa deren Benutzerkonto aus. Welche Kon‑ dem Benutzer »klaus« das ten »klaus« dabei von den vorhandenen Aktualisieren seines eigenen wählen darf, regelt die Angabe in den Computers namens »marvin« Klammern. Mit »(tim)« könnte »klaus« zu gestatten, fügt der Admin das Programm nur als Benutzer »tim« ihr folgende Zeile hinzu: starten. Das »(ALL)« berechtigt »klaus« dazu, sich ein beliebiges Benutzerkonto klaus marvin=(ALL) NOPASSWD:U aussuchen, also auch das für »‑get« /usr/bin/apt‑get upgrade notwendige des Benutzers »root«: Am Anfang der Zeile steht sudo ‑u root apt‑get upgrade der Benutzername. Es folgt der des Rechners, von dem Die Option »‑u« für den gewünschten aus »klaus« das Kommando User ist im Falle von Root optional. Bevor absetzen darf. In diesem Fall »sudo« das Kommando »apt‑get upgrade« muss er vor seinem eigenen ausführt, muss »klaus« normalerweise Rechner »marvin« sitzen. sein Passwort eingeben. Sollte er beim Aufruf von »apt‑get upgrade« eine Feh‑ Ausgewiesen lermeldung in der Art »klaus is not allowed to run sudo Das ist nicht mehr notwendig, sobald on ...« erhalten, stimmt sehr »NOPASSWD:« vor dem Programmna‑ wahrscheinlich etwas mit der men in der Konfigurationsdatei steht. Namensauflösung nicht. Der Der eigentliche Befehl folgt schließlich Administrator sollte dann prü‑ am Ende der Zeile. Soll »klaus« mehrere

© claudiarndt, Photocase.com © claudiarndt, fen, ob der angegebene Rech‑ Programme oder Kommandos starten nername mit der Ausgabe von dürfen, stehen diese einfach durch Kom‑ Für Admins wäre es eine Erleichterung, »hostname« übereinstimmt, und kontrol‑ mata getrennt hintereinander: wenn normale Benutzer kleinere War‑ lieren, ob dieser mit den Inhalten der klaus marvin=(ALL) NOPASSWD:U tungsaufgaben selbst lösen könnten, Datei »/etc/hosts« korrespondiert. /usr/bin/apt‑get update,U etwa Software aktualisieren. Dumm ist Mit »ALL« anstelle des Rechnernamens /usr/bin/apt‑get upgrade nur, dass etwa »apt‑get« Administrator‑ darf »klaus« von jedem Rechner aus rechte verlangt, und die möchte man »apt‑get upgrade« aufrufen. Alternativ Hier könnte »klaus« lediglich die Paketda‑ einem normalen Nutzer auf keinen Fall zum Rechnernamen kann man natürlich tenbank auf den aktuellen Stand bringen gewähren. Glücklicherweise kann ihm auch die IP-Adresse angeben. Einen Ad‑ und Aktualisierungen einspielen, jedoch der Admin mit »sudo« oder dem Berech‑ ressbereich formuliert man als Subnetz: keine Programme neu installieren. Das tigungsdienst Policykit ganz gezielt be‑ universelle »ALL« lässt sich auch bei den klaus 192.168.2.0/255.255.255.0=(ALL)U stimmte Aktionen erlauben. anderen Angaben verwenden. Die fol‑ NOPASSWD:/usr/bin/apt‑get upgrade Das Hilfsprogramm »sudo« führt die gende Zeile stellt »klaus« mit dem Benut‑ nachgestellten Anweisungen im Namen In diesem Fall dürfte der Benutzer zer »root« gleich: eines anderen Benutzers aus. Für »apt‑get »klaus« nur dann den Befehl aufrufen, klaus ALL=(ALL) ALL upgrade« wäre dies beispielsweise der all‑ wenn er vor einem Rechner mit einer mächtige »root«. Welcher User Sudo wie IP-Adresse aus dem Bereich 192.168.2.1 Alternativ zu einzelnen Benutzern kann mit welchen Programmen nutzen darf, bis 192.168.2.254 sitzt. die Sudoers-Datei auch gleich allen Mit‑ 11/2012 Titelthema Sudo & Policykit Sudo

41 www.linux-magazin.de

Abbildung 1: Während unter der Aufruf von »visudo« lediglich die »sudo- ers« vor weiteren Zugriffen schützt und dann »nano« auf den Plan ruft, … gliedern einer Gruppe, etwa »admin«, »sudo«-Aufruf ihr Abbildung 2: … setzt Open Suse den bekannten »vi« ein, der sogar Syntax- entsprechenden Zugriff gewähren: Passwort eintip‑ Highlighting bietet – wenn auch optisch etwas schrill. pen. Alle weiteren %admin ALL=(ALL) ALL Standardeinstellungen nennt die Man‑ che Tippfehler haufenweise durchgehen. Das vorangestellte Prozentzeichen signa‑ page »man 5 sudoers«. Man sollte sich daher nicht zu sehr auf lisiert Sudo, dass es sich um eine Gruppe Innerhalb von »/etc/sudoers« negiert das das Werkzeug verlassen. und nicht um einen einzelnen Benutzer Ausrufezeichen eine Einstellung. Damit Unter vielen Distributionen ist es zudem handelt. Auf diese Weise erlaubt etwa kann der Admin etwa verhindern, dass üblich, selbst geschriebene Regeln in Ubuntu allen Administratoren den Zugriff »klaus« ein ganz bestimmtes Programm eine eigene Konfigurationsdatei auszu‑ auf Systemfunktionen. aufruft. Dazu stellt er dem Programmna‑ lagern und diese im Verzeichnis »/etc/ Listing 1 zeigt die Konfigurationsdatei men lediglich das Ausrufezeichen voran. sudoers.d« zu speichern. Die Zeile »sudoers« aus Ubuntu, der Übersichtlich‑ Im folgenden Beispiel darf »klaus« nicht #includedir /etc/sudoers.d keit halber ohne ihre vielen Kommentare: den Computer neu starten: Root sowie die Benutzer aus der Gruppe in »/etc/sudoers« sorgt dafür, dass Sudo klaus marvin=(ALL) !/sbin/reboot »admin« und »sudo« dürfen alles, die automatisch alle Textdateien im Ver‑ restlichen Benutzer nichts. Das zweite Alle fehlgeschlagenen Nutzungsversu‑ zeichnis »/etc/sudoers.d« einliest und »ALL« in den Klammern kennzeichnet che von »sudo« landen normalerweise auswertet. Das vorangestellte »#« leitet den erlaubten Gruppennamen, »klaus« im Syslog, unter Ubuntu in der Datei hier ausnahmsweise keinen Kommentar dürfte den Befehl somit unter dem Konto »/var/log/auth.log«. So lässt sich rasch ein, sondern gehört noch zum Befehl. eines beliebigen Benutzers aus einer be‑ herausfinden, welcher Benutzer seine Die Auslagerung hat den Vorteil, dass liebigen Gruppe ausführen. Finger im Spiel hatte. der Administrator bei Problemen einfach die zusätzlichen Konfigurationsdateien Vorspann Tanz mit dem Teufel löschen kann, um den alten Zustand wiederherzustellen. Mit »Default« beginnende Zeilen verän‑ Sudo ist aber ein gefährliches Biest, und Vorsicht ist auch bei sich ergänzenden dern jeweils eine Standardeinstellung zwar in mehrfacher Hinsicht. So kann Regeln angebracht. Sollte »klaus« in fol‑ von Sudo. In Listing 1 setzt »env_reset« man sich mit nur einem kleinen Tippfeh‑ die Umgebungsvariablen zurück, und ler oder einem »!« an der falschen Stelle Listing 1: »/etc/sudoers« aus »secure_path« definiert die »PATH«-Va‑ komplett aus dem System aussperren. Ubuntu 12.04 riable, also die Verzeichnisse, in denen Das passiert unter Umständen auch bei 01 # Umgebungsvariablen neu setzen: Linux die auszuführenden Programme Regeln, von denen niemand solche Aus‑ 02 Defaults env_reset suchen darf. Beide Maßnahmen sollen wirkungen erwartet hätte. 03 Defaults secure_path="/usr/local/sbin:/usr/ Angriffe erschweren. Normalerweise Daher sollte der Admin die Datei »/etc/ local/bin:/usr/sbin:/usr/bin:/sbin:/bin" behält »sudo« ein einmal eingegebenes sudoers« nur mit dem dafür geschaffenen 04  Passwort. Nützlich ist deshalb auch noch »visudo« ändern. Dieser Editor prüft un‑ 05 # Zugriffe erlauben: Folgendes: ter anderem die Syntax der Konfigurati‑ 06 root ALL=(ALL:ALL) ALL onsdatei. Anders als das »vi« im Namen 07 %admin ALL=(ALL) ALL Defaults timestamp_timeout=15 andeutet, steckt dahinter bei einigen Dis‑ 08 %sudo ALL=(ALL:ALL) ALL Damit vergisst Sudo bei allen Benutzern tributionen heute der Editor »nano« (Ab- 09  das Passwort nach 15 Sekunden. Bei ei‑ bildungen 1 und 2). Unter Ubuntu ließ 10 # Weitere Regeln einbinden: ner »0« müssten die Benutzer bei jedem er in einer Stichprobe selbst offensichtli‑ 11 #includedir /etc/sudoers.d 11/2012 Titelthema Sudo & Policykit Sudo

42

Abbildung 3: Beispiel für einen Authentication Agent unter Ubuntu. Wenn man www.linux-magazin.de die Details aufklappt, zeigt die Maske die Aktion an, für die das Programm die nötigen Berechtigungen anfordert.

gendem Fall auch Mitglied der Gruppe das sich in den »admin« sein, darf er alle Systempro‑ Suchpfad gemogelt gramme ausführen und nicht nur »/sbin/ hat. reboot«: All diese Probleme und Sicherheits­ klaus marvin=(ALL) NOPASSWD:/sbin/reboot risiken umschifft %admin ALL=(ALL) ALL der Berechtigungs‑ In der Praxis sind den Regeln diese Ab‑ dienst Policy­kit [1] hängigkeiten aber nicht immer derart di‑ mit einer komplett rekt anzusehen. anderen Arbeits‑ weise: Möchte der Abbildung 4: Die Bezeichnungen aller von Policykit unterstützten Aktionen Risiken eindämmen Benutzer »klaus« verrät »pkaction«, wobei eine lange Liste herauskommen kann. ein Paket installie‑ Um Systemprogramme aufzurufen, be‑ ren, fragt sein Paketmanager zunächst aber noch nicht die Versionsnummer 1, sitzt Sudo das Set-UID-Bit. Der Befehl bei Policykit an, ob »klaus« diese Aktion zum Redaktionsschluss aktuell war die läuft daher immer mit »root«-Rechten. überhaupt gestattet ist. Policykit kann Nummer 0.107. Trotz der Null vor dem Nur »sudo« selbst verhindert, dass ein anschließend umgehend grünes Licht ge‑ Punkt läuft das Policykit-System stabil gewöhnlicher Benutzer im System Amok ben oder erst noch ein Passwort von und kommt schon seit mehreren Jahren läuft. Welche Rechte einem »sudo« ge‑ »klaus« einfordern. unter anderem in Ubuntu, Fedora und währt, verrät der Befehl »sudo -l«. Open Suse zum Einsatz. Der Passwortverzicht über »NOPASSWD« Erlaubnisdienst Policykit Den Kern von Policykit bildet der Daemon ist zwar für die Anwender bequem, doch »polkitd«. Da er lediglich die Anfragen zum einen ruft der Benutzer vielleicht Im Gegensatz zu Sudo reglementiert Po‑ von Systemprogrammen beantworten unbedacht Befehle auf, die das System licykit einzelne (System-)Funktionen. So muss, läuft er mit eingeschränkten Rech‑ gefährden, zum anderen könnten auch kann der Admin zwar »klaus« die Ak‑ ten. Über ihn kann folglich niemand das Schadprogramme unbemerkt im Hinter‑ tualisierung von Paketen gestatten, die System kapern. »polkitd« stellt seine grund Systemprogramme starten. Installation von neuen Paketen jedoch Funktionen über das Kommunikations‑ Abschließend sollte der Admin immer untersagen. system Dbus bereit. Alternativ können den vollständigen Pfad zu den Program‑ Policykit hat in seiner Entwicklung eine Programme auch die Bibliothek »libpol‑ men verwenden. Andernfalls kann es grundlegende Überarbeitung erfahren. kit‑gobject‑1« nutzen, die die entspre‑ passieren, dass »sudo« nicht etwa das Die aktuelle Version bezeichnet man im chenden Dbus-Aufrufe kapselt. originale »apt‑get« ausführt, sondern ein Allgemeinen als Policykit-1 oder kurz als Ob die bei Policykit angefragte Aktion Schadprogramm mit gleichem Namen, »polkit«. Verwirrenderweise besitzt sie gestattet ist, prüft eine »LocalAuthority«

Listing 2: Regel für Tabelle 1: Verzeichnisse für Policykit-Regeln »LocalAuthority« Verzeichnis Gedacht für die … 01 [Klaus darf Netzwerkeinstellungen ändern] 10-vendor.d Regeln des Distributors 02 Identity=unix‑user:klaus 20-org.d Regeln der Organisation, die die Distribution vertreibt 03 Action=org.freedesktop.NetworkManager.settings. 30-site.d Regeln der Seite, die die Distribution verteilt modify.system 50-local.d eigenen beziehungsweise lokalen Regeln 04 ResultInactive=no 05 ResultActive=auth_self 90-mandatory.d Regeln der Organisation, die die Distribution vertreibt JETZT

LOSLEGEN: 11/2012

www.heinlein-consulting.de 030 / 4050510 Titelthema

Tabelle 2: Berechtigungsarten in Policykit Wert Bedeutung no Der Benutzer darf die Aktion unter keinen Umständen ausführen. yes Der Benutzer darf die Aktion ohne Authentifizierung ausführen.

auth_self Der Benutzer darf die Aktion erst dann ausführen, wenn er sein Passwort preis- & Policykit Sudo gegeben hat. auth_admin Der Benutzer muss sich als Administrator authentifizieren (und somit das Pass- 43 wort eines Administrators kennen). auth_self_keep Wie »auth_self«, allerdings behält Policykit das einmal eingetippte Passwort für ein paar Minuten. Der Benutzer kann folglich die Aktion mehrfach hinterein- ander aufrufen, muss sein Passwort aber nur einmal preisgeben.

auth_admin_keep Wie »auth_admin«, allerdings behält Policykit das einmal eingetippte Passwort www.linux-magazin.de für ein paar Minuten. Der Benutzer kann folglich die Aktion mehrfach hinterein- ander aufrufen, muss sich aber nur einmal als Administrator ausweisen. LINUX genannte Komponente. Wie ihr Name eindeutigen Namen tragen. Die eigentli‑ schon andeutet, berücksichtigt sie bei chen Zugriffsregeln bezeichnet Policykit SORGENFREI ihrer Entscheidung die lokal auf dem als Authorization Entries. Linux-Projekte von einem Team, das Rechner vorhandenen Benutzerkonten Listing 2 zeigt eine Regel, die es dem und Gruppen. Benutzer »klaus« erlaubt, im Network Sie glücklich macht. Ist die Eingabe eines Passworts erforder‑ Manager die systemweiten Netzwerkein‑ lich, ruft Policykit einen so genannten stellungen zu ändern. Ein Kommentar in FACHLICH GUT. Authentication Agent zu Hilfe. Dieser be‑ eckigen Klammern leitet die Regel ein. „... unterstützt uns seit einigen Jahren steht im Wesentlichen nur aus einer Ein‑ »Identity« verrät hinter dem Gleichheits‑ gabemaske, wie sie Abbildung 3 zeigt. zeichen, welche Benutzer oder Benutzer‑ fachkundig und rund um die Uhr bei Jede Desktopumgebung kann ihren eige‑ gruppen von der Regel betroffen sind. In Betrieb und Troubleshooting unserer für nen Authentication Agent mitliefern. Zeile 2 ist dies jemand mit einem lokalen den Flugbetrieb wichtigen Linux-Cluster.“ Benutzerkonto (»unix‑user:«) und dem Germanwings, Markus Haake, Head of IT- Regulator Benutzernamen »klaus«. Mehrere Benut‑ Infrastructure zer oder Gruppen trennt die Datei einfach Um einem Benutzer den Zugriff auf eine durch Semikola. Mit der Zeile Systemfunktion zu gestatten, muss der EFFIZIENT. Identity=unix‑user:klaus;unix‑group:U Administrator eine entsprechende Regel „.. lange Diskussionen und Planungen netzwerker aufstellen. Alle Policykit-Regeln sind in waren unnötig. Die Heinleins haben dem Verzeichnis »/etc/polkit‑1/localau‑ dürfte neben Klaus auch die gesamte Be‑ mit ihrer Erfahrung ein überzeugendes thority« versammelt. Dort finden sich nutzergruppe »netzwerker« die Netzwerk­ Konzept fertig auf den Tisch gelegt.“ wiederum fünf Unterverzeichnisse, auf einstellungen anpassen. die die Regeln nach ihren Urhebern ver‑ Strato, Marcus Lindner, Head of Corporate teilt sind. Darf’s etwas mehr sein? Network/Offi ce-IT Wer seine Regeln in welchem Verzeich‑ Tabelle 1 nis parken muss, verrät . Ad‑ Hinter »Action« steht der Name der er‑ ZUVERLÄSSIG. ministratoren konzentrieren sich auf das laubten Aktion. Welche Aktionen Policy‑ „... innerhalb der recht sportlichen Verzeichnis »50‑local.d«. Die »LocalAu‑ kit kennt, verrät der Befehl »pkaction«. thority« liest alle dort abgelegten Dateien Vorsicht, die ausgespuckte Liste kann je Vorgabe von zwei Wochen wurden alle mit der Endung ».pkla« in lexikografisch nach Distribution relativ lang sein (Ab- Punkte umgesetzt.“ aufsteigender Reihenfolge ein. bildung 4). In der Regel ist schon am Xing, Holger Bürger, Namen der Aktion erkennbar, was sie be‑ Director Site Operations Sauber eingeordnet wirkt. Wer es ganz genau wissen möchte, ruft »pkaction« mit dem Namen der Ak‑ Um beim Regelschreiben nicht den Über‑ tion auf, also etwa (Abbildung 5): blick zu verlieren, sollte der Admin die pkaction ‑‑verbose ‑‑action‑id U Dateinamen immer mit einer (aufstei‑ org.freedesktop.NetworkManager.settings.U genden) Nummer beginnen lassen. Die modify.system Regeldateien selbst sind einfache Textda‑ teien, wobei mehrere Regeln in einer Da‑ Die komplette, ausführliche Liste leitet tei zusammengefasst sein dürfen. Wich‑ der Admin besser in eine Datei um, etwa tig ist nur, dass die ».pkla«-Dateien einen mit dem Kommando »pkaction ‑‑verbose

Linux höchstpersönlich.

AZ_lm-2012-11-Consulting-79x297_01.indd 1 11.09.12 17:18 11/2012 Titelthema > aktionen.txt«. Die zur Verfügung ste‑ Policykits Aktionsprogramm henden Aktionen hängen von der Distri‑ bution und den installierten Programmen Systemprogramme müssen die von ihnen an- frage angezeigt bekommt. Für jede Aktion kann gebotenen Aktionen zunächst bei Policykit re- der Programmierer des Systemprogramms in- ab (siehe Kasten „Policykits Aktions- gistrieren. Jedes Programm platziert dazu eine nerhalb des Elements »« (Zeilen 4 programm“). Mehrere Aktionen lassen in XML formulierte Informationsdatei im Un- bis 7) die Standardberechtigungen vorgeben. Sudo & Policykit Sudo sich mit Hilfe des Platzhalters »*« in ei‑ terverzeichnis »/usr/share/polkit‑1/actions«. Im obigen Beispiel dürfen nur Administratoren ner einzigen Regel zusammenfassen. So Beispielsweise stecken die vom Network Ma- die Netzwerkkonfiguration verändern. Die hier 44 könnte »klaus« dank nager angebotenen Dienste in der Datei »org. möglichen Angaben und Werte entsprechen freedesktop.NetworkManager.policy«. Eine denen aus den ».pkla«-Dateien. Identity=org.freedesktop.NetworkManager.* Aktion daraus sieht (leicht gekürzt) aus wie Die ».policy«-Dateien sollte der Admin nie gleich alle vom Network Manager ange‑ in Listing 3. direkt ändern: Zum einen reißt er möglicher- Hinter »id=« in Zeile 1 steht die vom Programm weise unbemerkt eine Sicherheitslücke auf,

www.linux-magazin.de botenen Funktionen nutzen. verschickte Dbus-Nachricht, »« zum anderen könnte die Distribution bei einem in Zeile 2 liefert eine kurze Beschreibung der Systemupdate die Modifikationen wieder über- Was bin ich? Aktion, während »« die Nachricht schreiben. Besser ist es, eine eigene ».pkla«- nennt, die der Benutzer bei der Passwortab- Datei zu verwenden. Policykit unterscheidet zwischen Anfra‑ gen, die aus einer aktiven, und solchen, die aus einer inaktiven Sitzung stammen. Manager.pkla« im Verzeichnis »/etc/pol‑ rationsdateien unter »/etc/polkit‑1/lo‑ Was mit Anfragen aus einer aktiven Sit‑ kit‑1/localauthority/50‑local.d« ablegen. calauthority.conf.d«. Auch hier liest die zung passieren soll, steht hinter »Re­ Sobald dies geschehen ist, berücksichtigt »LocalAuthority« alle Dateien in lexiko‑ sultActive=«. In Listing 2 muss »klaus« Policykit die neuen Regeln, ein Neustart grafischer Reihenfolge ein, Einstellungen dann sein eigenes Passwort eintippen des Daemon ist nicht notwendig. in später gelesenen Dateien überschrei‑ (»auth_self«). Im Fall einer inaktiven Weitere Regelbeispiele finden sich un‑ ben die vorhergehenden. Der System‑ Sitzung gilt hingegen die Regel hinter ter »/var/lib/polkit‑1/localauthority«. verwalter sollte daher nicht in eine der »ResultInactive=«. In Zeile 4 steht ein In diesem nur für den Benutzer »root« vorhandenen Dateien eingreifen, sondern »no«, was das Ändern der Netzwerkein‑ zugänglichen Unterverzeichnis lagern eine selbst geschriebene Datei mit einer stellungen über den Network Manager alle von der Distribution mitgebrachten höheren Nummer hinzusetzen. Das hat verbietet. Neben »auth_self« und »no« Regeln. Über den Aufbau der ».pkla«- gleichzeitig den Vorteil, dass die Distribu‑ gibt es noch ein paar weitere mögliche Dateien informiert die Manpage »man tion die vorhandenen Dateien bei einem Werte, deren Bedeutung Tabelle 2 zu‑ pklocalauthority«. Systemupdate nicht überschreibt. sammenfasst. Standardmäßig besteht eine Konfigu‑ Alternativ zu »ResultInactive« und »Re‑ Allmächtiger rationsdatei nur aus zwei Zeilen, unter sultActive« kann der Administrator auch Ubuntu beispielsweise: »ResultAny« verwenden, das für aktive Einige Systemfunktionen sind so ge‑ [Configuration] und inaktive Sitzungen gleichermaßen fährlich oder kritisch, dass sie nur ein AdminIdentities=unix‑group:sudo;U gilt. Aus der Dreierbande muss nur min‑ richtiger Administrator auslösen darf. unix‑group:admin destens einer in der ».pkla«-Datei auftau‑ Die »LocalAuthority« unterscheidet des‑ chen, für die Fehlenden gelten die von halb zwischen normalen Benutzern und Hinter »AdminIdentities=« stehen alle der entsprechenden Aktion vorgegebenen Administratoren. Letztgenannte haben Benutzer und Gruppen, die aus den Au‑ Regeln (siehe Kasten „Policykits Akti- schlichtweg die gleiche Stellung wie der gen von Policykit die gleichen Rechte wie onsprogramm“). Benutzer »root«. »root« besitzen. Um auch noch »klaus« Listing 2 könnte der Admin beispiels‑ Wer zum elitären Kreis der Administra‑ unter Ubuntu in diesen elitären Kreis weise als »51‑org.freedesktop.Network‑ toren gehört, bestimmen die Konfigu‑ aufzunehmen, erzeugt Root eine neue

Listing 3: Action-Datei (gekürzt)

01  02  Netzwerkverbindungen für alle Benutzer bearbeiten 03  Die Systemrichtlinien verhindern das Bearbeiten von Netzwerkeinstellungen für alle Benutzer 04  05  no

06  auth_admin_keep Abbildung 5: Hier verrät »pkaction«, dass die Aktion »org.freedesktop.NetworkManager.settings.modify.sys- 07  tem« es allen Benutzern gestattet, die Netzwerkeinstellungen über den Network Manager zu ändern. Ganz 08  unten in der Ausgabe finden sich noch die voreingestellten Berechtigungen. JETZT ANMELDEN: www.heinlein-akademie.de 11/2012 Titelthema

Ausgeführt Zum Lieferumfang von Policykit gehört das ignoriert und nur den Standard-Unix-Rechten Kommandozeilenwerkzeug »pkexec«. Es star- unterliegt. Die in Policykit bekannten Aktionen tet ein Programm unter einem anderen Benut- »org.debian.apt.update‑cache« beziehen sich zerkonto und ersetzt somit »sudo« – zumindest auf »aptdaemon« [3]. ist das die Grundidee. Das Kommando Soll Klaus also »apt‑get« aufrufen dürfen, & Policykit Sudo muss der Admin entweder doch wieder Sudo pkexec ‑‑user klaus apt‑get update mit entsprechenden Regeln einsetzen oder 45 beispielsweise würde den Befehl »apt‑get »klaus« in die Gruppe der Administratoren update« als Benutzer »klaus« ausführen. aufnehmen. Dann kann dieser »apt‑get« als Dummerweise dürfen aus Sicherheitsgrün- Benutzer »root« starten: den nur Administratoren »pkexec« aufrufen. www.linux-magazin.de Darüber hinaus startet »pkexec« den Befehl pkexec apt‑get update »apt‑get update« im Rechtekontext des Be- Damit ist offensichtlich nicht viel gewonnen, nutzers »klaus«. Der hat zum Ausführen von doch immerhin packt »pkexec« das Programm AHA-EFFEKT »apt‑get update« aber standardmäßig nicht in eine minimale und abgesicherte Umgebung, die notwendigen Rechte. Gewähren kann man Angriffe über die Umgebungsvariable »LD_LIB- GESUCHT? sie ihm nicht, da »apt‑get« Policykit einfach RARY_PATH« sind so nicht möglich. Schulungen für Linux-Admins,

Datei »99‑klaus.conf« und legt in ihr die Policykit in seinem Repertoire hat, sollte die durchblicken wollen. folgenden zwei Zeilen ab: er eine entsprechende ».pkla«-Datei er‑ stellen. Damit gibt er nur ganz gezielt die Fachlich und didaktisch kompetente [Configuration] wirklich notwendige Funktion frei. AdminIdentities=unix‑group:sudo;U Dozenten, spannende Schulungsthe- unix‑group:admin;unix‑user:klaus Sudo sollte ein Admin trotzdem norma‑ men, eine lockere Atmosphäre im Kurs len Benutzer nur nach reiflicher Überle‑ und angenehme Unterrichtsräume – all Die beiden Gruppen »sudo« und »admin« gung oder im Notfall in die Hand geben: das erwartet Sie bei uns in Berlin an der stammen aus den vorhandenen Konfigu‑ Zu groß ist die Gefahr, dass er durch rationsdateien. Man sollte sie überneh‑ eine fehlerhafte Regel mehr erlaubt als Heinlein Akademie. men, da ansonsten nur noch »klaus« die geplant oder sich sogar selbst vom Sys‑ »root«-Rechte besitzt. tem aussperrt. Die nächsten Kurse: ab 29.10. Wenig Unterstützung Alternative gesucht LPI-Zertifi zierung (LPIC-1)

Policykit bildet eine weitere Sicherheits‑ Ein feingranulares, einheitliches Rech‑ ab 29.10. schicht über dem schon vorhandenen tesystem vermisst man unter Linux nach SpamAssassin und AMaViS Unix-Rechtesystem, es ersetzt es aber wie vor. Gerade wenn der Administra‑ ab 29.10. nicht. Darüber hinaus müssen die betei‑ tor den Zugriff auf Kommandozeilen‑ Linux-Cluster mit pacemaker und LVS ligten Systemprogramme Policykit unter‑ programme gestatten möchte, sollte er stützen beziehungsweise bei dem Dienst unbedingt auch einen Blick auf alterna‑ ab 05.11. nachfragen. Das machen aber derzeit nur tive Techniken zur Zugriffsbeschränkung PostgreSQL für Profi s ein paar ausgewählte GUI-Werkzeuge, werfen, beispielsweise Access Control ab 05.11. etwa der Network Manager. Lists (ACL, [4]). (mhu) n OTRS-Training Durchweg alle Konsolenanwendungen, ab 07.11. etwa »apt‑get«, ignorieren Policykit. Zu SUSE Manager: welchen Problemen dieser Mischmasch Infos Enterprise Server-Management führen kann, zeigt der Kasten „Aus- [1] Policykit: [http://​­www.​­freedesktop.​­org/​ geführt“. Doch selbst wenn eine An‑ ­wiki/​­Software/​­polkit] ab 12.11. wendung Policykit unterstützt, muss sie [2] Tim Schürmann, „Türsteher“: LinuxUser Nagios / Icinga Networkmonitoring sich noch lange nicht an dessen Antwort 07/​12, [http://​­www.​­linux‑community.​­de/​ halten. Folglich können sich Angreifer ­Internal/​­Artikel/​­Print‑Artikel/​­LinuxUser/​ und Schadprogramme recht einfach an ­2010/​­07/​­Admin‑Rechte‑gezielt‑vergeben Policykit vorbeimogeln. Wissenswertes ‑mit‑PolicyKit] zu Policykit findet sich auch im Linux- [3] Aptdaemon: User-Artikel „Türsteher“ [2]. [https://​­launchpad.​­net/​­aptdaemon] Sowohl »sudo« als auch Policykit ha‑ [4] Tim Schürmann, „Listig kontrollieren“: AD- ben ihre Vor- und Nachteile. Sofern der MIN-Magazin, [http://​­www.​­admin‑magazin.​ Admin eine Aktion erlauben möchte, die ­de/​­Online‑Artikel/​­Access‑Control‑Lists/]

Linux höchstpersönlich.

AZ_lm-2012-11-Akademie-79x297_01.indd 1 11.09.12 17:20