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

8

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

    
por Konrads 13.05.2010 / 10:44

5 respostas

14

Não sei se entendi completamente:

"I don't want to rely on machine trust like in NFSv4 because client users will have root privileges."

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

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

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

    
por 13.05.2010 / 13:58
3

Com o Kerberos, somente o servidor kdc concede tokens de autenticação. Uma máquina cliente, por si só, só pode autenticar como um host (e isto é, se você atribuir a chave a uma correspondência de nfs / client-hostname @ REALM principal), e isso apenas lhe dá o direito de falar com o servidor nfs. São os usuários que têm a capacidade de autenticar e o servidor nfs apenas os autoriza a acessar seus próprios arquivos. Com sec = krb5p, o servidor também previne bisbilhotas e alterações.

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

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

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

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

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

    
por 16.06.2010 / 21:51
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 a ssh ... porque você está usando ssh! O bom é que você não precisa tocar em nada no servidor, supondo que o sshd esteja instalado e funcionando corretamente. Pode não ter o desempenho como as outras sugestões, mas é muito simples.

    
por 16.06.2010 / 22:44
0

O samba realmente soa como sua melhor aposta. O samba tem extensões unix, portanto, quando montado usando cifs no linux, ele deve mostrar as permissões apropriadas do unix e outros enfeites. Eu acho que essa será a melhor opção para suas restrições. Se isso não funcionar, o sshfs poderia ser usado em um piscar de olhos, mas não terá um bom desempenho ou integração no SO como o samba.

    
por 16.06.2010 / 20:00
0

Does OpenAFS support user level authentication & access?

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

    
por 11.05.2014 / 00:31