Mac OS X absichern - Betriebssystemkonfiguration


Aus Macwrench

Wechseln zu: Navigation, Suche
Finder.png

Dieser Teil der Artikelreihe "Mac OS X absichern" widmet sich den Möglichkeiten für grundelegende Konfigurationen des Betriebssystems und dessen Bordwerkzeugen. Das umfasst neben der Vergabe von Benutzerrechten auch die sinnvolle Rechteverteilung auf Benutzerkonten und zeigt Möglichkeiten auf, persönliche Daten durch Verschlüsselung vor den Augen neugieriger Zeitgenossen zu schützen.

Inhaltsverzeichnis

Benutzeraccounts

Bei der Installation von Mac OS X (ebenso wie bei der vorinstallierten Variante auf ausgelieferten Macs) sind standardmäßig die folgenden Benutzerkonten vorhanden:

  • ein bei der erstmaligen Konfiguration angelegter Benutzer, im Folgenden als "Standardbenutzer" bezeichnet
  • ein Benutzer "root", der zunächst jedoch deaktiviert ist (aus gutem Grund)

Der Benutzer "root"

Menü "Sicherheit" im NetInfo Manager zur (De-)Aktivierung des root-Benutzerkontos
... ist der allmächtige System-Administrator und besitzt die umfassendsten Rechte im System. Aus diesem Grund ist er standardmäßig deaktiviert und muss bei Bedarf aktiviert sowie mit einem Passwort versehen werden. Dies erfolgt entweder über die Eingabe von
passwd root

im Terminal oder über das Bordwerkzeug "NetInfo Manager" im Menü "Sicherheit" (siehe Screenshot rechts). Auf diesem Weg kann das root-Konto auch wieder deaktiviert werden.

Bei der "normalen" Systemnutzung wird jedoch kaum der Bedarf bestehen, diesen Benutzer zu aktivieren - zumal von einer laufenden Verwendung des Kontos ohnehin dringend abzuraten ist. Fehler können durch die umfassenden Rechte recht schnell gravierende Folgen haben. Derzeit ist die Anzahl der wirksamen Schädlinge zwar minimal bis nicht existent, das könnte sich jedoch bei einer größeren Verbreitung des Mac OS schnell ändern. Bei Schädlingsbefall über ein solches Konto genießt dieser dann dieselben Privilegien und kann erheblichen Schaden anrichten.

der Standardbenutzer

Das bei der Erstkonfiguration während der Installation angelegte Benutzerkonto ist standardmäßig Mitglied der Gruppe "admin", darf also das System verwalten. Dies ist am Untertitel "admin" in der Benutzerübersicht der Systemeinstellungen (PrefPane "Benutzer") zu erkennen. Benutzer dieser Gruppe haben zwar lange nicht die Rechte eines "root", besitzen jedoch auch weitreichende Rechte bezüglich der Systemverwaltung und -konfiguration sowie der Anwendungsinstallation.

Da für den täglichen Gebrauch solche Rechte - wie beispielsweise das Schreiben in das Programmverzeichnis /Applications/ - nicht vonnöten sind, ist das Anlegen eines nicht-priviligierten Benutzers dringend anzuraten. Ein Schädling könnte auf diesem Wege beispielsweise Programme manipulieren und sich dort einnisten. Da jedoch von Mac OS X mindestens ein Administrator-Konto (unabhängig von root) gefordert wird, empfiehlt sich das Anlegen eines weiteren Accounts. Bei sicherheitskritischen Funktionen kann im Passwortdialog dann derjenige Account verwendet werden, der über Administrator-Privilegien verfügt. Das hat den Vorteil, dass eventuell eingeschleuste Schädlinge nur mit den geringen Rechten des "Standardbenutzers" operieren können und daher keinen Zugriff auf das Betriebssystem besitzen.

Erstellen eines Administrator Benutzerkontos

Die Erstellung eines solchen Kontos geht wie folgt:

  1. Erstellen eines weiteren Kontos im "Benutzer"-PrefPane der Systemeinstellungen (z.B.: "admin")
  2. Dieses Konto mit Admin-Rechten ausstatten (Haken im Feld "Der Benutzer darf diesen Computer verwalten")
  3. Anschließend unter diesem Benutzer anmelden (der "Standardbenutzer" muss dazu abgemeldet werden, ein Benutzerwechsel genügt also nicht)
  4. In den Benutzereigenschaften des "Standardbenutzers" den beschiebenen Haken entfernen.

