File system in rete con sicurezza a livello di utente per linux


8

Voglio abilitare la condivisione di file tra server e client, entrambi Linux. Non voglio fare affidamento sulla fiducia della macchina come in NFSv4 perché gli utenti client avranno i privilegi di root. Quali sono le mie opzioni oltre a SMB (SAMBA)? OpenAFS supporta l'autenticazione e l'accesso a livello di utente? L'uso di WebDAV / ftp / sshfs montato sembra sciocco per LAN.


Vuoi dire che hanno accesso root ai server o solo ai loro computer client?
wag2639,

Risposte:


14

Non sono sicuro di comprendere appieno:

"Non voglio fare affidamento sulla fiducia delle macchine come in NFSv4 perché gli utenti client avranno i privilegi di root".

Se intendi che gli utenti client avranno i privilegi di root sul client e non vuoi che abbiano root sull'host, allora non usi l'opzione "no_root_squash". Puoi anche fare cose come disabilitare setuid per aiutare a ridurre il rischio per il client anche dal server.

Hai anche la possibilità di usare Kerberos con NFSv4, vedi questo link .

Quindi, in altre parole, NFSv4 potrebbe darti la sicurezza di cui hai bisogno pur essendo un po 'più ... (scalabile?) .. l'uso di sshfs ovunque. Potrebbe ancora non essere quello che vuoi, ma non mi arrenderei troppo presto.


Ad esempio, ho due progetti / joeisworking e / mattisworking. Anche se faccio squash root, Matt dalla sua workstation può accedere a Joe.
Konrads,

2
@Konrads: Non se usi kerberos, come menzionato Mr. Brandt. Anche se matt ha root sulla propria workstation, non può ottenere il TGT di Joe.
janneb,

Sto pensando che Konrads non sia sicuro di come configurare NFS o abbia già sperimentato una rete mal configurata in precedenza. NFS può essere molto sicuro e può realizzare esattamente ciò che è descritto nella domanda. Direi che NFSv4 è uno (se non il più) file system di rete sicuro (se configurato correttamente).
Chris S,

3

Con Kerberos, solo il server kdc concede token di autenticazione. Un computer client da solo può autenticarsi solo come host (e questo se gli dai il keytab a un nfs / client-hostname @ REALM principal corrispondente), e questo gli dà solo il diritto di parlare con il server nfs. Sono gli utenti che hanno la possibilità di autenticarsi e il server nfs li autorizza solo ad accedere ai propri file. Con sec = krb5p il server impedisce anche snooping e alterazioni.

Essere root non darà ai tuoi utenti privilegi inappropriati. L'unico modo in cui avrebbero accesso a più file è hackerando le macchine a vicenda, hackerando il server nfs o kdc. NFSv4 con Kerberos si adatta bene ai tuoi requisiti di sicurezza.

Ecco di più sul modello di sicurezza:

Se stai osservando una distribuzione, ecco alcuni tutorial centrati su debian / ubuntu. Ho scelto semplici configurazioni senza LDAP. Queste distribuzioni hanno una configurazione basata su debconf che ti porta in qualche modo lì.

Le mie aggiunte: non è necessario specificare un enctype des-cbc-crc, ma è necessario consentire_weak_crypto in krb5.conf in modo che il protocollo di comunicazione possa utilizzare des-cbc-crc per la crittografia del flusso. Ciò non sarà necessario nei kernel 2.6.35.

Se stai guardando qualcosa di simile ad un dispositivo, c'è FreeIPA .


Questo è interessante, finora ho capito che esiste solo l'autenticazione da server a server in NFSv4 e quindi il sistema che monta il volume esportato è responsabile per l'ordinamento delle autorizzazioni (squash_root_fs è l'eccezione). Puoi fornire alcuni link ai documenti?
Konrads,

2

sshfs è la strada da percorrere. Sul cliente:

sshfs -o idmap=user,workaround=rename user@server:/home/user/share /home/user/share

Autorizzazioni uguali a ssh ... perché stai usando ssh! La cosa bella è che non devi toccare nulla sul server, supponendo che sshd sia installato e che funzioni correttamente. Potrebbe non avere le prestazioni come gli altri suggerimenti, ma è molto semplice.


0

samba suona davvero come la tua scommessa migliore. samba ha estensioni unix quindi quando montato usando come cifs su linux dovrebbe mostrare le autorizzazioni unix appropriate e quant'altro. Penso che sarà l'opzione migliore per i tuoi vincoli. se ciò non funziona sshfs potrebbe essere usato in un pizzico ma non avrà le stesse prestazioni o integrazione nel sistema operativo come samba.


0

OpenAFS supporta l'autenticazione e l'accesso a livello di utente?

Sì, sembra che OpenAFS soddisferebbe le tue esigenze qui, ma lo stesso farebbe Kerberized NFSv4. In entrambi questi ambienti, non è necessario "fidarsi" dei client; il controllo dell'accesso è applicato dai server. Le versioni precedenti di NFS richiedevano di "fidarsi" dei client in modo efficace, ma NFSv4 Kerberized no. OpenAFS non ha mai richiesto client "fidati" e si affida anche a Kerberos per l'autenticazione e la sicurezza.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.