Mac OS X absichern – Teil 1

Kurzzusammenfassung: Ein neu gekaufter Apple Computer ist schnell und einfach eingerichtet – Einschalten, Name und Passwort vergeben, fertig. Was vielen Anwendern dabei nicht bewusst ist: Nach dieser Standard-Inbetriebnahme ist der Mac keinesfalls sicher konfiguriert! Des Weiteren sollten einige grundsätzliche Regeln im Umgang mit dem Rechner beachtet werden. All dies werde ich in einer mehrteiligen Serie besprechen.

Auf folgendes möchte ich eingangs jedoch deutlich hinweisen: Ich bin weder ein Sicherheitsexperte noch forsche ich in diesem Bereich. Durch meine praktischen Erfahrungen als freier System Administrator entstand die Idee, dieses komplexe Thema auch für weniger versierte Anwender möglichst nachvollziehbar aufzubereiten. Als Quellen dienten mir dabei u.a. die Mac OS X Security Configuration Guides, die Sicherheitsempfehlungen der NSA sowie diverse Fachliteratur der Verlage O’Reilly, Addison-Wesley/Pearson, APress, Wiley PublishingSyngress, No Starch Press, Peach Pit Press, Que Publishing, McGraw-Hill und Galileo Press.

Der erste Teil dieser Serie beschäftigt sich mit der Trennung von Benutzer-Accounts unter Mac OS X.

1. Standard-User versus Admin-Account

Mac OS X ist ein UNIX-basiertes Betriebssystem und somit ein Mehrbenutzersystem, bei dem es eine strenge Trennung von Zugriffsmöglichkeiten innerhalb des Systems gibt. Unter Mac OS 9 und seinen Vorgängern war für einen Benutzer im Prinzip alles erlaubt – dadurch war es z.B. möglich, eine “Sicherheitskopie” des Systemordners an einen anderen Platz der Festplatte zu verschieben und bei Bedarf auf diesen zurückzugreifen. Die Umstellung auf Mac OS X führte (nicht nur aus diesem Grund) zu einigem Frust und Ärger unter alteingesessenen Mac-Nutzern, denn solche weitgehenden Rechte waren durch dank UNIX passé.

Mac OS X unterscheidet grob zwischen Gast-Benutzern, Standard-Benutzern, Systemverwaltern (Administratoren) und dem Superuser (root). Die größten Einschränkungen gelten dabei für den Gast-Benutzer, dieser soll aber nicht Thema dieses Artikels sein. Dem Standard-Benutzer ist es nicht erlaubt, Änderungen am System vorzunehmen oder Software außerhalb seines Benutzerordners zu installieren. Auch werden von ihm gestartete Programme nur mit seinen Nutzerrechten ausgeführt. Benutzer mit administrativen Rechten besitzen dagegen weitergehende Rechte – sie dürfen systemweite Einstellungen vornehmen, Software im Programme-Ordner installieren und verfügen außerdem über Schreibzugriff auf diverse Verzeichnisse, auf die ein Standard-Benutzer nicht schreibend zugreifen darf. Ein nutzbares Root-Benutzerkonto, das dauerhaft über die Berechtigungen des Superusers verfügt, gibt es nach einer Standard-Systeminstallation von Mac OS X nicht. Zwar gibt es einen Benutzer „root“, dieser ist jedoch nicht aktiviert. Allerdings existiert der Befehl sudo (siehe weiter unten), mit Hilfe dessen ein Administrator root-Rechte erlangen kann. Davon abgesehen wurden wiederholt Lücken im System entdeckt (so genannte privilege escalations), die es einer von einem Administrator ausgeführten Software ermöglichten, Root-Rechte und damit die volle Kontrolle über das System zu erlangen. Auch Malware-Entwickler haben nicht erst seit gestern Mac OS X im Visier , wie auch ein aktueller Bericht von F-Secure bei heise online zeigt.