Dieser Admin-Benutzer sollte ein anderes Passwort bekommen als der "Standardbenutzer, im Zweifelsfall ist über das Schlüsselsymbol neben dem Passwort-Eingabefeld der Kennwort-Assistent zu verwenden. Mehr Informationen zu sicheren Passwörtern sind im Artikel "Regeln für Passwörter" verfügbar.
Ab jetzt kann man etwas gefahrloser am Mac arbeiten, für die Installation von Systemupdates oder bei anderen Tätigkeiten, die admin-Rechte erfordern, werden fortan die Benutzerdaten des Administrators verwendet.

Starten von Programmen mit höheren Privilegien

Einige Anwendungen benötigen jedoch höhere Privilegien, um funktionieren zu können. Obwohl die meisten davon wohl von den Mac OS X Bordmitteln Gebrauch machen und beim Start einen Passwort-Dialog anbieten, ist das bei einigen nicht der Fall.

Kommandozeilenprogramme

Bei Terminal-Anwendungen (reinen Kommandozeilenprogrammen) ist das recht einfach, solche Programme sind einfach mit Hilfe des Befehls Manpage.png sudo in einem anderen Benutzerkontext zu starten:

sudo <KOMMANDO>

Cocoa- und Carbon-Apps

Normalerweise werden Mac OS X Anwendungen von Terminal aus mit Hilfe des Kommandos Open gestartet. In Verbindung mit Manpage.png sudo funktioniert das jedoch nicht, da in diesem Fall lediglich der Befehl sudo mit Administratorrechten gestartet wird, open jedoch nicht

sudo open -a TextEdit

Ebenso lassen sich auch keine Hintergrundprozesse mit Hilfe des Operators & ausführen, wenn eine vorherige Authentifizierung notwendig ist (wenn der aktuell angemeldete Benutzer keine Administrationsrechte besitzt):

sudo open -a TextEdit &

Cocoa Apps

Um Cocoa-Apps also mit Rootrechten vom Terminal aus zu starten, muss der vollständige Pfad angegebem werden. Beispielsweise so:

sudo "/Applications/Utilities/Terminal.app/Contents/MacOS/Terminal"

Um ein Programm im Hintergrund laufen zu lassen, ist der Parameter -b zu verwenden:

sudo -b /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal

Carbon Apps

Um Carbon-Apps mit Rootrechten zu starten, ist beispielsweise folgende Aufrufsyntax zu verwenden:

sudo -b /System/Library/Frameworks/Carbon.framework/Versions/Current/Support/LaunchCFMApp '/Applications/BBEdit Lite 6.1/BBEdit Lite 6.1 for OS X'

Die Pfade zum jeweiligen Programm sind natürlich dementsprechend anzupassen.

sudo für Benutzer ohne Administratorrechte

Hierbei ist jedoch anzumerken, dass durch die oben vorgenommene Veränderung der Benutzerrechte (der Standardbenutzer ist ja nun kein admin mehr) jedoch ein Zwischenschritt notwendig geworden ist, da standardmäßig nur root sowie die Benutzer der Gruppe admin sudo benutzen dürfen. Auch der direkte Wechsel in den root-Kontext via

su

funktioniert als Standardbenutzer nun nicht mehr.

Abhilfe-Möglichkeit 1:
Zuerst der Wechsel in den Kontext des neuen Administrators, anschließende Verwendung von sudo:

su admin
sudo KOMMANDO

Abhilfe-Möglichkeit 2:
Aufnehmen des Standardbenutzers in die sudo-Konfigurationsdatei /etc/sudoers, was über die Eingabe des folgenden Kommmandos im Terminal erfolgt:

sudo -e /etc/sudoers

beispielsweise durch Einfügen der folgenden Zeile im Abschnitt "User privilege specification":

$USERNAME    ALL=(ALL) ALL

$USERNAME ist dabei durch den Benutzernamen (Kurznamen) des jeweiligen Standardbenutzers zu ersetzen. Mehr Informationen zu sudo und der Konfigurationsdatei /etc/sudoers sind den jeweiligen Manpages Manpage.png sudo und Manpage.png sudoers zu entnehmen.

Damit verbundene Einschränkungen

Mit den geringeren Benutzerprivilegien gehen allerdings auch einiges an Komfort verloren:

su / sudo

Es kann mittels Manpage.png su nicht mehr direkt zum Benutzer "root" gewechselt werden (siehe oben). Es muss also ein Umweg über den oben angelegten Admin-Benutzer erfolgen, um root-Rechte zu erlangen. Alternativ kann die Manpage.png sudo Konfigurationsdatei "Manpage.png sudoers" angepasst werden, damit diese Funktion wiederhergestellt wird.

AFP Freigaben

AFP-Freigaben (das sog. "Personal File Sharing") von angeschlossenen Volumes (sowohl intern als auch extern via USB oder Firewire) werden nicht mehr automatisch erzeugt. Das bedeutet, dass man auf einem entfernten Rechner nur noch die Benutzerverzeichnisse einbinden kann.

