Мы используем Samba в Ubuntu 14.04 LTS в качестве основного контроллера домена (PDC) с перемещаемыми профилями. Все работает нормально, кроме тех случаев, когда мы пытаемся принудительно использовать шифрование с помощью настройки:
server signing = mandatory
smb encrypt = mandatory
в [global]
раздел /etc/samba/smb.conf. После этого клиенты win 8.0 и win 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
Любая помощь?
Страницу руководства smb.conf необходимо обновить! Это относится к старому механизму шифрования, специфичному для Samba, который применяется только к SMB1 и выполняется с помощью расширений unix. Это может быть использовано smbclient
.
В настоящее время "smb encrypt
"параметры также контролируют шифрование на уровне SMB, которое является частью SMB версии 3.0 и новее. Клиенты Windows 8 (и новее) должны шифровать трафик с этими настройками.
Вы пробовали использовать те же настройки (smb encrypt = mandatory
в [global]
раздел) на члене домена Samba или на отдельном сервере?
Обязательно установите smb encrypt = auto
в [global]
раздел (не [profiles]
раздел). Тогда еще объявлено об общедоступности шифрования.
Вполне возможно, что это ошибка Samba. Так что это, наверное, следует обсудить на самбе список рассылки samba-technial или Бугзилла Самбы. Если вы используете версию Samba для Ubuntu, вы также можете проверить страница пакета. Я подозреваю, что это настоящая проблема восходящего потока Samba.
Это новая функция, представленная в Samba 3.2 и выше. Это расширение протокола SMB / CIFS, согласованное как часть расширений UNIX. Шифрование SMB использует возможность GSSAPI (SSPI в Windows) для шифрования и подписи каждого запроса / ответа в потоке протокола SMB. Когда он включен, он обеспечивает безопасный метод связи SMB / CIFS, аналогичный защищенному сеансу ssh, но с использованием аутентификации SMB / CIFS для согласования ключей шифрования и подписи. В настоящее время это поддерживается только smbclient Samba 3.2 и, надеюсь, скоро клиенты Linux CIFSFS и MacOS / X. Windows clients do not support this feature.
Это определяет, разрешено или необходимо удаленному клиенту использовать шифрование SMB. Возможные значения: авто, обязательное и отключенное. Это может быть установлено для каждого общего ресурса, но клиенты могут выбрать шифрование всего сеанса, а не только трафика к конкретному общему ресурсу. Если это установлено в обязательном порядке, то весь трафик к общему ресурсу должен быть зашифрован после того, как к общему ресурсу будет установлено соединение. Сервер будет возвращать «доступ запрещен» на все незашифрованные запросы к такой общей папке. Выбор зашифрованного трафика снижает пропускную способность, поскольку необходимо использовать пакеты меньшего размера (недопустимо большое чтение / запись в стиле UNIX), а также накладные расходы на шифрование и подписание всех данных.
Если выбрано шифрование SMB, подписывание SMB в стиле Windows (см. Параметр подписи сервера) больше не требуется, поскольку флаги GSSAPI используют выбор подписи и запечатывания данных.
Если установлено значение «Авто», шифрование SMB предлагается, но не принудительно. Если установлено в обязательном порядке, требуется шифрование SMB, а если задано значение отключено, шифрование SMB невозможно согласовать.
По умолчанию: smb encrypt = auto
Источник: https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html