Mã hóa lưu lượng SMB với Samba


11

Chúng tôi sử dụng Samba trên Ubuntu 14.04 LTS làm PDC (bộ điều khiển miền chính) với các cấu hình chuyển vùng. Mọi thứ đều hoạt động tốt, ngoại trừ nếu chúng tôi cố gắng thực thi mã hóa thông qua cài đặt:

    server signing = mandatory
    smb encrypt = mandatory

trong [global]phần /etc/samba/smb.conf. Sau khi làm như vậy, giành được 8.0 và giành được 8.1 khách hàng (chưa thử cách nào khác) phàn nàn: Die Vertrauensstellung zwischen dieser Arbeitsstation und der primären Domäne konnte nicht hergestellt werden.bản dịch tiếng Anh của văn bản này:The trust relationship between this workstation and the primary domain could not be established.

Nếu chúng ta thêm hai tùy chọn server signingsmb encryptchỉ vào [profiles]phần smb.conf, thì sẽ tcpdumpcho thấy lưu lượng thực tế không được mã hóa!

Toàn bộ 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

Có ai giúp đỡ không?


Bạn có thể tham gia lại một máy tính vào miền để xem nó có giải quyết được vấn đề này không?
tích hợp

Xin lỗi, việc nối lại máy khách win 8 hoặc win 8.1 vào miền không giải quyết được vấn đề. Chúng tôi đã thử điều đó nhiều lần.
Kai Petzke 16/1/2015

Câu trả lời:


12

Trang hướng dẫn smb.conf cần được cập nhật! Nó đề cập đến cơ chế mã hóa dành riêng cho Samba cũ chỉ áp dụng cho SMB1 và ​​được thực hiện thông qua các tiện ích mở rộng unix. Điều này có thể được sử dụng bởi smbclient.

Ngày nay, các smb encrypttùy chọn "" cũng kiểm soát mã hóa cấp SMB, một phần của phiên bản SMB 3.0 trở lên. Các máy khách Windows 8 (và mới hơn) nên mã hóa lưu lượng với các cài đặt này.

Bạn đã thử sử dụng các cài đặt tương tự ( smb encrypt = mandatorytrong [global]phần) trên thành viên tên miền Samba hoặc máy chủ độc lập chưa?

Hãy chắc chắn để đặt smb encrypt = autotrong [global]phần (không phải [profiles]phần). Sau đó, tính khả dụng chung của mã hóa vẫn được công bố.



Rất có khả năng đây là một lỗi ở Samba. Vì vậy, điều này có lẽ nên được thảo luận trên danh sách gửi thư samba-kỹ thuật của samba hoặc bugzilla của samba . Nếu bạn đang sử dụng phiên bản Ubuntu của Samba thì bạn cũng có thể muốn kiểm tra trang gói . Tôi nghi ngờ rằng đây là một vấn đề thượng nguồn Samba chính hãng.


7
Tôi đã cập nhật trang hướng dẫn trong kho lưu trữ cốt lõi của Samba để giải thích ý nghĩa khác nhau của smb encryptSMB2 và SMB3: ( git.samba.org/ trộm )
Michael Adam

4

Đây là một tính năng mới được giới thiệu với Samba 3.2 trở lên. Nó là một phần mở rộng cho giao thức SMB / CIFS được đàm phán như là một phần của phần mở rộng UNIX. Mã hóa SMB sử dụng khả năng GSSAPI (SSPI trên Windows) để mã hóa và ký mọi yêu cầu / phản hồi trong luồng giao thức SMB. Khi được bật, nó cung cấp một phương thức bảo mật cho giao tiếp SMB / CIFS, tương tự như phiên được bảo vệ ssh, nhưng sử dụng xác thực SMB / CIFS để đàm phán mã hóa và ký khóa. Hiện tại, điều này chỉ được Samba 3.2 smbclient hỗ trợ và hy vọng sẽ sớm có các máy khách Linux CIFSFS và MacOS / X.Windows clients do not support this feature.

Điều này kiểm soát xem máy khách từ xa được phép hay bắt buộc sử dụng mã hóa SMB. Các giá trị có thể là tự động, bắt buộc và vô hiệu hóa. Điều này có thể được đặt trên cơ sở cho mỗi chia sẻ, nhưng khách hàng có thể chọn mã hóa toàn bộ phiên, không chỉ lưu lượng truy cập đến một chia sẻ cụ thể. Nếu điều này được đặt thành bắt buộc thì tất cả lưu lượng truy cập vào một chia sẻ phải được mã hóa sau khi kết nối được thực hiện cho chia sẻ. Máy chủ sẽ trả lại "quyền truy cập bị từ chối" cho tất cả các yêu cầu không được mã hóa trên một chia sẻ như vậy. Chọn lưu lượng được mã hóa sẽ giảm thông lượng vì kích thước gói nhỏ hơn phải được sử dụng (không cho phép đọc / ghi kiểu UNIX lớn) cũng như chi phí mã hóa và ký tất cả dữ liệu.

Nếu mã hóa SMB được chọn, ký SMB kiểu Windows (xem tùy chọn ký máy chủ) không còn cần thiết nữa, vì cờ GSSAPI sử dụng chọn cả ký và niêm phong dữ liệu.

Khi được đặt thành tự động, mã hóa SMB được cung cấp, nhưng không được thực thi. Khi được đặt thành bắt buộc, mã hóa SMB là bắt buộc và nếu được đặt thành bị tắt, mã hóa SMB không thể được thương lượng.

Mặc định: mã hóa smb = tự động

Nguồn: https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html


Xin lỗi, tôi có thể tự đọc trang người đàn ông. Về trích dẫn, mà bạn đã nhấn mạnh: Một số trang, như blog.technet.com/b/filecab/archive/2012/05/03/ cho biết, Win 8 cũng có thể thực hiện mã hóa SMB. Như được viết ở đầu trang đó: "Mọi thứ ở đây cũng áp dụng cho Windows 8". Là thông tin chắc chắn sai?
Kai Petzke 16/1/2015

Ngoài ra, bạn có thể sử dụng Windows Server 2012 với hỗ trợ lưu lượng smb được mã hóa
integratorIT

Nhưng điều đó có yêu cầu phiên bản Windows Server trên tất cả các máy khách không?
Kai Petzke
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.