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.

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

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.

Articles relacionats