Làm thế nào để buộc giao thức SMB2 trong samba?


13

Vì lý do bảo mật, tôi muốn tắt giao thức SMB1 samba. Có thể không? Tôi đang chạy Ubuntu 14.04 LTS.

Câu trả lời:


9

Thử nghiệm của tôi với Nessus đã chỉ ra SMBv1 chỉ bị tắt khi cài đặt

min protocol = SMB2

trong phần [toàn cầu] của smb.conf. Core, LANMAN2 và NT1 vẫn được gắn cờ là dễ bị tấn công.


1
Cảm ơn, điều này đã giúp. Chỉ cần một lưu ý cho người khác: tệp cấu hình smb.confcó trong /etc/samba/Ubuntu 12.
ConvexMartian

4
Đối với độc giả tương lai: Điều này hoạt động cho các máy chủ, vì min protocol"là từ đồng nghĩa với server min protocol" ( samba.org/samba/docs/man/manpages-3/ù ). Ngoài ra còn có client min protocol, giúp khách hàng tránh SMB1 nếu các máy chủ vẫn hỗ trợ nó.
ngày 1 tháng 1

1
Đừng quên khởi động lại dịch vụ sau: CentOS 7 / RHEL 7 / Fedora Linux: $ sudo systemctl restart smb.service Debian 8.x / Ubuntu 16.04 LTS Linux: $ sudo systemctl restart smbd.service
Jack Wire

Tôi đã gặp lỗi Bỏ qua giá trị không hợp lệ 'SMB2' cho tham số 'giao thức tối thiểu'. Tôi đang sử dụng Samba
3.4.9

1
@josircg SMB2 lần đầu tiên được hỗ trợ trong 3.6.0
kbulgrien

5

Tôi đã phải thêm cái này để nó hoạt động trong máy chủ ub Ubuntu 12 của tôi ; với SMBv1 kết hợp tối thiểu / tối đa được bật nhưng với cả hai đều hoạt động tốt.

[global]
min protocol = SMB2                                                                                 
max protocol = SMB2                                                                                 
client min protocol = SMB2
client max protocol = SMB2

1
Điều này làm việc với các cửa sổ "CentOS 6" không còn xuất hiện nữa. "Bạn không thể kết nối với chia sẻ tệp vì nó không an toàn."
Neil

Điều này cũng hoạt động khi cố gắng gắn kết từ OSX High Sierra. Chỉ sử dụng giao thức tối thiểu sẽ không cho phép tôi kết nối.
user545424

2

Mặc dù tôi không chắc SMB1 phù hợp với nơi nào (Tôi đoán là CORE), đây là thứ tự của các giao thức từ "man smb.conf"

   max protocol (G)
       The value of the parameter (a string) is the highest protocol level that will be supported by the server.
       Possible values are :
       ·   CORE: Earliest version. No concept of user names.
       ·   COREPLUS: Slight improvements on CORE for efficiency.
       ·   LANMAN1: First
            modern version of the protocol. Long filename support.
       ·   LANMAN2: Updates to Lanman1 protocol.
       ·   NT1: Current up to date version of the protocol. Used by Windows NT. Known as CIFS.
       ·   SMB2: Re-implementation of the SMB protocol. Used by Windows Vista and newer.

   min protocol (G)
       The value of the parameter (a string) is the lowest SMB protocol dialect than Samba will support. Please refer to the max
       protocol parameter for a list of valid protocol names and a brief description of each. You may also wish to refer to the C
       source code in source/smbd/negprot.c for a listing of known protocol dialects supported by clients.
       If you are viewing this parameter as a security measure, you should also refer to the lanman auth parameter. Otherwise, you
       should never need to change this parameter.
       Default: min protocol = CORE
       Example: min protocol = NT1

1

Tôi nghĩ rằng tôi đã quản lý để vô hiệu hóa giao thức SMB1 với hai dòng này trong [global]phần:

min protocol = LANMAN2
max protocol = SMB3

Tôi vẫn chưa hoàn toàn chắc chắn về thứ tự của các giao thức trong Samba, nhưng tôi khá tự tin rằng đó LANMAN2là sau SMB1.


Như Christian M. chỉ ra, đây không phải là câu trả lời chính xác.
Simen

Đã đồng ý. Vì vậy, sẽ tốt hơn nếu tôi kiểm tra lại cấu hình samba của mình ...
Avio

1

Tôi nghĩ những gì bạn đang tìm kiếm trong tệp smb.conf là:

### 
giao thức tối thiểu của máy chủ = SMB2_10
giao thức khách hàng tối thiểu = SMB2
giao thức tối đa của khách hàng = SMB3
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.