Abhilfe schafft hier der AutomountMaker, mit dem sich AFP-Shares anlegen und bearbeiten lassen.

Alternativ bietet sich die Verwendung des "Windows File Sharing" (via Samba/SMB) an, das über die Kondfigurationsdatei Manpage.png smb.conf angepasst werden kann. Informationen und Tipps zu Samba gibt es mehr als Genug im Internet, mit Supinfo Share Manager existiert zudem ein graphisches Tool dafür.

Weitere Möglichkeiten

Das Hilfsprogramm Super Empty Trash (Freeware) ermöglicht das Leeren des Papierkorbes in einem höheren Benutzerkontext, ohne dazu den Benutzer wechseln zu müssen.

Pseudo X (Shareware, $15) ermöglicht das Starten von Anwendungen in einem anderen Benutzerkontext durch einfaches Drag-and-Drop des Anwendungs-Icons.

Rechteverwaltung des Betriebssystems

Ein wichtiger Punkt setzt an der Vergabe für Zugriffsrechte an, mit denen Benutzer die verschiedenen Dateien und Verzeichnisse nutzen können. In obigem Abschnitt über die Benutzerkonten wurde bereits deutlich, warum zuviele Rechte im Schadensfall sehr gefährlich werden können, insbesondere wenn diese Rechte sich auf wichtige Systemdateien erstrecken.

In Mac OS X existiert daher die Möglichkeit, die Zugriffsrechte nicht nur der Systemdateien sondern auch der verschiedenen installierten Applikationen zu reparieren. Um den Sinn dieser Funktion zu verstehen, folgt zunächst ein kleiner Einschub über Zugriffsrechte:

Benutzerrechte eines Ordners im Finder-Info-Dialog

Der Zugriff auf die verschiedenen Dateien und Verzeichnisse eines Datenträgers wird durch verschiedene Faktoren bestimmt, die in der Regel vom Benutzer unbemerkt festgelegt werden - beispielsweise beim Erstellen eines neuen Ordners oder beim Speichern eines Briefes.

Diese Rechte ergeben sich in erster Linie aus den Benutzerdaten, also aus dessen Namen und der Benutzergruppe, der er zugehört (z.B. admin). Eine Liste aller Gruppen befindet sich in der Datei "/etc/group", wobei die meisten davon für den Anwender ohne Belang sind.

Die herkömmliche Rechtevergabe

richtet sich nach den folgenden Faktoren:

  • Besitzer der Datei (bzw. des Verzeichnisses)
  • Gruppe, in der der Besitzer Miglied ist
  • Zugriffsrechte wie z.B. Lesen, Schreiben, Ausführen
Diese Daten können im Finder für einzelne Dateien oder ganze Verzeichnisinhalte im über die Tastenkombination
+ I
erreichbaren Informations-Fenster (bzw.
+ + I
für eine mit oder erfolgte Dateiauswahl) oder mit Hilfe der Kommandozeilentools Manpage.png chown (Besitzer und Gruppe) und Manpage.png chmod (Zugriffsrechte) verändert werden.

Diese Angaben erfolgen im Terminal entweder in der Form r/w/x (read, write, execute) oder in der sog. Oktalschreibweise, wobei die folgenden Werte existieren:

4 = lesen (r)
2 = schreiben (w)
1 = ausführen (x)

Diese Werte werden dann nach dem Schema

Benutzer - Gruppe  - Andere

addiert, je nachdem welche Rechte eingeräumt werden sollen - Lesen und Schreiben ergibt also 4+2 = 6. Die Zugriffsrechte des Ordners aus dem obigen Finder-Dialog sähen dann nach diesem Schema so aus:

755 hagbard:hagbard 

da im Finder-Dialog das Attribut "ausführen" nicht darstellt wird.

Die r/w/x Schreibweise Im Terminal (über das Kommando "Manpage.png ls -l" darstellbar) sieht das dann so aus:

drwxr-xr-x   2 hagbard  hagbard     68 Jun 29 13:48 Neuer Ordner

was diesem Schema folgt:

d r w x r w x r w x
– ––––– ––––– –––––
|   |     |     |_ Alle Anderen
|   |     |
|   |     |_ Gruppe des Besitzers
|   |
|   |_ Username des Besitzers
|
|_ Es handelt sich um ein Verzeichnis

Das vorangestellte "d" zeigt hier an, dass es sich um ein Verzeichnis (directory) handelt. Bei einer herkömmlichen Datei würde an dessen Stelle ein "-" zu finden sein. Gesetzt und verändert werden können diese Attribute dann mit Hilfe von chmod auf mehrere Arten:

