使用Samba加密SMB流量


11

我们在Ubuntu 14.04 LTS上使用Samba作为具有漫游配置文件的PDC(主域控制器)。一切正常,除非我们尝试通过设置来实施加密:

    server signing = mandatory
    smb encrypt = mandatory

[global]/etc/samba/smb.conf 的部分中。这样做之后,赢得8.0并赢得8.1个客户端(没有尝试过其他任何客户端)抱怨:Die Vertrauensstellung zwischen dieser Arbeitsstation und der primären Domäne konnte nicht hergestellt werden.此文本的英文翻译:The trust relationship between this workstation and the primary domain could not be established.

如果再加上两个选项server signing,并smb encrypt仅向[profiles]smb.conf文件的部分,则tcpdump显示,实际流量是不加密的!

完整的smb.conf:

[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

有什么帮助吗?


您可以将计算机重新加入域以查看它是否可以解决此问题?
integratorIT

抱歉,将Win 8或Win 8.1客户端重新加入域不能解决问题。我们尝试了几次。
Kai Petzke

Answers:


12

smb.conf手册页需要更新!它指的是仅适用于SMB1的旧的特定于Samba的加密机制,并通过unix扩展名完成。可以使用smbclient

如今,“ smb encrypt”选项还可以控制SMB 3.0版及更高版本中的SMB级加密。Windows 8(及更高版本)客户端应使用这些设置对流量进行加密

您是否尝试过在Samba域成员或独立服务器上使用相同的设置(smb encrypt = mandatory在本[global]节中)?

确保smb encrypt = auto[global]部分(而非[profiles]部分)中进行设置。然后,仍将宣布加密的普遍可用性。



这很可能是Samba中的错误。因此,应该在samba的samba-technial邮件列表samba的bugzilla上进行讨论。如果您使用的是Ubuntu版本的Samba,则可能还需要检查软件包页面。我怀疑这是Samba真正的上游问题。


7
我已经更新了Samba核心存储库中的手册页,以解释smb encryptSMB2和SMB3的不同含义:(git.samba.org/…
Michael Adam

4

这是Samba 3.2及更高版本中引入的新功能。它是对作为UNIX扩展的一部分协商的SMB / CIFS协议的扩展。SMB加密使用GSSAPI(Windows上为SSPI)功能对SMB协议流中的每个请求/响应进行加密和签名。启用后,它提供了一种SMB / CIFS通信的安全方法,类似于受ssh保护的会话,但使用SMB / CIFS身份验证来协商加密和签名密钥。目前,仅Samba 3.2 smbclient支持此功能,希望不久以后Linux CIFSFS和MacOS / X客户端也支持。Windows clients do not support this feature.

这控制是允许还是要求远程客户端使用SMB加密。可能的值是自动,强制和禁用。这可以按份额设置,但是客户端可以选择对整个会话进行加密,而不仅仅是对特定份额的流量进行加密。如果将其设置为强制性,则与共享建立连接后,必须对共享的所有流量进行加密。服务器将对此类共享上的所有未加密请求返回“拒绝访问”。选择加密的流量会降低吞吐量,因为必须使用更小的数据包大小(不允许使用巨大的UNIX风格的读/写操作),以及对所有数据进行加密和签名的开销。

如果选择了SMB加密,则不再需要Windows样式的SMB签名(请参阅服务器签名选项),因为GSSAPI标志使用选择数据的签名和密封。

设置为自动时,将提供但不强制执行SMB加密。设置为强制时,需要SMB加密;如果设置为禁用,则不能协商SMB加密。

默认值:smb crypto =自动

资料来源:https : //www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html


抱歉,我自己可以阅读手册页。关于您所强调的报价:有些页面,例如blogs.technet.com/b/filecab/archive/2012/05/03/…表示,Win 8也可以进行SMB加密。如该页面顶部所写:“此处的所有内容也适用于Windows 8”。该信息肯定是错误的吗?
Kai Petzke

或者,您也可以使用Windows Server 2012来支持加密的smb流量
integratorIT

但这不是在所有客户端上都需要Windows Server版本吗?
Kai Petzke
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.