Шифрование трафика SMB с Samba

Мы используем Samba на Ubuntu 14.04 LTS как 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

Какая-либо справка?

10
задан 7 January 2015 в 20:13
2 ответа

Необходимо обновить страницу руководства smb.conf! Это относится к старому механизму шифрования, специфичному для Samba, который применяется только к SMB1 и выполняется с помощью расширений unix. Это может использоваться smbclient .

В настоящее время параметр « smb encrypt » также управляет шифрованием на уровне SMB, которое является частью SMB версии 3.0 и новее. Клиенты Windows 8 (и новее) должны шифровать трафик с этими настройками.

Пробовали ли вы использовать те же настройки ( smb encrypt = обязательный в [global] ) на члене домена Samba или на автономном сервере?

Убедитесь, что smb encrypt = auto установлен в разделе [global] (а не в [profiles ] раздел). Затем объявлено об общей доступности шифрования.



Вполне возможно, что это ошибка Samba. Так что это, вероятно, следует обсудить в списке рассылки samba samba-technial или bugzilla samba . Если вы используете версию Samba для Ubuntu, вы также можете проверить страницу пакета . Я подозреваю, что это настоящая проблема восходящего потока Samba.

11
ответ дан 2 December 2019 в 22:06

Это новая функция, представленная в 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 не поддерживают эту функцию.

Этот параметр определяет, разрешено или необходимо удаленному клиенту использовать шифрование 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

4
ответ дан 2 December 2019 в 22:06

Теги

Похожие вопросы