Prie VPN adreso pririštas NFS eksportas: ko tai neįrodo
Eksporto taisyklė tikrina, iš kur atėjo paketas; AUTH_SYS nurodo vietinį UID, o Kerberos autentifikuoja naudotoją. Nuspręskite, ko reikia jūsų failų tarnybai.
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.
| 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 |
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.