chmod +x dateiname
chmod 755 dateiname

Rechtevergabe mit ACL

Mit Mac OS 10.4 (Tiger) führte Apple als Erweiterung des oben beschriebenen Rechtevergabesystems mit Benutzergruppen die sogenannten ACLs (Access Control Lists) ein. Da jedoch auf einem einfachen Desktopsystem der Bedarf von ACLs eher gering sein wird, sollen diese hier nur kurz und der Vollständigkeit halber beschrieben werden. Bei Systemen mit einer größeren Anzahl an Benutzern und Diensten stößt das herkömmliche Gruppensystem hingegen recht schnell an seine Grenzen.

Bei den ACLs kommen dieselben Wekzeuge zum Einsatz wie im obigen Verfahren (Finder, chmod, chown). Allerdings existiert mit Sandbox (Freeware) ein praktisches Tool für die einfache Zuweisung von Rechten via ACL. Da ACLs in der Client-Version von Mac OS X standardmäßig deaktiviert sind, müssen sie unter Verwendung des Kommmandozeilentools fsaclctl mit dem folgenden Kommando im Terminal (oder alternativ auch mit Hilfe von Sandbox) aktiviert werden - im folgenden Beispiel für das Mac OS Systemvolume:

sudo fsaclctl -p / -e

Das Kommando akzeptiert dabei die folgenden Optionen:

Verwendung: fsaclctl -p path | -a  [-e enable] [-d disable] [-v]

-p          path to filesystem mount point
-a          operate on all relevant volumes
-e          enable access control lists on this filesystem
-d          disable access control lists on this filesystem
-v          print version

Die Ausgabe der ACL-Rechtevergabe erfolgt im Terminal mit dem Kommando

ls -el

Weitere Informationen zum Thema finden sich am Ende des Artikels.

Volume-Zugriffsrechte reparieren

Reparatur der Zugriffsrechte im Festplatten-Dienstprogramm

Während die Rechtevergabe bei persönlichen Daten eher dazu dient, die Dateien und Verzeichnisse vor anderen Benutzern zu verbergen, spielt sie für Systemdateien eine wesentlich wichtigere Rolle. Wenn bereits unprivilgeierte Benutzer auf wichtige Systemkonfigurationen schreibenden Zugriff haben, kann bei Schädlingsbefall schnell ein erheblicher Schaden auftreten. Um dem engegenzuwirken, bietet das Festplatten-Dienstprogramm (Disk Utility.app) die Möglichkeit, die Zugriffsrechte zu reparieren. Dabei werden die Rechte wieder auf die ursprünglichen Werte zum Zeitpunkt der Installation zurückgesetzt, was anhand der sogenannten "Receipts" erfolgt - diese befinden sich in Form von ".pkg" Archiven in den folgenden Ordnern: für Dateien in für alle Benutzer allgemein zugänglichen Ordnern, z.B. /Applications:

/Library/Receipts

für Dateien, die während der Installation im Benutzerverzeichnis erstellt wurden:

~/Library/Receipts

Die Receipts werden bei der Installation erzeugt und sollten daher auch keinesfalls gelöscht werden. Sie bieten - neben eventuell während der Installation angelegter logfiles - außerdem die Möglichkeit, Anwendungen sauber und vollständig zu deinstallieren. Diese Dateien lassen sich beispielsweise mit dem folgenden Befehl (im Beispiel für iPhoto) auslesen:

lsbom /Library/Receipts/iPhoto.pkg/Contents/Archive.bom

ein kleiner Ausschnit daraus:

./Applications/iPhoto.app/Contents/Info.plist   100664  0/80    2414    2087592638
./Applications/iPhoto.app/Contents/MacOS        40775   0/80
./Applications/iPhoto.app/Contents/MacOS/iPhoto 100775  0/80    10413768        792702777
./Applications/iPhoto.app/Contents/MacOS/photocd        100775  0/80    149816  2893041223
./Applications/iPhoto.app/Contents/NetServices  40775   0/80
./Applications/iPhoto.app/Contents/NetServices/Bundles  40775   0/80

Eine Reparatur der Zugriffsrechte empfiehlt sich erfahrungsgemäß auch vor und nach jedem größeren Systemupdate, um Probleme durch fehlerhaft gesetzte Rechte von vornherein auszuschließen. Im Disk Utility erfolgt das wie im obigen Screenshot ersichtlich, alternativ kann dies auch mit einem der zahlreichen für Mac OS X verfügbaren Systemwartungs-Tools wie z.B. OnyX durchgeführt werden.

Programmzugriffe einschränken

"Kindersicherung": Programmzugriffe für einzelne Benutzer einschränken

