Criptografando o tráfego SMB com o Samba

9

Nós usamos o Samba no Ubuntu 14.04 LTS como um PDC (controlador de domínio primário) com perfis de roaming. Tudo funciona bem, exceto se tentarmos impor a criptografia através da configuração:

    server signing = mandatory
    smb encrypt = mandatory

na seção [global] do /etc/samba/smb.conf. Depois de fazer isso, ganhe 8,0 e ganhe 8,1 clientes (não tentei nenhum outro) reclamar: Die Vertrauensstellung zwischen dieser Arbeitsstation und der primären Domäne konnte nicht hergestellt werden. tradução em inglês deste texto: The trust relationship between this workstation and the primary domain could not be established.

Se adicionarmos as duas opções server signing e smb encrypt apenas à seção [profiles] do smb.conf, então tcpdump mostra que o tráfego real não está criptografado!

O smb.conf completo:

[global]
    workgroup = DOMAIN
    server string = %h PDC
    netbios name = HOSTNAME
    wins support = true
    dns proxy = no
    allow dns updates = False
    dns forwarder = IP

    deadtime = 15

    log level = 2
    log file = /var/log/samba/log.%m
    max log size = 5000
    debug pid = yes
    debug uid = yes
    syslog = yes
    utmp = yes

    security = user
    domain logons = yes
    domain master = yes
    os level = 64
    logon path = \%N\profiles\%U
    logon home = \%N\%U
    logon drive = H:
    logon script =

    passdb backend = ldapsam:ldap://localhost
    ldap ssl = start tls
    ldap admin dn = cn=admin,dc=DOMAIN,dc=de
    ldap delete dn = no

    encrypt passwords = yes
    server signing = mandatory
    smb encrypt = mandatory

    ## Sync UNIX password with Samba password
    ldap password sync = yes

    ldap suffix = dc=intra,dc=DOMAIN,dc=de
    ldap user suffix = ou=People
    ldap group suffix = ou=Groups
    ldap machine suffix = ou=Computers
    ldap idmap suffix = ou=Idmap

    add user script = /usr/sbin/smbldap-useradd -m '%u' -t 1
    rename user script = /usr/sbin/smbldap-usermod -r '%unew' '%uold'
    delete user script = /usr/sbin/smbldap-userdel '%u'
    set primary group script = /usr/sbin/smbldap-usermod -g '%g' '%u'
    add group script = /usr/sbin/smbldap-groupadd -p '%g'
    delete group script = /usr/sbin/smbldap-groupdel '%g'
    add user to group script = /usr/sbin/smbldap-groupmod -m '%u' '%g'
    delete user from group script = /usr/sbin/smbldap-groupmod -x '%u' '%g'
    add machine script = /usr/sbin/smbldap-useradd -W '%m' -t 1

[homes]
    comment = Home Directories
    valid users = %S
    read only = No
    browseable = No

[netlogon]
    comment = Network Logon Service
    path = /var/lib/samba/netlogon
    admin users = root
    guest ok = Yes
    browseable = No

[profiles]
    comment = Roaming Profile Share
    path = /var/lib/samba/profiles
    read only = No
    profile acls = Yes
    browsable = No
    valid users = %U
    create mode = 0600
    directory mode = 0700

Alguma ajuda?

    
por Kai Petzke 07.01.2015 / 19:13

2 respostas

10

A página de manual do smb.conf precisa ser atualizada! Ele se refere ao antigo mecanismo de criptografia específico do Samba que se aplica somente ao SMB1 e é feito por meio de extensões unix. Isso pode ser usado por smbclient .

Atualmente, as opções " smb encrypt " também controlam a criptografia no nível SMB que faz parte do SMB versão 3.0 e mais recente. Clientes do Windows 8 (e mais recentes) deve criptografar o tráfego com essas configurações.

Você tentou usar as mesmas configurações ( smb encrypt = mandatory na seção [global] ) em um membro do domínio Samba ou em um servidor autônomo?

Certifique-se de definir smb encrypt = auto na seção [global] (não a seção [profiles] ). Em seguida, a disponibilidade geral de criptografia ainda é anunciada.


É bem possível que isso seja um bug no Samba. Então, isso provavelmente deve ser discutido na lista de discussão samba-technial do samba ou bugzilla do samba . Se você estiver usando a versão do Ubuntu do Samba, talvez também queira verificar a página do pacote . Eu suspeito que essa seja uma questão genuína do Samba.

    
por 22.04.2015 / 16:46
4

Este é um novo recurso introduzido com o Samba 3.2 e acima. É uma extensão do protocolo SMB / CIFS negociado como parte das extensões UNIX. A criptografia SMB usa a capacidade GSSAPI (SSPI no Windows) para criptografar e assinar cada solicitação / resposta em um fluxo do protocolo SMB. Quando ativado, ele fornece um método seguro de comunicação SMB / CIFS, semelhante a uma sessão protegida por ssh, mas usando a autenticação SMB / CIFS para negociar chaves de criptografia e assinatura. Atualmente, isso é suportado apenas pelo smbclient do Samba 3.2, e esperamos que em breve os clientes Linux CIFSFS e MacOS / X. Windows clients do not support this feature.

Isso controla se o cliente remoto é permitido ou necessário para usar a criptografia SMB. Os valores possíveis são automáticos, obrigatórios e desativados. Isso pode ser definido em uma base por compartilhamento, mas os clientes podem optar por criptografar toda a sessão, não apenas o tráfego para um compartilhamento específico. Se isso for definido como obrigatório, todo o tráfego para um compartilhamento deverá ser criptografado depois que a conexão tiver sido feita no compartilhamento. O servidor retornaria "acesso negado" a todas as solicitações não criptografadas em tal compartilhamento. A seleção de tráfego criptografado reduz a taxa de transferência, pois tamanhos menores de pacote devem ser usados (não é permitido nenhum tipo de leitura / gravação grande no estilo UNIX), bem como a sobrecarga de criptografar e assinar todos os dados.

Se a criptografia SMB estiver selecionada, a assinatura SMB do estilo do Windows (consulte a opção de assinatura do servidor) não será mais necessária, pois os sinalizadores GSSAPI usam a seleção e assinatura dos dados.

Quando definido como automático, a criptografia SMB é oferecida, mas não é aplicada. Quando definida como obrigatória, a criptografia SMB é necessária e, se definida como desativada, a criptografia SMB não pode ser negociada.

Padrão: smb encrypt = auto

Fonte: link

    
por 15.01.2015 / 13:04