Bezpecnost NFS

Alexandr Malusek malusek na sysel.ujf.cas.cz
Pondělí Červenec 14 21:00:13 CEST 1997


> udrzuji celkem tri servery a dva gatewaye rozmistene v okruhu 
> cca 20km. Doted jsem pouzival telnet a ftp, ale nejak to neni ono.
> Proto jsem si zprovoznil NFS. Zatim jsem si ze vzdalenych serveru
> namontoval jen adresare s web-strankami. Chtel bych se zeptat,
> jak moc by bylo nebezpecne si takto namontovat i /etc.

Asi by bylo dobre problem rozdelit na dve casti
1) bezpecnost NFS
2) vhodnost montovani /etc

Bod 1) uz byl dobre oddiskutovan. Bohuzel nesleduji, jak to vypada s
Linuxem (a presto pisi do konference o Linuxu :-)), ale jistou dobu
jsem mel prehled o resenich Sunu, a tak doplnim jen nekolik drobnosti.

protokol:
  NFS verze 2 je postaveno na UDP, proto se prilis nedoporucuje pro
WAN, ale prakticke zkusenosti s tim nemam. NFS verze 3 muze pouzivat
UDP i TCP, TCP je default. Je implementovano v Solarisu 2.5 a vyssim
(u Linuxu nevim - v RadHatu 4.1 ho nemam). S provozem pres WAN jsem u
verze 3 problemy nemel (slo o SWAN, ne Internet, ale to by melo byt
jedno).

autentikace:
  V zakladni konfiguraci se pouziva tzv. UNIX autentikace, tj. pres
UID uzivatele. To je samozrejme problem, protoze kdokoliv, kdo se muze
zalogovat jako root na pocitac, ktery ma na NFS serveru povoleno
montovani, si muze vytvorit uzivatele s danym UID, namontovat adresar,
pres su se "prepnout" na tohoto uzivatele, a pak si delat co se mu
zlibi. (Samozrejme neni nutne znat heslo roota - staci
napr. nabootovat z CD nebo z diskety, prinest si notebook s vlastnim
OS ...) No a jak tu bylo zmineno, i ty IP adresy NFS klientu se pry
daji podvrhnout.  Ale na druhou stranu v /etc jsou vetsinou soubory
patrici rootovi, a rootovsky pristup na NFS server se da spolehlive
zakazat (doufam :-) )

Sun to resi pres Secure NFS (postaveno na secure RPC), kde si muzete
vybrat mezi 56-bitovou DES autentikaci a Kerberos autentikaci. DES
autentikace je zalozena na metode verejneho klice, predpoklada se, ze
budete pouzivat jmennou sluzbu NIS nebo NIS+ pro distribuci klicu.
Pokud tomu spravne rozumim, tak zakladni problem je v tom, ze DES neni
volne siritelne za hranice USA, takze Sun nemohl dat k dispozici
zdrojove programy k secure RPC, a proto se to nerozsirilo. Mimoto v
soucasne dobe uz neni DES povazovano za bezpecne. Funguje to celkem
dobre, ale abych rekl pravdu, tak vim jen o jedne firme v CR, ktera
pouziva NIS+ (kde je DES autentikace pro jmenne sluzby jako default)
nevim o zadne, ktera by pouzivala Secure NFS :-). S pouzitim Kerberos
autentikace u Secure NFS jsem se v CR jeste nesetkal.

kryptovani:
  Secure NFS zajistuje jen autentikaci, nikoliv kryptovani. Chtel-li
clovek kryptovani NFS na Sunovske platforme musel na server i na
klienta nainstalovat Solstice Firewall, ktery kryptovani zajistoval,
nebo mezi ne dat SunScreeny. Ze to stalo hodne, a skoro nikdo to proto
nedelal, neni snad ani potreba zminovat.

DCE:
  DCE se mi jevilo jako velice rozumne reseni, ale u Sunu se k tomu
staveji velmi vlazne, protoze to je od konkurence, a i Microsoft vidi
sitovani po svem, takze zakazniku je malo, a z oficialnich vyjadreni
lidi od DECu jsem mel pocit, ze by se pry portace DCE na Linux ani
nevyplatila ... (i kdyz DCE dela Transarc)

Ad 2)
  Existuje mnoho duvodu, proc /etc pres NFS nemontovat, napr.:
- pokud to budete mit jako hard mount, a NFS server bude nepristupny,
pak vam procesy budou tuhnout (pri bootovani, logovani uzivatele, ...)
- pokud to bude soft mount, pak klient nezatuhne, ale me samotneho
by zajimalo, jak se system vyporada s mnozstvim read a write erroru :-)
- Nevim, jak ma linux vyreseno lockovani souboru. U Sunu to dela
lockd a statd, na Linuxu tyto procesy nemam. Mohlo by to vest k
problemum napr. pokud by si vice uzivatelu menilo heslo ve stejnou
chvili. 

Pokud chcete distribuovat informace z /etc, tak si zprovoznete NIS
(ktere jsou asi tak bezpecne jako NFS :-) ), nebo NIS+ (pry se na NIS+
pro Linux pracovalo, ale hotove to asi jeste neni), nebo presvedcte
Transarc, at vam naportuje DCE na Linux (levne) :-). Nektere veci se
daji distribuovat i pres rdist, ale to neni to prave.

Koukam, ze jsem se nejak rozepsal ... Ale zaver je myslim jasny:
neochota IT prumyslu na volbe rozumnych kryptovacich a autentikacnich
standardu: DES i RSA jsou znamy roky, privatnich reseni je take
spousta, ale ve svete Unixu se stale pouziva NFS s Unix autentikaci
...

-- 
S pozdravem, Alexandr Malusek (malusek na ujf.cas.cz)
ODZ UJF AV CR



Další informace o konferenci Linux