Für gelegentliche Gast-Benutzer oder für die öffentliche Nutzung - beispielsweise bei Vorträgen, an der Uni oder auf Partys (wenn das [i,Mac,Power]Book wieder als Jukebox herhalten muss) - empfiehlt es sich, einen neuen Benutzer anzulegen, dem man nur den Zugriff auf bestimmte Programme erlaubt. Ein solcher Benutzer wird dann "Verwalteter Benutzer" genannt, wordurch das Risiko, durch irgendwelche Spielereien und eventuelle Nettigkeiten von Partygästen Datenverluste zu erleiden, minimiert werden kann.

Konfiguration:

Die Konfiguration dieser Funktion erfolgt ebenfalls in der Benutzerkonfiguration der Systemeinstellungen und trägt dort den netten Namen "Kindersicherung". Dort können bestimmte Anwendungen - wie z.B. Safari, iTunes oder der Finder - ausgewählt und der Zugriff konfiguriert werden. Dabei stehen folgende Punkte zur Auswahl:

  • einzelne Programme: Mail, iChat, Safari und Dictionary
  • Finder.app & System

Während die im ersten Punkt gelisteten Anwendungen spezifische und für sie sinnvolle Einstellungen erlauben, können mit dem Punkt "Finder.app & System" wesentlich umfangreichere Einstellungen vorgenommen werden, z.B.:

  • nur einen funktionell eingeschränkten Finder zur Verfügung stellen
  • Auswahl verschiedener Programmdateien, die ausgeführt werden dürfen
  • Einschränkungen für Dock, Systemsteuerung, Drucker und Hilfsprogramme
  • CDs/DVDs brennen erlauben bzw. verbieten

Fallstricke:

Dabei ist zu beachten, dass viele Programme - wie beispielsweise MS Office - das Ausführen von Programmen erlauben. Dies unterliegt dann nicht mehr den hier festgelegten Einschränkungen und erlaubt somit den freien Zugriff aufs System (natürlich im Rahmen der Benutzerrechte, über die das jeweilige Konto verfügt), was verhindert werden soll. Terminal.app gehört also in oben beschriebenen Szenarien definitiv nicht auf die Liste der freigegebenen Programme ...

Viele der kleinen Hilfsprogramme - wie beispielsweise für das Entpacken von ZIP Archiven - befinden sich nicht im Applikationsordner /Applications/ sondern sind im Verzeichnis

/System/Library/CoreServices

zu finden. Diese sind gegebenenfalls für die Nutzung freizuschalten, um dem verwalteten Benuter die entsprechenden Funktionalitäten zur Verfügung zu stellen. Einige der wichtigsten sind dabei:

BOMArchiveHelper.appEntpacken von ZIP-Archiven
DiskImageMounter.appEinbinden (Mounten) von Disk Images (.dmg) auf dem Desktop (bzw. in das Verzeichnis /Volumes/)
HelpViewer.appDarstellung von Hilfedokumenten verschiedener Anwendungen
Jar Launcher.appStarten von Java-Anwendungen, die als .jar Archiv vorliegen
einige Assistentenwie z.B. Bluetooth Assistent oder Netzwerk-Assistent

Datenverschlüsselung

Mit Hilfe der Rechteverwaltung ist es möglich, den Zugriff weiterer Systembenutzer auf persönliche Daten zu verhinden. Im Falle eines Diebstahls jedoch ist es ohne Weiteres möglich, durch Übernahme eines Benutzerkontos oder einfach durch Ausbauen der Festplatte an die Daten heranzukommen. Eine effektive Möglichkeit, dies zu verhindern, bietet sich mit der Verschlüsselung der Daten. Dabei muss jedoch erwähnt werden, dass dieser Sicherheitsgewinn mit einer unter Umständen erheblich geringeren Systemperformance erkauft wird, da ja bei jedem Zugriff die Daten entschlüsselt und für das Schreiben wieder verschlüsselt werden müssen.

Mac OS bringt dafür bereits einiges an Funktionalitäten von Haus aus mit, im Wesentlichen sind dies:

  1. verschlüsselte Disk-Images
  2. FileVault - Verschlüsselung des Benutzerverzeichnisses

verschlüsselte Backups

DiskImages können in verschlüsselter Form als Backup-Medium dazu verwendet werden, um unauthorisierten Zugriff durch Dritte zu verhindern. Dies erfolgt entweder - wie üblich - mit dem Festplatten-Dienstprogramm (vor 10.3: Disk Copy.app) oder aber mit Hilfe eines einfachen Automator-Workflows.

Einfacher Automator Workflow zum Erstellen eines Disk Images

Automator-Workflow zur Erstellung von DiskImages:

