Exportació NFS lligada a una adreça VPN: què no demostra
Una regla d'exportació comprova d'on ve el paquet; AUTH_SYS afirma un UID local i Kerberos autentica un usuari. Decideix quin necessita el teu servei de fitxers.
Un host exporta un directori a una adreça VPN, el muntatge funciona i el disseny es documenta com a autenticat. El que aquesta regla limita de debò és d'on sembla que vénen els paquets. Si la persona que porta l'operació de fitxers és qui diu ser depèn del perfil de seguretat NFS, i en la majoria d'exportacions d'aquest tipus ningú l'ha canviat del valor per defecte.
Tres identitats poden aparèixer en una sola petició
El parell VPN porta una identitat inscrita, com un certificat de client o una clau de parell. El paquet IP intern porta una adreça d'origen. L'operació de fitxers porta les credencials d'usuari que subministri el seu mecanisme NFS. Un disseny que tracta l'adreça com a substitut de les tres ha assumit en silenci la part que havia de verificar.
| 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 |
Escriure aquestes tres files és tot l'exercici. La major part de la discussió sobre si una exportació és segura s'enfonsa quan queda clar en quina fila viu cada control.
La propietat de l'adreça és un detall d'implementació
Una passarel·la pot assignar una adreça de túnel a un parell acceptat o autoritzar una subxarxa encaminada per a ell. Si després la implementació refusa un paquet l'origen intern del qual pertany a un altre client és una propietat d'aquesta implementació, i val la pena comprovar-ho en lloc de suposar-ho.
El codi de servidor en espai d'usuari del Community tradicional OpenVPN pot, per exemple, rebutjar un origen associat a un altre client abans que el paquet es lliuri pel dispositiu TUN. Això és una comprovació de propietat d'adreça amb valor real, i encara no és autenticació d'usuari NFS, perquè no diu res sobre quin compte fa l'operació.
La traducció d'origen erosiona fins i tot això. Una passarel·la NAT pot presentar cada client com una sola adreça, i en aquest punt una regla d'exportació no pot distingir les persones que hi ha al darrere. La precisió aparent de la regla es converteix llavors en una ficció que manté el diagrama. Si l'exportació importa, manteniu l'adreçament explícit en lloc de deixar que un traductor decideixi qui compta com a qui.
Llegeix el perfil de seguretat abans de confiar en l'exportació
La guia NFS de Red Hat separa sec=sys, que fa servir UID i GID UNIX locals mitjançant AUTH_SYS, dels modes Kerberos. krb5 afegeix autenticació d'usuari, krb5i afegeix protecció d'integritat i krb5p afegeix protecció de privacitat per al trànsit.
La credencial AUTH_SYS conté camps com l'UID del sol·licitant i els identificadors de grup, i l'RFC 5531 adverteix clarament que aquest perfil no proporciona seguretat per si mateix i depèn de protecció externa. Executar-lo dins d'una VPN forneix protecció per al transport i no canvia res de l'afirmació dins del paquet.
exportfs -v
showmount -e nfs.example.internal
Llegeix el perfil d'aquella sortida abans de llegir la llista de clients. Una exportació que sembla restringida pot estar restringida només per adreça mentre cada sol·licitant encara afirma l'UID que vol.
Tria el model i després conserva els permisos
Tria el model d'autenticació del servei de fitxers adequat per als clients que realment administreu. Kerberos requereix una identitat i un desplegament de servei al darrere, així que canviar una opció de muntatge no és una migració i simplement fallarà fins que existeixin el domini Kerberos, els principals i els keytabs.
Sota qualsevol dels dos models, conserva els permisos d'exportació i l'autorització del sistema de fitxers que limiten què pot fer el principal autenticat. L'autenticació et diu qui pregunta; l'autorització decideix si la resposta ha de ser sí. Col·lapsar les dues en un sol paràmetre és com una migració acaba atorgant més del que atorgava la configuració antiga.
Utilitza la regla d'adreça per a la seva finalitat real
Restringir el servei al camí i a les fonts aprovades continua valent la pena, inclosa la política d'entrada de l'host quan el punt final de la VPN i el servidor NFS comparteixen màquina. Les regles que reenvien trànsit no governen les peticions dirigides a un servei que s'executa localment al mateix host. Aquest buit explica un nombre sorprenent d'exportacions que havien de ser privades. Comprova explícitament la política d'entrada local en lloc de suposar que les regles del túnel la cobreixen.
Comprova que una altra interfície o una passarel·la amb traducció d'origen no pugui satisfer la regla inesperadament, i tracta-ho com un motiu per establir la procedència i no com l'afirmació que falsificar una adreça garanteix un muntatge funcional.
Executa tres casos d'acceptació en lloc d'un. Comença amb un client aprovat que actua com a usuari aprovat, després repeteix des d'un parell que mai va ser aprovat i tot seguit intenta una cosa que l'usuari aprovat encara no pot fer. Pregunta després què canvia si es compromet un client autoritzat, perquè l'autenticació de transport no fa fiable cada procés d'aquella màquina. Un certificat robat i un compte local curiós són problemes diferents amb controls diferents.