NFS export zamknutý na adresu VPN: čo to nepreukazuje
Pravidlo exportu kontroluje, odkiaľ paket prišiel; AUTH_SYS deklaruje lokálny UID a Kerberos overuje používateľa. Rozhodnite, čo vaša súborová služba potrebuje.
Hostiteľ exportuje adresár na adresu VPN, pripojenie uspeje a v návrhu sa zapíše, že prístup je overený. To, čo toto pravidlo naozaj obmedzuje, je odkiaľ pakety vyzerajú, že prichádzajú. Či je človek, ktorý súborovú operáciu riadi, skutočne ten, za koho sa vydáva, závisí od bezpečnostného profilu NFS, a pri väčšine takýchto exportov ho nikto nezmenil z predvolenej hodnoty.
V jednej požiadavke sa môžu objaviť tri identity
Partner VPN nesie zapísanú identitu, napríklad klientsky certifikát alebo partnerský kľúč. Vnútorný IP paket nesie zdrojovú adresu. Súborová operácia nesie tie používateľské údaje, ktoré dodá jej mechanizmus NFS. Návrh, ktorý adresu považuje za zástupcu všetkých troch, ticho predpokladá práve tú časť, ktorú bolo treba overiť.
| 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 |
Zapísať tie tri riadky je celé cvičenie. Väčšina sporu o tom, či je export bezpečný, sa zrúti, keď je jasné, v ktorom riadku žije ktorá kontrola.
Vlastníctvo adresy je detail implementácie
Brána môže priradenému partnerovi prideliť tunelovú adresu alebo pre neho autorizovať smerovanú podsieť. Či potom implementácia odmietne paket, ktorého vnútorný zdroj patrí inému klientovi, je vlastnosť tej implementácie, a oplatí sa to overiť namiesto predpokladu.
Kód servera v používateľskom priestore tradičného Community OpenVPN môže napríklad odmietnuť zdroj spojený s iným klientom skôr, než je paket doručený cez zariadenie TUN. Je to kontrola vlastníctva adresy so skutočnou hodnotou a stále to nie je overenie používateľa NFS, pretože nič nehovorí o tom, ktorý účet operáciu vykonáva.
Preklad zdroja podkopáva aj to. Brána NAT môže každého klienta predstaviť ako jednu adresu, a potom pravidlo exportu nedokáže rozlíšiť ľudí za ňou. Zdanlivá presnosť pravidla sa potom stane fikciou udržiavanou diagramom. Ak na exporte záleží, držte adresovanie explicitné, namiesto toho, aby prekladateľ rozhodoval, kto sa počíta ako kto.
Prečítajte si bezpečnostný profil, kým exportu uveríte
Sprievodca Red Hat k NFS oddeľuje sec=sys, ktorý používa lokálne UNIX UID a GID cez AUTH_SYS, od režimov Kerberos. krb5 pridáva overenie používateľa, krb5i pridáva ochranu integrity a krb5p pridáva ochranu súkromia pre prevádzku.
Údaje AUTH_SYS obsahujú polia ako UID volajúceho a identifikátory skupín, a RFC 5531 jasne varuje, že tento profil sám o sebe neposkytuje bezpečnosť a závisí od externej ochrany. Jeho spúšťanie v rámci VPN poskytuje ochranu prenosu a nič nemení na tvrdení vnútri paketu.
exportfs -v
showmount -e nfs.example.internal
Prečítajte si profil v tomto výstupe skôr, než prečítate zoznam klientov. Export, ktorý vyzerá obmedzený, môže byť obmedzený iba adresou, kým každý volajúci stále deklaruje akýkoľvek UID.
Vyberte model a potom si ponechajte oprávnenia
Vyberte model overovania súborovej služby, ktorý zodpovedá klientom, ktorých skutočne spravujete. Kerberos vyžaduje identitu a nasadenie služby za sebou, takže zmena jednej možnosti pripojenia nie je migrácia a jednoducho zlyhá, kým neexistujú doména Kerberos, princípy a súbory keytab.
V oboch modeloch si ponechajte oprávnenia exportu a autorizáciu súborového systému, ktoré obmedzujú, čo overený princíp smie robiť. Overenie vám povie, kto sa pýta; autorizácia rozhoduje, či má byť odpoveď áno. Zlúčenie oboch do jedného nastavenia je spôsob, akým migrácia napokon udelí viac, než dávala stará konfigurácia.
Použite pravidlo adresy na jeho skutočný účel
Obmedzenie služby na schválenú cestu a zdroje má stále zmysel, vrátane vstupnej politiky hostiteľa, keď koncový bod VPN a server NFS zdieľajú stroj. Pravidlá, ktoré preposielajú prevádzku, neriadia požiadavky smerujúce na službu bežiacu lokálne na tom istom hostiteľovi. Táto medzera vysvetľuje prekvapivo veľa exportov, ktoré mali byť súkromné. Skontrolujte miestnu vstupnú politiku výslovne, namiesto toho, aby ste predpokladali, že ju pravidlá tunela pokrývajú.
Overte, že iné rozhranie alebo brána s prekladom zdroja nemôže pravidlo nečakane splniť, a berte to ako dôvod zistiť pôvod, nie ako tvrdenie, že falšovanie adresy zaručí funkčné pripojenie.
Vykonajte tri akceptačné prípady namiesto jedného. Začnite schváleným klientom vystupujúcim ako schválený používateľ, potom to zopakujte z partnera, ktorý nikdy nebol schválený, a potom skúste niečo, čo schválený používateľ stále nesmie. Potom sa spýtajte, čo sa zmení, ak je autorizovaný klient kompromitovaný, pretože overenie prenosu nerobí každý proces na tom stroji dôveryhodným. Ukradnutý certifikát a zvedavý miestny účet sú rôzne problémy s rôznymi kontrolami.