Criptografando o tráfego SMB com o Samba

11

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 aplicar a criptografia por meio da configuração:

    server signing = mandatory
    smb encrypt = mandatory

na [global]seção /etc/samba/smb.conf. Depois de fazer isso, ganhe 8.0 e 8.1 de 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 signinge smb encryptsomente à [profiles]seção smb.conf, tcpdumpmostramos que o tráfego real não é 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

Qualquer ajuda?

Kai Petzke
fonte
Você pode ingressar novamente em um computador no domínio para ver se ele resolve esse problema?
integratorIT
Lamentar, ao ingressar no cliente win 8 ou win 8.1 no domínio, não resolve o problema. Tentamos isso várias vezes.
Kai Petzke

Respostas:

12

A página de manual do smb.conf precisa ser atualizada! Refere-se 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 smb encryptopções " " também controlam a criptografia no nível SMB que faz parte do SMB versão 3.0 e mais recente. Os clientes Windows 8 (e mais recentes) devem criptografar o tráfego com essas configurações.

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

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



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

Michael Adam
fonte
7
Eu atualizei a página do manual no repositório central do Samba para explicar o significado diferente da smb encryptde SMB2 e SMB3: ( git.samba.org/... )
Michael Adam
4

Este é um novo recurso introduzido no 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 de protocolo SMB. Quando ativado, 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 tem permissão ou é necessário para usar criptografia SMB. Os valores possíveis são automático, obrigatório e desativado. Isso pode ser definido por compartilhamento, mas os clientes podem optar por criptografar a sessão inteira, não apenas o tráfego para um compartilhamento específico. Se isso estiver definido como obrigatório, todo o tráfego para um compartilhamento deverá ser criptografado após a conexão com o compartilhamento. O servidor retornaria "acesso negado" a todas as solicitações não criptografadas em um compartilhamento. A seleção do tráfego criptografado reduz a taxa de transferência, pois tamanhos de pacotes menores devem ser usados ​​(nenhuma leitura / gravação enorme no estilo UNIX é permitida), bem como a sobrecarga de criptografia e assinatura de todos os dados.

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

Quando definida como automática, 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: https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html

Joe
fonte
Desculpe, eu posso ler a página de manual. Sobre a citação, você destacou: Algumas páginas, como blogs.technet.com/b/filecab/archive/2012/05/03/… , indicam que o Win 8 também pode fazer criptografia SMB. Como está escrito na parte superior da página: "Tudo aqui também se aplica ao Windows 8". Essa informação certamente está errada?
Kai Petzke
Alternativamente, você pode usar o Windows Server 2012 wich suportes criptografado tráfego SMB
integratorIT
Mas isso não exigiria a edição do Windows Server em todos os clientes?
Kai Petzke