Wie in der Einleitung erläutert, verhalten sich per NFS freigegebene Ordner so, als ob sie über eine externe Festplatte anderen Rechnern zur Verfügung gestellt würden. Demzufolge wird auch ein vergleichbares Sicherheitskonzept verwendet:
Um einen abgesicherten Betrieb zu gewährleisten, ist es deshalb unabdingbare Voraussetzung, die Benutzer- und Gruppen-Accounts zwischen allen Computern, die in einem Netz am NFS-Datenaustausch beteiligt sind, miteinander abzugleichen.
In sehr kleinen Netzen kann diese Synchronisation der Accounts notfalls von Hand vorgenommen werden. Es ist jedoch üblich, hierfür einen netzweiten Verzeichnisdienst einzurichten. Ein Verzeichnisdienst ist eine gemeinsam im Netz genutzte Datenbank, in der alle Account-Daten gespeichert sind. Außer zu Wartungszwecken sollten keine Accounts mehr verwendet werden, die lokal auf jedem Rechner gespeichert sind. Alle Computer nutzen nur noch Accounts des zentralen Verzeichnisses und sind daher automatisch miteinander abgeglichen.
macOS unterstützt von Hause aus die Verzeichnisdienste
Hinweis: Die Unterstützung allgemeiner LDAP-Server von Drittanbietern unterscheidet sich je nach Betriebssystemversion. Apple bewirbt diese Funktionen nicht mehr offiziell.
Das Anbinden eines macOS-Computers an einen vorhandenen Verzeichnisdienst ist über das Programm Verzeichnisdienste im Ordner /System/Library/CoreServices/Applications möglich. Die Einrichtung eines Verzeichnisdienstes geht über den Umfang dieses Handbuchs hinaus und wird deshalb nicht weiter beschrieben.
Bei Verwendung von NFS Version 4 kann eine Funktion namens ID Mapping (Identifikationsabbildung) dazu genutzt werden, Benutzer- und Gruppenkonten zwischen Klient und Server aufeinander abzubilden. Auch dies setzt die Nutzung eines Verzeichnisdienstes voraus. Zusätzlich muss ein NFSv4-Domänenname eingestellt werden. Dieser Domänenname kann im Betriebssystem durch Eingabe des folgenden Befehls ins Terminal eingerichtet werden:
sudo dscl . -create Config/NFSv4Domain RealName EXAMPLE.COM
Hierbei muss der Teil EXAMPLE.COM durch den tatsächlichen Namen der NFSv4-Domäne ersetzt werden.
Einige Versionen von macOS sind bekannt dafür, diese Funktion nicht besonders zuverlässig zu unterstützen. Ziehen Sie die Technischen Hinweise von NFS Manager und die Support-Dokumente von Apple (falls verfügbar) für weitere Informationen hinzu.
Möglicherweise ist es nicht machbar, dass sich alle Computer in Ihrem Netz einem gemeinsamen Verzeichnisdienst anschließen. Um Sicherheitsrisiken zu vermeiden, sollte deshalb Computern, die nicht ausdrücklich für den Zugriff auf einen bestimmten Server zugelassen sind, der Zugriff generell verweigert werden. NFS unterstützt deshalb die folgenden Beschränkungen, die für jede Freigabe gesondert definiert werden können:
Die zuvor beschriebene Technik, unbefugte Computer von der Nutzung einer NFS-Freigabe auszuschließen, ist nicht sehr sicher: Ist das Netzwerk offen, z.B. per ungesichertem WLAN zugänglich oder gibt es Ethernet-Steckdosen, die nicht abgeschlossen oder anderweitig überwacht sind, kann sich ein böswilliger Angreifer mit seinem eigenen Computer in das Netz einklinken. Er könnte die IP-Adresse eines als berechtigt ausgewiesenen Computers übernehmen und so die Zugriffsbeschränkung umgehen.
Um solche Sicherheitslücken zu schließen, kann macOS eine NFS-Freigabe durch Einsatz der Kerberos-Technik schützen. Kerberos ist ein komplexes Verfahren zur gegenseitigen, sicheren Identifikation von Diensten, Geräten und Nutzern, das auf Verschlüsselungsverfahren beruht. Hierbei wird in der Regel eine höhere Sicherheit erreicht, als beim sonst üblichen Schutz durch Kennworte. Als Ersatz für Kennworte werden abhörsichere, fälschungssichere und selbstverfallende Schlüsseldaten verwendet, die Kerberos-Tickets genannt werden.
Da Kerberos-Tickets ohne Risiko vollautomatisch im Netz versandt werden können, ist damit eine allumfassende Einmalanmeldung („Single Sign-On“) möglich: Ein Benutzer meldet sich nur einmal bei einem zentralen Dienst im Netz an. Danach werden auf allen Rechnern alle Dienste, für die dieser Benutzer Zugangsberechtigung hat, vollautomatisch freigeschaltet, ohne dass eine weitere Anmeldung erforderlich wäre. Die Berechtigung endet erst dann, wenn entweder die voreingestellte Gültigkeit des Tickets abgelaufen ist (in macOS typischerweise nach 10 Stunden), oder wenn der Benutzer sein Ticket ausdrücklich deaktiviert.
Die Kerberos-Technik ist nicht auf Benutzer beschränkt, sondern erlaubt auch Geräten und Diensten, sich gegenseitig sicher zu identifizieren. macOS kann auf Wunsch eine oder mehrere der folgenden Sicherheitsbedingungen an eine NFS-Freigabe koppeln:
Damit Sie Kerberos einsetzen können, muss es allerdings vorher im Netz eingerichtet worden sein. Die folgenden Voraussetzungen sind nötig:
Die Einrichtung von Kerberos geht über den Umfang dieses Handbuchs hinaus und wird daher nicht weiter beschrieben.
Ist Ihr Netz mit anderen Netzen, wie z.B. dem Internet verbunden, so kann der NFS-Zugriff aus dem Fremdnetz durch Einsatz einer Paketfilter-Firewall unterbunden werden. Ist der Paketfilter so konfiguriert, dass er NFS-Datenverkehr nicht durchlässt, ist ein Zugriff aus dem fremden Netz nicht mehr möglich.
Für jede Freigabe können Sie auf Wunsch auch den Nur-Lese-Modus und die Benutzerabbildung einstellen:
macOS unterstützt neben klassischen POSIX-Zugriffsrechten auch die Einstellung von Berechtigungen über Zugriffssteuerungslisten (Access Control Lists, ACLs), die mit Microsoft® Windows und dem POSIX.1e-Vorschlag kompatibel sind. ACLs können zurzeit jedoch nur über NFS Version 4 verwendet werden. Bei Verwendung von NFSv2 oder NFSv3 beachten Sie bitte:
Einige Sicherheitsfunktionen des NFS-Protokollstandards basieren auf Definitionen, welche genaue Liste von Computern das Recht haben soll, auf Dateien eines NFS-Servers zuzugreifen. Es ist (nicht nur zu Sicherheitszwecken) komfortabel, die verschiedenen Computer über deren Netzwerk-Namen („Host-Namen“) anzusprechen und nicht über IP-Adressen. Die Verwendung von Host-Namen erfordert es, dass der Domain Name Service (DNS), der Namen den Adressen zuordnet und umgekehrt, in Ihrem TCP/IP-Netz richtig eingerichtet ist. In kleinen Privatnetzen läuft DNS üblicherweise auf dem Internet-Home-Router. In professionellen Netzen wird DNS üblicherweise von einem speziellen Server-Computer bereitgestellt. Falls macOS erkennt, dass kein gültiges DNS in Ihrem Netz vorhanden ist, schaltet es automatisch auf die Verwendung von Bonjour-Namen (die auf „.local“ enden) als Behelfslösung um. Das Nutzen von Bonjour-Namen für Zugriffsdefinitionen in NFS-Netzwerken kann jedoch ein Sicherheitsproblem darstellen, denn Benutzer könnten versuchen, ihre eigenen Computer zu einem anderen umzubenennen, wodurch das Netz automatisch umkonfiguriert wird und damit Sicherheitseinschränkungen umgangen werden.
NFS Manager kann eine einfache Prüfung vornehmen, um zu testen, ob DNS in Ihrem Netz korrekt eingerichtet ist, wobei der aktuelle Computer als Testobjekt verwendet wird. Dabei wird außerdem erkannt, ob Host-Namen nur auf Bonjour basieren, was ein sicherheitskritischer Netzkonfigurationsfehler sein könnte. Führen Sie die folgenden Schritte durch, um den Test durchzuführen:
Die Prüfung testet nur, ob DNS korrekt antwortet, und ob Host-Namen nur von Bonjour verwaltet werden. Es wird keine Sicherheitsüberprüfung des DNS-Servers vorgenommen, die es erlauben würde, einzuschätzen, auf welchem Niveau den Antworten des Servers vertraut werden kann.