Mazgas eksportuoja katalogą į VPN adresą, prijungimas pavyksta, ir projektas užrašomas kaip autentifikuotas. Tai, ką ši taisyklė iš tikrųjų riboja, yra tai, iš kur paketai atrodo ateinantys. Ar failų operaciją vykdantis asmuo yra tas, kuo jis teigia esąs, priklauso nuo NFS saugumo profilio, ir daugumoje tokių eksportų niekas jo nepakeitė nuo numatytojo.

Vienoje užklausoje gali pasirodyti trys tapatybės

VPN partneris turi registruotą tapatybę, pavyzdžiui, kliento sertifikatą arba partnerio raktą. Vidinis IP paketas turi šaltinio adresą. Failų operacija turi tuos naudotojo kredencialus, kuriuos pateikia jos NFS mechanizmas. Projektas, kuris adresą laiko visų trijų pakaitalu, tyliai numatė būtent tą dalį, kurią reikėjo patikrinti.

IdentityWhat it provesWhat it does not
VPN peerWhich peer was accepted by the tunnelWhich user runs on that machine
Inner source addressWhere the packet appears to originateThat only the intended client can use it
NFS credentialWhat the file service believes about the callerAnything, if the flavour only asserts local IDs

Tų trijų eilučių užrašymas ir yra visas pratimas. Didžioji dalis ginčo, ar eksportas saugus, sugriūva, kai paaiškėja, kurioje eilutėje gyvena kuri kontrolė.

Adreso nuosavybė yra įgyvendinimo detalė

Tinklo vartai gali priskirti tunelio adresą priimtam partneriui arba jam leisti maršrutizuotą potinklį. Ar įgyvendinimas tada atmeta paketą, kurio vidinis šaltinis priklauso kitam klientui, yra to įgyvendinimo savybė, ir verta tai patikrinti, o ne numanyti.

Tradicinio Community OpenVPN naudotojo erdvės serverio kodas, pavyzdžiui, gali atmesti su kitu klientu susietą šaltinį prieš perduodant paketą per TUN įrenginį. Tai yra tikros vertės adreso nuosavybės patikra, ir ji vis dar nėra NFS naudotojo autentifikavimas, nes nieko nesako apie tai, kuri paskyra atlieka operaciją.

Šaltinio vertimas išardo net tai. NAT vartai gali kiekvieną klientą pateikti kaip vieną adresą, ir tada eksporto taisyklė negali atskirti už jo esančių žmonių. Tada tariamas taisyklės tikslumas tampa diagramos palaikoma fikcija. Jei eksportas svarbus, laikykite adresavimą aiškų, o ne leiskite vertėjui nuspręsti, kas kuo laikomas.

Perskaitykite saugumo profilį prieš pasitikėdami eksportu

Red Hat NFS gairės atskiria sec=sys, kuris naudoja vietinius UNIX UID ir GID per AUTH_SYS, nuo Kerberos režimų. krb5 prideda naudotojo autentifikavimą, krb5i prideda vientisumo apsaugą, o krb5p prideda srauto privatumo apsaugą.

AUTH_SYS kredencialuose yra tokie laukai kaip kviečiančiojo UID ir grupių identifikatoriai, ir RFC 5531 aiškiai įspėja, kad šis profilis pats savaime nesuteikia saugumo ir priklauso nuo išorinės apsaugos. Jo vykdymas VPN viduje suteikia transporto apsaugą ir nieko nekeičia teiginyje paketo viduje.

exportfs -v
showmount -e nfs.example.internal

Perskaitykite profilį toje išvestyje prieš skaitydami klientų sąrašą. Eksportas, kuris atrodo apribotas, gali būti apribotas tik adresu, o kiekvienas kvietėjas vis dar nurodo bet kurį norimą UID.

Pasirinkite modelį, tada išsaugokite teises

Pasirinkite failų tarnybos autentifikavimo modelį, tinkantį klientams, kuriuos iš tikrųjų administruojate. Kerberos reikalauja tapatybės ir tarnybos diegimo už jo, todėl vieno prijungimo parametro pakeitimas nėra migracija ir tiesiog nepavyks, kol nebus Kerberos domeno, pagrindinių objektų ir keytab failų.

Abiem atvejais išsaugokite eksporto teises ir failų sistemos autorizaciją, kurios riboja, ką gali daryti autentifikuotas pagrindinis objektas. Autentifikavimas pasako, kas klausia; autorizacija nusprendžia, ar atsakymas turi būti „taip“. Šių dviejų suliejimas į vieną nustatymą yra būdas, kuriuo migracija galiausiai suteikia daugiau nei suteikė sena konfigūracija.

Naudokite adreso taisyklę pagal jos tikrąją paskirtį

Tarnybos ribojimas patvirtintu keliu ir šaltiniais vis dar vertingas, įskaitant mazgo įvesties politiką, kai VPN galinis taškas ir NFS serveris dalijasi mašina. Taisyklės, kurios perduoda srautą, nevaldo užklausų, nukreiptų į tarnybą, kuri veikia lokaliai tame pačiame mazge. Ši spraga paaiškina stebėtinai daug eksportų, kurie turėjo būti privatūs. Patikrinkite vietinę įvesties politiką aiškiai, o ne manykite, kad tunelio taisyklės ją apima.

Patikrinkite, ar kita sąsaja arba šaltinį verčiantys vartai negali netikėtai tenkinti taisyklės, ir laikykite tai priežastimi nustatyti kilmę, o ne teiginiu, kad adreso klastojimas garantuoja veikiantį prijungimą.

Atlikite tris priėmimo atvejus, o ne vieną. Pradėkite nuo patvirtinto kliento, veikiančio kaip patvirtintas naudotojas, tada pakartokite iš partnerio, kuris niekada nebuvo patvirtintas, tada pabandykite tai, ko patvirtintas naudotojas dar negali daryti. Po to paklauskite, kas pasikeičia, jei įgaliotas klientas būna pažeistas, nes transporto autentifikavimas nepadaro kiekvieno tos mašinos proceso patikimu. Pavogtas sertifikatas ir smalsi vietinė paskyra yra skirtingos problemos su skirtingomis kontrolėmis.

Susiję straipsniai