Der folgende Artikel beschreibt Maßnahmen die ich für sinnvoll halte, wenn man einen Mac (Leopard) für den Einsatz zB in einem Außenlager absichern muss. Das ganze soll kein Hochsicherheitstrakt werden, sensible Daten werden auch nicht gespeichert aber man möchte das System zumindest rudimentär gegen Missbrauch schützen:
Das EFI (bzw. Open Firmware bei PPC Systemen) greift sämtliche StartUp Shortcuts ab und gewährleistet dem User Zugriff uA auf den Single User Modus. Dieser Modus birgt besondere Gefahren, weil er dem User eine Root Shell ohne Eingabe eines Passworts zur Verfügung stellt. Damit wäre der User in der Lage sämtliche Sicherheitsmechanismen, Einschränkungen oder Systemeinstellungen auszuschalten bzw. nach seinen Anforderungen zu verändern. Durch die Vergabe eines EFI Passworts werden sämtliche PreBoot Shortcuts deaktiviert bzw. die Auswahl eines alternativen Boot Device (zB DVD oder zweites System auf zB Firewire Platten) nur durch Eingabe des EFI Passworts möglich1).
Der EFI Security Level kann auf folgende Werte gesetzt werden:
Zum Setzen des EFI Security Levels können Sie das nvram-Kommando wie folgt einsetzen:
$ sudo nvram security-mode=Command
Abfragen der aktuellen Security-Mode Einstellungen:
$ sudo nvram -p
Zum Setzen des EFI Kennworts müssen Sie das Firmware Password Utility von der Installations-DVD aufrufen. Dazu booten Sie entweder von der CD oder rufen Sie den auf der CD versteckten Utility Ordner im Terminal auf. Folgen Sie den Anweisungen Password Utilies:
$ open /Volumes/Mac\ OS\ X\ Install\ DVD/Applications/Utilities
Zum Deaktivieren dieses Passwort Schutzes, können Sie den Security-Level auf den Default Wert »none« zurücksetzen oder/und ein leeres Passwort für die Firmware setzen.
Um zu vermeiden, dass das System zu lange offen bleibt, wenn ein zugangsberechtigter Benutzer das System verlässt und längere Zeit aus dem Auge verliert, empfiehlt sich ein Passwort geschützter Bildschirmschoner mit relativ kurzer Aktivierungszeit. Um den Bildschirmschoner auf eine idleTime von zB 10 Minuten (600 Sekunden) zu setzen, verwenden Sie folgendes defaults-Kommando oder setzen sie den Wert in der GUI in den Systemeinstellungen → »Schreibtisch & Bildschirmschoner«:
$ defaults -currentHost write com.apple.screensaver idleTime 600
Um die Passwortabfrage zu aktivieren, wenn das System aus dem Sleep Modus bzw. den Standby Modus geholt wird, verwenden Sie folgendes defaults-Kommando oder in der GUI in den Systemeinstellungen → »Sicherheit«:
$ defaults -currentHost write com.apple.screensaver askForPassword -int 1
Leider gibt es out of the box keine elegante Möglichkeit den Benutzer daran zu hindern, die Einstellungen für den Bildschirmschoner hinterher wieder zu ändern bzw. uU ganz zu deaktivieren. Sie haben jedoch die Möglichkeit den Zugriff auf die dafür verantwortliche Preferences Datei ~/Library/Preferences/ByHost/com.apple.screensaver.$HOST-ID.plist zu sperren. Ändern Sie hierfür den Eigentümer der Screensaver Plist einfach in root:wheel, dann kann ein normaler User diese Datei nicht mehr ändern und somit auch die Einstellungen.
Die Option »Kennwortabfrage für die Freigabe jeder geschützten Systemeinstellung« in der Systemeinstellung »Sicherheit« ist eher eine allgemeine Empfehlung und IMHO für vergessliche Administratoren gedacht. Ist diese Option aktiviert, sind bei jedem Start des Programms »Systemeinstellungen« alle Vorhängeschlösser zu. Mir persönlich einen Tick zu hart aber bei Systemen wo Anwender administrative Rechte für ihr System benötigen zumindest mal eine rote Ampel, die signalisiert, dass man uU an systemkritischen Einstellungen schraubt.
Für die Freunde des Terminal ist diese Option leider nur schwer zugänglich. Sie befindet sich in der Datei »/etc/authorization« im Tag <key>system.preferences<key> / <key>shared<key> (ca. Zeile 1050). Dieser Tag ist bei Bedarf auf »true« bzw »false« zu setzen.
Diese Einstellung finden Sie in der GUI ebenfalls in den Systemeinstellungen → »Sicherheit«. Im CLI aktivieren Sie diese Option folgendermaßen:
$ defaults write /Library/Preferences/com.apple.driver.AppleIRController DeviceEnabled -bool no
FTP deaktivieren:
$ launctl unload -w /System/Library/LaunchDaemons/ftp.plist
SMB deaktivieren:
$ defaults delete /Library/Preferences/SystemConfiguration/com.apple.smb.server EnabledServices $ launctl unload -w /System/Library/LaunchDaemons/nmbd.plist $ launctl unload -w /System/Library/LaunchDaemons/smbd.plist
AFP deaktivieren:
$ launctl unload -w /System/Library/LaunchDaemons/ com.apple.AppleFileServer.plist
$ defaults write /Library/Preferences/com.apple.loginwindow RetriesUntilHint -int 0
…to be continued!