Para compartilhamento Samba protegido por senha na rede doméstica, ntlm vs ntlmv2 vs krb5 (kerberos)?

0

Eu tenho uma rede doméstica com wi-fi que é protegida por senha. Na minha rede doméstica, tenho um servidor de arquivos com um compartilhamento Samba protegido por senha. O compartilhamento em si é protegido porque minha rede tem várias máquinas com vários usuários e quero ter certeza de que só posso acessar esse compartilhamento de qualquer máquina que eu esteja usando no momento (desculpe por declarar o óbvio, mas quero evitar respostas) de: "Você está em uma rede doméstica e seu wifi já está protegido por pw, então por que você precisa de proteção pw para o próprio compartilhamento?" etc.).

Atualmente, é assim que eu monto meus compartilhamentos do Samba (observe que a parte que é relevante para minha pergunta é sec=ntlm ):

mount -t cifs //myserver/myshare /media/myshare -o uid=myunixuser,gid=myunixgroup,credentials=/home/myunixuser/.smbcredentials,iocharset=utf8,sec=ntlm,file_mode=0600,dir_mode=0700

Até agora, tudo bem; no entanto, li vários artigos sobre tipos de segurança e por que o NTLM não é recomendado, yada yada (ver artigo "O tempo do NTLM passou "). Eu pesquisei "ntlm vs ntlmv2 vs kerberos" e tentei aprender mais lendo o artigo da Wikipedia sobre NTLM e < href="http://manpages.ubuntu.com/manpages/raring/en/man8/mount.cifs.8.html"> Página de manual do Ubuntu sobre este tópico , mas não está se registrando para mim.

Eu sinto que a maior parte da documentação é destinada a administradores de rede, e eu sou mais um guerreiro de fim de semana. Em geral, percebo que o NTLMv2 é o preferido para o NTLM, mesmo com o Kerberos, mas isso não significa que eu deva escolher automaticamente a v2 ou o Kerberos, porque nem todos os clientes os suportam. Sooo, o que diabos? Alguém pode ser burro para mim? Mesmo se eu ficar com o NTLM, eu só quero entender o que é o negócio com essas diferentes opções de segurança. Por favor, deixe-me saber se estou pensando muito sobre isso. Obrigado.

    
por Scott 08.02.2014 / 14:40

1 resposta

1

Os clientes Windows suportam todos os três, assim como os kernels recentes do Linux. Eu não sei de nenhum cliente moderno que não suporte NTLMv2, embora o Kerberos seja um pouco menos comum.

A principal diferença entre o NTLM e o Kerberos é:

  • O NTLM é um mecanismo de resposta a desafios que funciona apenas com senhas. Assim, ele pode ser usado entre dois hosts, desde que o cliente saiba a senha que o servidor deseja.

  • O Kerberos é baseado em tickets; o cliente obtém um ticket de login de um KDC central e o apresenta ao servidor. Isso precisa que uma região do Kerberos seja configurada - no caso do CIFS, geralmente é um domínio do Active Directory - e o KDC da região é hospedado em algum lugar.

    (o Mac OS X - que costumava preferir o protocolo AFP sobre CIFS - na verdade consegue usar o Kerberos entre dois peers, usando nomes de região autogerados, mas nem o Windows nem o Linux suportam o mesmo.)

No entanto:

  • A segurança da versão 1 do NTLM é muito parecida com a de apenas enviar a senha em modo normal. O NTLMv2 melhora isso um pouco , embora eu não tenha certeza de quanto.

  • Enquanto isso, o Kerberos 5 é considerado muito seguro e é usado pelo Active Directory, FreeIPA e vários outros softwares de serviço de diretório Unix.

Infelizmente, o Kerberos leva algum tempo para ser configurado, e os clientes do Windows só suportam corretamente (ou seja, sem passar 3 dias) quando o cliente e o servidor pertencem a um domínio do AD.

Soo você terá que escolher o NTLMv2 por enquanto. É o que as máquinas Windows independentes usam por padrão, de qualquer maneira. (O padrão nos kernels modernos do Linux é sec=ntlmssp ; não tenho certeza de como ele difere de ntlmv2 , embora eu saiba que as diferenças não têm nenhum impacto de segurança.)

    
por 13.02.2014 / 03:38