Grundsätzlich gilt auch bei Mac OS X: Ein Standard-Benutzer ist einem Benutzer mit administrativen Rechten für die alltägliche Arbeit vorzuziehen.

Der erste eingerichtete Benutzer unter Mac OS X besitzt diese so genannten “administrativen Rechte”, es handelt sich also um einen Administrator-Account. Dadurch ist dieser Benutzer auch automatisch Mitglied in der “sudoers list” und kann (nach Eingabe seines Administrator-Passwortes) per sudo root-Rechte erlangen, womit er zeitweilig zum Superuser wird.

Für die ständige Nutzung des Rechners sollte man also aus Sicherheitsgründen einen Standard-Benutzer anlegen. Die Arbeitsqualität verringert sich dadurch kaum – bei nötigen Programm- oder Systemaktualisierungen kann man sich jederzeit weiterhin als administrativer Benutzer mit dem entsprechenden Admin-Passwort identifizieren.

Arbeitet man mit einem Standard-Benutzer, muss man sich als Administrator identifizieren, um z.B. Apples Softwareaktualisierung ausführen zu können.

Solch ein Standard-Benutzer ohne administrative Rechte ist aus Sicherheitsgründen kein Mitglied der “sudo-Liste”. Der Befehl sudo (kurz für substitute user do) steht dem Standard-Benutzer also nicht zur Verfügung, was zur Folge hat, dass er auf diesem Wege keine root-Rechte erlangen kann.

Superuser-Rechte kann der Standard-Benutzer auf diesem Wege nicht mehr erlangen.

Dies in Kombination mit der zwingend erforderlichen Identifikation bei administrativen Zugriffen bedeutet in der Praxis ein erhöhtes Maß an Sicherheit.

Anmerkung: Selbst als Standard-Benutzer kann man root-Rechte erlangen, indem man sich per Terminal erst einmal als Administrator identifiziert:

su - <Kurzname des Administrator-Accounts>

Danach bekommt man eine root-Shell mittels:

sudo su -

Im GUI des Betriebssystems zeigt sich dies durch die zweimalige Anforderung des Administrator-Kennworts, wenn man mit einem Standard-Account arbeitet.

Der erste eingerichtete Benutzer (welcher zwingend einen Admin-Account erhält) sollte also nur für die Verwaltung des Systems genutzt werden, während ein zweiter Benutzer-Account angelegt wird, den man dann für die alltäglichen Aufgaben nutzen kann. Erfreulicherweise sind zusätzlich angelegte Benutzer voreingestellt nur Standard-Accounts (die Option “Der Benutzer darf diesen Computer verwalten” ist dabei deaktiviert).

Auch wenn man die Ersteinrichtung schon hinter sich hat und all die persönlichen Daten nun in einem Admin-Account liegen, lässt sich diese Nutzertrennung noch nachträglich konfigurieren. Dazu legt man einfach einen zweiten Benutzer-Account an, wählt für diesen aber explizit aus, dass er ebenfalls ein Administrator sein soll. Dann meldet man den bisherigen Benutzer vom System ab (Apfel+Shift+Q) und landet so im Anmeldedialog von Mac OS X. Dort meldet man sich mit dem neu angelegten Admin-Account am System an und öffnet Systemeinstellungen/Benutzer. Hier kann man nun dem alten Admin-Account die administrativen Rechte entziehen, indem man ihn markiert und dann die Option “Der Benutzer darf diesen Computer verwalten” deaktiviert – aus dem Admin-Account wird so ein Standard-Account.

Der Benutzer-Account für die tägliche Arbeit sollte ein Standard- statt Admin-Account sein.