Im Bild rechts ist dazu ein einfacher Workflow abgebildet, der über die Optionsfelder in der Aktion "Create Disk Images from Files" noch angepasst werden kann. Alle dort aktivierten Felder erscheinen dann bei der späteren Nutzung in einem Fenster.

Anschließend ist der Workflow als Finder-PlugIn zu speichern (via
+ + S
als Plugin für Finder) und ist fortan über einen Rechtsklick (-Klick) im Finder-Kontextmenü "Automator" verfügbar. Dadurch werden die aktuell markierten Dateien in einem (ggf. auch verschlüsselten) DiskImage zusammengeführt, das anschließend auf dem Desktop landet.

Dabei sollte jedoch auch in regelmäßigen Abständen ein unverschlüsseltes Disk Image erzeugt werden, um im Falle eines fehlerhaften/dekeften Images (so etwas kann aus eigener Erfahrung durchaus vorkommen) keinen Datenverlust zu erleiden. Das ist besonders ärgerlich, wenn man an seine eigenen Daten nicht mehr herankommt, weil diese nur noch in verschlüsselter Form vorliegen.


Mitwachsende Images für die laufende Ablage

Im Festplatten-Dienstprogramm lassen sich auch sogenannte "sparse images" erzeugen. Das sind Disk-Images, die mit dem Inhalt mitwachsen und sind an der Dateiendung ".sparseimage" erkennbar.

Der Vorteil dabei ist der geringere Platzbedarf, da nicht laufend ein komplettes Backup erstellt wird (wie oben). Der große Nachteil ist, dass die Daten immer nur genau einmal vorhanden sind - nämlich im besagten sparseimage. Hier ist es also unbedingt empfehlenswert, laufend eine Kopie anzufertigen um im Fall eines defekten Images (was bei eventuellen Abstürzen oder Stromausfällen während eines Schreibvorganges durchaus passieren kann) keinen Datenverlust zu erleiden.

Erstellt wird es im Festplattendienstprogramm, wobei hier die Größenangabe etwas irreführend ist: sie beschreibt die Größe, die das Image beim Erstellen besitzt. Als Format ist "Mitwachsendes Image" auszuwählen (unter Mac OS 10.3.9 heisst es "Einfaches Image") und gegebenenfalls die Verschlüsselung zu aktivieren.

FileVault

Das grundlegende Prinzip von FileVault ist genau dasselbe: es handelt sich prinzipiell um ein verschlüsseltes, mitwachsendes Image, in dem jedoch das gesamte Benutzerverzeichnis (also z.B. /Users/hagbard/) abgelegt ist. Es wird beim Anmeldevorgang automatisch eingebunden und steht somit vollständig transparent zur Verfügung. Zur Verschlüsselung wird - wie bei allen verschlüsselten DiskImages - der Standard AES-128 (Advanced Encryption Standard, Schlüssellänge: 128 Bit) verwendet.

Aktivierung von FileVault in den Systemeinstellungen (PrefPane "Sicherheit")

Aktivieren von FileVault

Aktiviert wird die Funktion im Feld "Sicherheit" der Systemeinstellungen, zur Verschlüsselung dient dabei das Anmeldekennwort des jeweiligen Benutzers. Das Hauptkennwort dient dazu, im Fall des Verlustes von Anmeldekennwörtern dennoch an die Daten heranzukommen - dazu wird nach dreimaligem erfolglosen Anmeldeversuch die Option angeboten, ein neues Kennwort unter Verwendung des Hauptkennwortes anzulegen.

Das Image befindet sich anschließend im Verzeichnis /Users/$BENUTZERNAME, z.B.:

/Users/hagbard.sparseimage

Ändern des Kennwortes

Falls das Anmeldekennwort geändert wird, verwendet Mac OS X wieder die herkömmliche, unverschlüsselte Art der Datenspeicherung. Die Daten im verschlüsselten Image sind weiterhin nur über das alte Kennwort erreichbar. Andernfalls wäre es einem Dieb möglich, über den Start mit einer bootfähigen CD/DVD das Anwenderkennwort zurückzusetzen und somit an seine Daten zu gelangen.

Leere Bereiche im Image freigeben

Bei häufiger Nutzung und regelmäßigem Erzeugen und Löschen von Dateien wächst das Image laufend mit. Allerdings gibt es nach einer Löschoperation verfügbaren Speicher nicht automatisch frei, so dass das Image kleiner werden würde.

Dies kann jedoch manuell erfolgen, und zwar mit Hilfe des Kommandozeilentools hdiutil. Dazu ist im Terminal folgendes einzugeben:

hdiutil compact $SPARSEIMAGE

also z.B.

hdiutil compact /Users/hagbard.sparseimage

Hinweise zur Verwendung von FileVault

