Шифрування трафіку SMB за допомогою Samba


11

Ми використовуємо 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

Будь-яка допомога?


Чи можете ви знову приєднатись до комп’ютера до домену, щоб побачити, чи вирішує він цю проблему?
інтеграторIT

Вибачте, повернення клієнта win 8 або win 8.1 до домену не вирішує проблему. Ми намагалися це кілька разів.
Кай Петцке

Відповіді:


12

Сторінку керівництва 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 Ubuntu, тоді ви також можете перевірити сторінку пакета . Я підозрюю, що це справжнє питання Samba вище за течією.


7
Я оновив сторінку керівництва в основному сховищі Samba, щоб пояснити різний зміст smb encryptдля SMB2 та SMB3: ( git.samba.org/… )
Майкл Адам,

4

Це нова функція, представлена ​​Samba 3.2 і вище. Це розширення до протоколу SMB / CIFS, узгодженого як частина розширень UNIX. Шифрування SMB використовує можливість GSSAPI (SSPI в Windows) для шифрування та підпису кожного запиту / відповіді в потоці протоколу SMB. Якщо це ввімкнено, він забезпечує захищений метод зв'язку SMB / CIFS, подібний до захищеного сеансом ssh, але використовує автентифікацію SMB / CIFS для узгодження ключів шифрування та підпису. В даний час це підтримується лише Samba 3.2 smbclient, і, сподіваємось, незабаром клієнти Linux CIFSFS та MacOS / X.Windows clients do not support this feature.

Це контролює, чи дозволяється віддаленому клієнту або потрібно використовувати шифрування SMB. Можливі значення: автоматичні, обов'язкові та відключені. Це може бути встановлено на основі однієї акції, але клієнти можуть вирішити зашифрувати весь сеанс, а не лише трафік на певну подію. Якщо це встановлено як обов'язкове, то весь трафік до акції повинен бути зашифрований після того, як з'єднання було зроблено до спільної. Сервер повертав би "заборонений доступ" до всіх незашифрованих запитів на такій спільній частці. Вибір зашифрованого трафіку зменшує пропускну здатність, оскільки потрібно використовувати менші розміри пакетів (читання / запис у стилі UNIX не дозволено), а також накладні витрати на шифрування та підписання всіх даних.

Якщо вибрано шифрування SMB, підписка SMB у стилі Windows (див. Опцію підписання на сервері) більше не потрібна, оскільки у прапорцях GSSAPI вибирається як підписання, так і запечатування даних.

Якщо встановлено значення авто, шифрування SMB пропонується, але не застосовується. Якщо встановлено обов'язкове, потрібно шифрування SMB, а якщо його відключено, шифрування SMB не може бути узгоджено.

За замовчуванням: шифрування smb = авто

Джерело: 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". Це інформація, безумовно, неправильна?
Кай Петцке

Крім того, ви можете використовувати Windows Server 2012, який підтримує зашифрований smb-трафік
integratorIT

Але хіба це не вимагатиме видання Windows Server для всіх клієнтів?
Кай Петцке
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.