Anmerkung: Unter früheren Versionen von Mac OS X konnte das Problem auftauchen, dass bei solchen nachträglichen Änderungen auch die Benutzer-IDs angepasst werden mussten. Meiner Erfahrung nach ist das bei 10.6 Snow Leopard und 10.7 Lion nicht mehr notwendig. Soll heißen, es ist kein Problem, wenn ein ehemaliger Admin-Account die Benutzer-ID 501 behält und ein neuer Admin-Account die Benutzer-ID 502 bekommt. Wer sich auf diese Aussage nicht verlassen möchte, für den gibt es die Möglichkeit, mit einem Rechtsklick auf den jeweiligen Benutzer in den Systemeinstellungen die “erweiterten Optionen” zu öffnen. Dort kann man die Benutzer-ID entsprechend anpassen (wobei dadurch unter Umständen weitere “Operationen am offenen Herzen” nötig sind).

WARNUNG: Das anpassen der User-ID ist nur für fortgeschrittene Anwender ratsam, nicht umsonst warnt auch Apple ausdrücklich davor!

Das ändern der Benutzer-ID oder auch das anpassen des Benutzerordners ist mit Vorsicht zu genießen …

Auch Programmierer, die z.B. mit Apples Entwicklungsumgebung Xcode Programme für Mac OS X oder iOS entwickeln, benötigen für ihre tägliche Arbeit keine administrativen Rechte. Sie können ihrem Standard-Benutzeraccount für die Entwicklung wichtige, die Sicherheit des Systems aber nicht beeinträchtigende, Gruppen wie z.B.  _developer hinzufügen.

sudo dscl . append /Groups/_developer GroupMembership <username>

Fazit: Zwar muss man sich mit einem Standard-Benutzer öfter als gewohnt als Administrator identifizieren, um Änderungen am System vornehmen zu können oder Programme zu aktualisieren. Bösartigen Programmen erschwert dies jedoch ebenfalls erheblich die Arbeit, da sie (außer im eigenen Benutzerordner) ohne Angabe eines Passwortes kaum Schaden anrichten können.

Identifizierungsaufforderung für das Kopieren einer speziellen Firefox-Version für PPC-Macs in den Programme-Ordner unter Mac OS X 10.5 Leopard.

Achtet man also zukünftig darauf, an welcher Stelle man zur Identifizierung mit administrativen Rechten aufgefordert wird, ist das eigene System schon um einiges besser geschützt.

Hinweis: Natürlich kann man sich im eigenen Benutzerverzeichnis auch einen eigenen Programme-Ordner anlegen, bei dessen Nutzung man sich dann nicht extra identifizieren muss (da man ja Schreibrechte für seinen eigenen Nutzerordner und dessen Unterordner hat). Am besten nennt man diesen Ordner “Applications”, dann bekommt er zum einen das entsprechend passende Ordner-Symbol und davon abgesehen kann man ihn so auch besser vom Programme-Ordner auf der obersten Verzeichnisebene der Festplatte unterscheiden (beispielsweise als zusätzlicher Ordner in der Seitenleiste eines Finderfensters).

Selbstverständlich muss auch ein Betriebssystem wie Mac OS X auf dem aktuellen Stand gehalten werden, um entdeckte Sicherheitslücken zeitnah zu schließen. Im kommenden zweiten Teil werde ich mich deshalb der Aktualisierung des Systems sowie weit verbreiteter Programme und Erweiterungen widmen.

2 Gedanken zu „Mac OS X absichern – Teil 1“

  1. Danke für diese gut nachvollziehbare Anleitung. Bisher nutzte ich nur meinen Admin-Account (mir war gar nicht bewusst, welchen Gefahren man sich dadurch aussetzt).

    Die Änderung hat wie beschrieben problemlos geklappt. Jetzt habe ich einen extra Admin-Account und mein bisheriger Benutzer wurde zu einem Standard-Account.

    Bisher keine Probleme. :razz:

  2. Perfekt, danke. Umstellung hat super funktioniert unter Lion.

    Bin jetzt auch täglich mit “Standard” statt Admin unterwegs :lol:

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Reload Image
Enter Code*:

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>