NFS izvoz zaključan na VPN adresu: što to ne dokazuje
Pravilo izvoza provjerava odakle je paket došao; AUTH_SYS tvrdi lokalni UID, a Kerberos autentificira korisnika. Odlučite što vaša datotečna usluga treba.
Host izvozi direktorij na VPN adresu, montiranje uspije i u nacrtu se zapiše da je pristup autentificiran. Ono što to pravilo doista ograničava jest odakle paketi izgledaju da dolaze. Ovisi li osoba koja vodi datotečnu operaciju stvarno je li ona koja tvrdi da jest, zavisi od NFS sigurnosnog okusa, a kod većine ovakvih izvoza nitko ga nije promijenio od zadanog.
Tri identiteta mogu se pojaviti u jednom zahtjevu
VPN partner nosi upisan identitet, poput klijentskog certifikata ili partnerskog ključa. Unutarnji IP paket nosi izvorišnu adresu. Datotečna operacija nosi sve korisničke vjerodajnice koje osigurava njezin NFS mehanizam. Nacrt koji adresu tretira kao zamjenu za sva tri tiho je pretpostavio upravo onaj dio koji je trebalo provjeriti.
| Identity | What it proves | What it does not |
|---|---|---|
| VPN peer | Which peer was accepted by the tunnel | Which user runs on that machine |
| Inner source address | Where the packet appears to originate | That only the intended client can use it |
| NFS credential | What the file service believes about the caller | Anything, if the flavour only asserts local IDs |
Zapisati ta tri retka cijela je vježba. Većina rasprave o tome je li izvoz siguran raspada se kad postane jasno u kojem retku živi koja kontrola.
Vlasništvo nad adresom pojedinost je provedbe
Prolaz može prihvaćenom partneru dodijeliti tunelsku adresu ili mu odobriti usmjerenu podmrežu. Hoće li provedba zatim odbiti paket čije unutarnje izvorište pripada drugom klijentu, svojstvo je te provedbe i vrijedi to provjeriti umjesto pretpostaviti.
Kod poslužitelja u korisničkom prostoru tradicionalnog Community OpenVPN može, primjerice, odbiti izvorište povezano s drugim klijentom prije nego što se paket preda kroz TUN uređaj. To je provjera vlasništva nad adresom stvarne vrijednosti i još uvijek nije autentifikacija NFS korisnika, jer ne govori ništa o tome koji račun obavlja operaciju.
Prevođenje izvorišta nagriza i to. NAT prolaz može svakog klijenta predstaviti jednom adresom i tada pravilo izvoza ne može razlikovati ljude iza nje. Prividna preciznost pravila tada postaje izmišljotina koju održava dijagram. Ako je izvoz važan, držite adresiranje izričitim umjesto da prevoditelj odlučuje koga se broji kao koga.
Pročitajte sigurnosni okus prije nego povjerujete izvozu
Red Hatove NFS smjernice razlikuju sec=sys, koji koristi lokalne UNIX UID-ove i GID-ove kroz AUTH_SYS, od Kerberos načina. krb5 dodaje autentifikaciju korisnika, krb5i dodaje zaštitu cjelovitosti, a krb5p dodaje zaštitu privatnosti prometa.
AUTH_SYS vjerodajnica sadrži polja poput UID-a pozivatelja i identifikatora grupa, a RFC 5531 izričito upozorava da taj okus sam po sebi ne pruža sigurnost i ovisi o vanjskoj zaštiti. Pokretanje unutar VPN-a pruža zaštitu prijenosa i ništa ne mijenja u tvrdnji unutar paketa.
exportfs -v
showmount -e nfs.example.internal
Pročitajte okus u tom izlazu prije popisa klijenata. Izvoz koji izgleda ograničen može biti ograničen samo adresom dok svaki pozivatelj još uvijek tvrdi koji god UID želi.
Odaberite model, pa zadržite dopuštenja
Odaberite model autentifikacije datotečne usluge primjeren klijentima kojima doista upravljate. Kerberos zahtijeva identitet i implementaciju usluge iza sebe, pa promjena jedne opcije montiranja nije migracija i jednostavno će propasti dok ne postoje Kerberos domena, principalovi i keytab datoteke.
Pod oba modela zadržite dopuštenja izvoza i autorizaciju datotečnog sustava koja ograničava što autentificirani principal smije raditi. Autentifikacija vam kaže tko pita; autorizacija odlučuje treba li odgovor biti da. Spajanje toga dvoga u jednu postavku način je na koji migracija završi dajući više nego što je davala stara konfiguracija.
Koristite pravilo adrese u njegovu stvarnu svrhu
Ograničavanje usluge na odobreni put i izvorišta ostaje vrijedno, uključujući politiku unosa na hostu kad VPN krajnja točka i NFS poslužitelj dijele stroj. Pravila koja prosljeđuju promet ne uređuju zahtjeve usmjerene na uslugu koja radi lokalno na istom hostu. Ta praznina objašnjava iznenađujuće mnogo izvoza koji su trebali biti privatni. Provjerite lokalnu politiku unosa izričito umjesto da pretpostavljate da je tunelska pravila pokrivaju.
Provjerite da drugi interfejs ili prolaz s prevođenjem izvorišta ne može neočekivano zadovoljiti pravilo i uzmite to kao razlog da utvrdite podrijetlo, a ne kao tvrdnju da krivotvorenje adrese jamči radno montiranje.
Provedite tri prihvatna slučaja umjesto jednoga. Počnite s odobrenim klijentom koji djeluje kao odobreni korisnik, zatim ponovite s partnerom koji nikada nije odobren, potom pokušajte nešto što odobreni korisnik još uvijek ne smije. Nakon toga pitajte što se mijenja ako ovlašteni klijent bude kompromitiran, jer autentifikacija prijenosa ne čini svaki proces na tom stroju pouzdanim. Ukradeni certifikat i znatiželjan lokalni račun različiti su problemi s različitim kontrolama.