Gerade bei der Verwendung von FileVault sind - wie generell bei der Nutzung verschlüsselter Disk Images - einige Dinge zu beachten:

  • Das Hauptkennwort muss sich unbedingt vom Benutzerpasswort unterscheiden, ansonsten ist diese zusätzliche Sicherungsmaßnahme wirkungslos.
  • Bei der Verwendung großer Dateien wächst das Image sehr schnell an und belegt unnötig viel Platz. Solche Dateien sollten also nicht im Benutzerverzeichnis abgelegt werden.
  • Bei vielen Zugriffen sinkt die Verarbeitungsgeschwindigkeit durch die Ver- und Entschlüsselungsvorgänge spürbar
  • Es sollten regelmäßig Klartext-Backups angefertigt werden, um bei Datenträger- und Image-Defekten keine Datenverluste zu erleiden.
  • Die Verwendung des verschlüsselten ("sicheren") virtuellen Speichers in Verbindung mit FileVault wird dringend empfohlen, da ansonsten die Anmeldekennwörter aus der temporören Auslagerungsdatei des Systems ausgelesen werden können - Mac OS X legt diese nämlich standardmäßig in unverschlüsselter Form ab. Sie dienen als "virtueller Speicher, um gerade nicht im Arbeitsspeicher benötigte Programmbereiche auf die Festplatte auszulagern.

Zusammenfassung - Sicherheitsrelevante Systemeinstellungen

Generell empfiehlt es sich, die folgenden Systemeinstellungen von Mac OS X zu verwenden, einige davon wurden bereits in diesem Artikel detaillierter beschrieben.

Systemeinstellungen mit Authentifizierung

Um die Optionen als Standardbenutzer verändern zu können, muss das PrefPane erst mit einem Administrator-Account freigeschaltet werden. Dadurch wird verhindert, das durch versehentliches Verlassen der Systemeinstellungen im entsperrten Modus Änderungen durch Dritte erfolgen können.

Bei Administratoren jedoch bleiben die Systemeinstellungen entsperrt. Um dies zu verhindern, ist im PrefPane "Sicherheit" das Feld bei der Option "Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen" zu aktivieren.

Die Freischaltung erfolgt dann durch einen Klick auf das Vorhängeschloss links unten im Fenster und ist bis zum Beenden der Anwendung "Systemeinstellungen" gültig. Aus diesem Grund sollte die Anwendung auch nach erfolgter Konfiguration immer geschlossen oder gesperrt werden.

Systemeinstellungen - Benutzer

Anmelde-Optionen:Beschreibung:
Autom. anmelden als ... Deaktivieren, um keinen unauthorisierten Zugriff zu ermöglichen.
Anmeldefenster zeigt an ... Name und Kennwort, dadurch muss ein Angreifer nicht nur das Passwort sondern auch den Benutzernamen wissen.
Kennwort-Merkhilfe anzeigen: Deaktivieren, um einem Angreifer nicht unnötig Hilfestellungen zu geben. Generell empfiehlt es sich, diese Information im Benutzerkonto nicht anzugeben.

Systemeinstellungen - Sicherheit

Optionen:Beschreibung:
Kennwort beim Beenden des Ruhezustandes oder des Bildschirmschoners aktivieren, insbesondere bei der Nutzung von tragbaren Geräten unterwegs.
Automatisches Anmelden deaktivieren: Aktivieren (siehe oben)
Kennwort verlangen für die Freigabe von geschützten Systemeinstellungen: Aktivieren. Diese Einstellung ist nur relevant für Benutzer mit Administratorrechten, da hier die Systemeinstellungen nach dem Beenden nicht automatisch wieder gesperrt werden.
Abmelden nach X Minuten Inaktivität:Empfehlenswert bei Systemen, die nur gelegentlich kurz benutzt werden und an für Andere zugänglichen Orten stehen. Alternativ kann bei Systemen, die hauptsächlich von einer Person genutzt werden, dazu auch ein Bildschirmschoner mit Passwortschutz verwendet werden
Sicheren virtuellen Speicher verwenden: Aktivieren, um das Auslesen von Passwörtern aus der Auslagerungsdatei durch weitere Systembenutzer zu verhindern (siehe oben)

Systemeinstellungen - Sharing

Mehr Informationen dazu sind im nächsten Teil der Artikelreihe zu finden. Generell gilt hier, nur diejenigen Dienste zu aktivieren, die wirklich benötigt werden. Im mobilen Betrieb - vor allem bei aktiviertem WLAN (Airport) oder Bluetooth - sind alle Dienste zu deaktivieren und die Firewall zu aktivieren!

Auch selbst erstellte Regeln im Tab "Firewall" sind entsprechend zu deaktivieren!

