Sistema de arquivos em rede com segurança no nível do usuário para linux

8

Quero habilitar o compartilhamento de arquivos entre servidores e clientes, ambos linux. Não quero confiar na confiança da máquina, como no NFSv4, porque os usuários clientes terão privilégios de root. Quais são minhas opções além do SMB (SAMBA)? O OpenAFS suporta autenticação e acesso no nível do usuário? O uso de WebDAV / ftp / sshfs montado parece bobagem para a LAN.

Konrads
fonte
Você quer dizer que eles têm acesso root aos servidores ou apenas às próprias máquinas clientes?
wag2639

Respostas:

14

Não sei se entendi completamente:

"Não quero confiar na confiança da máquina, como no NFSv4, porque os usuários clientes terão privilégios de root".

Se você quer dizer que os usuários do cliente terão privilégios de root no cliente e você não deseja que eles tenham root no host, simplesmente não usa a opção "no_root_squash". Você também pode fazer coisas como desativar o setuid para ajudar a reduzir o risco para o cliente a partir do servidor.

Você também tem a opção de usar o kerberos com o NFSv4, consulte este link .

Portanto, em outras palavras, o NFSv4 pode fornecer a segurança de que você precisa enquanto é um pouco mais ... (escalável?) .. o uso de sshfs em todos os lugares. Ainda pode não ser o que você quer, mas eu não desistiria disso tão cedo.

Kyle Brandt
fonte
Por exemplo, eu tenho dois projetos / joeisworking e / mattisworking. Mesmo que eu faça squash root, o mate da sua estação de trabalho pode acessar o joe's.
precisa
2
@ Konrads: Não se você usar o Kerberos, como o Sr. Brandt mencionou. Mesmo que mate tenha raiz em sua própria estação de trabalho, ele não poderá obter o TGT de Joe.
janneb 16/06/10
Acho que o Konrads não tem certeza de como configurar o NFS, ou teve uma rede mal configurada anteriormente. O NFS pode ser muito seguro e pode realizar exatamente o que está descrito na pergunta. Eu argumentaria que o NFSv4 é um dos (se não o mais) sistema de arquivos de rede seguro (quando configurado corretamente).
Chris S
3

Com o Kerberos, apenas o servidor kdc concede tokens de autenticação. Uma máquina cliente, por si só, pode se autenticar como um host (e isso se você der o keytab a um nfs / client-hostname @ REALM principal correspondente) e isso só lhe dá o direito de conversar com o servidor nfs. São os usuários que podem se autenticar, e o servidor nfs apenas os autoriza a acessar seus próprios arquivos. Com sec = krb5p, o servidor também evita bisbilhoteiros e alterações.

Ser root não dará aos usuários privilégios inadequados. A única maneira de obter acesso a mais arquivos é invadir as máquinas uns dos outros, invadir o servidor nfs ou o kdc. O NFSv4 com Kerberos se ajusta bem aos seus requisitos de segurança.

Aqui está mais sobre o modelo de segurança:

Se você está procurando uma implantação, aqui estão alguns tutoriais centrados no debian / ubuntu. Eu escolhi configurações simples sem LDAP. Essas distribuições têm uma configuração baseada em debconf que leva você até lá.

Minhas adições: você não precisa especificar um tipo de código des-cbc-crc, mas precisa permitir_weak_crypto no krb5.conf para que o protocolo de comunicação possa usar des-cbc-crc para criptografia de fluxo. Isso se tornará desnecessário no 2.6.35 kernels.

Se você está procurando algo parecido com um aparelho, existe o FreeIPA .

Tobu
fonte
Isso é interessante, até agora eu entendi que há apenas autenticação servidor a servidor no NFSv4 e, em seguida, o sistema que monta o volume exportado é responsável por classificar as permissões (squash_root_fs é a exceção). Você pode fornecer alguns links para documentos?
precisa
2

sshfs é o caminho a percorrer. No cliente:

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

Permissões iguais ao ssh ... porque você está usando o ssh! O legal é que você não precisa tocar em nada no servidor, assumindo que o sshd esteja instalado e funcionando corretamente. Pode não ter o desempenho como as outras sugestões, mas é muito simples.

SuperJames
fonte
0

o samba realmente soa como a sua melhor aposta. O samba possui extensões unix, portanto, quando montado usando CIFs no Linux, ele deve mostrar permissões unix apropriadas e outros enfeites. Eu acho que essa será a melhor opção para suas restrições. se isso não der certo, o sshfs pode ser usado rapidamente, mas não terá um bom desempenho ou integração no sistema operacional como o samba.

mtinberg
fonte
0

O OpenAFS suporta autenticação e acesso no nível do usuário?

Sim, parece que o OpenAFS atenderia aos seus requisitos aqui, mas o NFSv4 Kerberizado também. Nos dois ambientes, você não precisa "confiar" nos clientes; o controle de acesso é imposto pelos servidores. As versões anteriores do NFS exigiam que você "confiasse" efetivamente os clientes, mas o NFSv4 Kerberizado não. O OpenAFS nunca exigiu clientes "confiáveis" e também conta com o Kerberos para autenticação e segurança.

adeason
fonte