我们在Ubuntu 14.04 LTS上使用Samba作为具有漫游configuration文件的PDC(主域控制器)。 一切工作正常,除非我们试图通过设置强制encryption:
server signing = mandatory smb encrypt = mandatory
在/etc/samba/smb.conf的[global]部分。 这样做后,赢得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仅smb encrypt到smb.conf的[profiles]部分,那么tcpdump显示实际的stream量没有encryption!
完整的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
任何帮助?
smb.conf手册页面需要更新! 它指的是旧的Samba特定的encryption机制,仅适用于SMB1,并通过unix扩展完成。 这可以由smbclient 。
如今,“ smb encrypt ”选项还可以控制SMB 3.0及更新版本的SMB级encryption。 Windows 8(和更新的)客户端应该使用这些设置来encryptionstream量 。
您是否曾尝试在Samba域成员或独立服务器上使用相同的设置( [global]部分中的smb encrypt = mandatory )?
确保在[global]部分(不是[profiles]部分)中设置smb encrypt = auto 。 那么encryption的普遍可用性仍然被宣布。
这很可能是Samba中的一个bug。 所以这可能应该在samba的samba技术邮件列表或samba的bugzilla上讨论 。 如果你使用的是Ubuntu版本的Samba,那么你可能也想检查包页面 。 我怀疑这是一个真正的Samba上游问题。
这是Samba 3.2及以上版本引入的新function。 它是作为UNIX扩展的一部分协商的SMB / CIFS协议的扩展。 SMBencryption使用GSSAPI(Windows上的SSPI)function对SMB协议stream中的每个请求/响应进行encryption和签名。 启用后,它提供了SMB / CIFS通信的安全方法,类似于受ssh保护的会话,但使用SMB / CIFS身份validation来协商encryption和签名密钥。 目前这只支持Samba 3.2 smbclient,希望很快Linux CIFSFS和MacOS / X客户端。 Windows clients do not support this feature.
这将控制远程客户端是被允许还是被要求使用SMBencryption。 可能的值是auto,mandatory和disabled。 这可以设置在每个分享的基础上,但客户可能selectencryption整个会话,而不仅仅是特定分享的stream量。 如果设置为强制性的,那么一旦连接到共享,所有到共享的stream量必须被encryption。 服务器将返回“访问被拒绝”在这样的共享上的所有未encryption的请求。 selectencryptionstream量会降低吞吐量,因为必须使用较小的数据包大小(不允许使用大量的UNIX样式读/写)以及对所有数据进行encryption和签名的开销。
如果selectSMBencryption,则不再需要Windows样式SMB签名(请参阅服务器签名选项),因为GSSAPI标志使用select签名和密封数据。
设置为自动时,提供SMBencryption,但不强制执行。 如果设置为强制,则需要SMBencryption,如果设置为禁用,则不能协商SMBencryption。
默认:smb encrypt = auto
来源: https : //www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html