NFS ist ein verteiltes Filesystem. NFS ermöglicht es anderen Maschinen ein
Filesystem vom NFS-Server zu mounten
2.9.
Da dies für den User transparent geschieht, kann er auf das so eingebundene
Filesystem zugreifen, als ob es lokal auf seinem Arbeitsplatzrechner wäre.
NFS vereinfacht die Systemadministration, da man bestimmte Files (z.B. die
Homeverzeichnisse der Benutzer) nicht mehr auf allen Rechnern bereitstellen muß
: die NFS-Clients greifen einfach auf das entsprechende File auf dem NFS-Server
zu. Aber auch für die Anwender bringt NFS Vorteile: man muß sich nicht mehr auf
verschiedenen Rechnern einloggen, sondern kann von einer Maschine aus per NFS
auf die Files zugreifen.
NFS bringt eine Reihe von Sicherheitsproblemen mit sich. NFS basiert auf RPC,
UDP und zustandsfreien-Servern, d.h., ein NFS-Server merkt sich keinen Kontext,
sondern behandelt jede Anfrage unabhängig. Deshalb muß jede Anfrage einzeln
authentisiert werden.
Da NFS standardmäßig die bei RCP schon erwähnte AUTH_UNIX-Methode zur
Authentisierung benutzt, ist es für einen Angreifer relativ einfach,
NFS-Anfragen unter Angabe einer flaschen Identität durchzuführen.
Da NFS-Pakte unverschlüsselt übertragen werden, kann man diese leicht mitlesen
und nochmals an den Server schicken (Replay-Angriff).
Welche Maschinen auf welche Filsysteme Zugriff haben, wird durch ein File
gesteuert (unter UNIX /etc/exports). Eine weitere Schwachstelle von
NFS ist, daß es sich auf IP-Adressen zur Authentisierung von Clients
verläßt, weil diese leicht zu fälschen sind. Da eine korrekte NFS-Konfiguration
keine leichte Sache ist, entstehen oft noch zusätzliche Sicherheitslöcher durch
eine falsche Konfiguration.