Firewall / Weitere Optionen:Beschreibung:
UDP-Verkehr blockieren Eingehende UDP (User Datagram Protocol) Verbindungen werden dadurch generell blockiert. UDP ist ein Kommunikationsprotokoll wie TCP, jedoch leichtgewichtiger, ressourcenschonender und ohne Sicherheitsfunktionen wie Sicherung der Datenübertragung, Verbindungsmanagement oder andere Korrekturmechanismen. Aus diesem Grund wird es in der Regel für Dienste wie Audio oder Video Streaming, Instant-Messaging und ähnlichem eingesetzt, bei denen hohe Bandbreite und geringe Verzögerungen wichtiger sind als eventuell verloren gegangene einzelne Pakete. (Anm. d. Red.: die Beschreibung in der Apple-Hilfe ist reichlich irreführend, zumindest bis incl. Mac OS 10.4.7)
Firewall-Protokollierung aktivieren Diese Option bietet die Möglichkeit, bei Angriffsversuchen die Vorgehensweise und das Ziel des Angreifers anhand der verwendeten Protokolle, Adressen und Ports nachzuvollziehen. Die Aufzeichnungen sind anschließend in der Konsole (Konsole.app, der Logfile-Viewer von Mac OS X; Ein Klick auf das Symbol "Protokolle" in der Symbolleiste öffnet die Übersicht aller Protokolle) oder in der Datei "/var/log/ipfw.log" zu finden.

In öffentlichen Netzwerken (z.B. WLAN-Hotspots, Uni-Netzen etc.) können die Protokolle allerdings recht schnell sehr groß werden, da gewisse Dienste und Protokolle (z.B. SMB/CIFS) für ihre "Geschwätzigkeit" bekannt sind.

Tarn-Modus aktivieren Bei Aktivierung dieser Option (auch als "Stealth Mode" bekannt) werden bei Verbindungsanfragen an Dienste, die auf dem Mac nicht laufen/gestartet sind, keine Fehlermeldungen geschickt (was normalerweise der Fall wäre). Diese Vorgehensweise soll verhindern, dass ein Angreifer durch "blinde Verbindungsversuche" Informationen über das System sammeln kann, die er später für einen Angriff (z.B. über bekannte Sicherheitslücken) ausnutzen kann. Wenn keinerlei Dienste offen sind, soll der Mac also praktisch "unsichtbar" sein, aktivierte Dienste sind jedoch weiterhin nutzbar.

Es sollte allerdings beachtet werden, dass die suggerierte "Sicherheit" durch die Aktivierung dieser Option in der Realität nicht gegeben ist. So verletzt die Aktivierung dieser Option z.B. RFC 792. Der Tarnmodus kann auch alleine deshalb schon nicht funktionieren, da der Router beim Provider kein "Destination unreachable" zurück liefert, sobald der Rechner im Providernetz eingewählt ist. Im Zweifel weiß ein Angreifer also das dort ein Rechner steht, welcher ICMP-Pakete dropt.

Das Internet Sharing (Internet-Freigabe) ist im mobilen Betrieb unbedingt zu deaktivieren!

Systemeinstellungen - Netzwerk

Netzwerkkonfiguration in den Systemeinstellungen (PrefPane "Netzwerk")

Gerade im mobilen Betrieb sind nur diejenigen Netzwerkschnittstellen zu aktivieren, die auch wirklich verwendet werden. Dadurch ist es einem Angreifer nicht möglich, eventuelle Sicherheitslücken der Treiber auszunutzen um in einen Computer einzubrechen (siehe Meldung auf golem.de: "Angriff auf WLAN-Treiber mit einfachsten Mitteln").

Netzwerkkonfiguration "kein Netzwerk" zur Deaktivierung aller Netzwerkschnittstellen

Außerdem empfiehlt sich für solche Fälle, eine eigene Netzwerk-Konfiguration "kein Netzwerk" anzulegen. Dadurch können über das Apfel-Menu (Eintrag "Umgebung") sehr schnell alle Netzwerkschnittstellen deaktiviert werden. Um eine solche Netzwerkumgebung anzulegen, sind einfach in der Anzeige "Netzwerk-Konfigurationen" alle Schnittstellen zu deaktivieren (siehe Grafik rechts).

Weitere Hinweise zur Konfiguration von Netzwerk, Airport und Bluetooth werden im weiteren Verlauf dieser Artikelreihe beschrieben.

Weitere Informationen

Unix Grundlagen

OSXFAQ: Mac OS X Unix Tutorial:

Datei-Zugriffsrechte

OSXFAQ: Advanced Mac OS X Unix:

ACLs in Mac OS X


Verfasser: Hagbard

Ansichten