Ismerjük meg az NFS-t! I.
2006/08/14 21:44
860 megtekintés
A cikk már legalább egy éve nem frissült, az akkor még aktuális információk lehet, hogy mára elavultak.
Sajnos egyre kevesebben ismerik a néhány évvel ezelőtt még közkedvelt NFS szolgáltatást. Nézzük meg közelebbről, hátha megszeretjük!

Az NFS (Network File System) bő egy évtizeddel ezelőtt még igen közkedvelt hálózati szolgáltatás volt UNIX/Linux rendszereken, mára azonban méltatlanul feledésbe merült. Közelebbről megnézve azonban van még néhány olyan tulajdonsága, amely miatt érdemes még foglalkozni vele.

Az NFS alapjait a Sun Microsystems fejlesztette ki még az 1980-as évek elején. A projekt célja egy könnyen használható, többféle platformról is elérhető, közös hálózati fájlrendszer létrehozása volt. Sajnos a megvalósításba némi hiba csúszott, ezért a mai napig akadnak problémák heterogén rendszerekben való használatakor, de egységes (pl. Linux-Linux) környezetben képes megbízhatóan működni. Az NFS első és második verziói (NFSv1 és v2) tisztán UDP protokollon üzemeltek, míg a v3-ban megjelent a TCP feletti használat lehetősége. Természetesen nem csak ennyiben különböznek: a v3 alatt 2 GB-nál nagyobb állományok kezelése is megoldott, megjelent az aszinkron írás, amellyel a kliens-szerver adatátvitel sebessége növelhető jelentősen, valamint nőt a szolgáltatás megbízhatósága is. Az NFSv4 pedig képes együttműködni a Network Lock Managerrel, illetve az rquotad szolgáltatással, amely a távoli fájlrendszer kvótaadatainak elérését teszi lehetővé. A system-config-nfs Jelenleg a Linux kernel mindegyik változat kezelésére alkalmas, viszonylag egyszerű konfiguráció után máris használhatjuk mind szerver-, mind kliensoldalon. Az NFS RPC (Remote Procedure Call) alapú szolgáltatás, ezért használatához szükséges a portmap futtatása is a kiszolgálón és a klienseken egyaránt. A portmap dinamikus portkiosztást biztosít a két oldal között, ezért az NFS nincs fix porthoz kötve, a rendszer szabadon mozgathatja azt bárhová. Itt érdemes megjegyezni, hogy - többek között - emiatt az NFS-t nem javasoljuk publikus hálózati használatra, belső környezetben azonban nyugodt szívvel ajánljuk. A system-config-nfs biztonsági füle Az NFS működésének egyik sarkalatos problémája a felhasználók UID és GID értékeinek átalakítása. Optimális esetben a szervernek tudnia kell, hogy a kliensről kapcsolatot kezdeményező user milyen UID-del és GID-del rendelkezik és ez alapján engedélyezi a fájlrendszerhez történő hozzáférést. Éppen ezért az NFS-t ilyen esetekben LDAP vagy NIS autentikáció mellett használjuk, hacsak nem mindegy számunkra, hogy ki fér hozzá a megosztásokhoz, ilyenkor ugyanis lehetőségünk van csak olvasható, anonymous hozzáférés biztosítására is. Felmerül azonban a kérdés, hogy read-write módban elérhető megosztások esetén vajon mi történik akkor, ha egy kliensen root jogosultságokkal rendelkező, 0-s UID-jű "támadó" próbál meg hozzáférni a kiexportált tartalmakhoz? Nos, erre is van megoldás: alapértelmezésben a szerver az ún. root_squash opcióval működik, azaz a nullás felhasználó-azonosítóval rendelkező usereket "átrakja" a speciális, 65534-es (nfsnobody)UID-ra, így rootként nem tudjuk majd elérni az érzékeny tartalmakat. Ezen kívül ismert még a secure opció is, amely megakadályozza, hogy az 1-1024 közötti porttartományból kapcsolatot kezdeményezhessenek a kliensek, így a SUID-os trükkök sem érnek sokat.

(folytatjuk)

Béres László
rendszermérnök, RHCE

beres.laszlo@sys-admin.hu

Csatlakozz hozzánk!

Ajánljuk

European Schoolnet Academy Ingyenes online tanfolyamok tanároknak
School Education Gateway Ingyenes tanfolyamok és sok más tanárok számára
ENABLE pilot Program iskoláknak a bullying ellen
eBiztonság Minősítés Minősítési rendszer oktatási intézményeknek