SMB là gì?
SMB là một giao thức chia sẻ file khá phổ biến khi bạn dùng Windows. Gần như mặc định khi dùng các nền tảng Windows 7/8/10 khi chia sẻ file thì bạn sẽ đụng đến giao thức này.
Sau này khi SMB được kế thừa bởi Microsoft thì hãng này đã biến nó thành một giao thức chia sẻ file cực kỳ phổ biến trên các hệ điều hành của mình. SMB còn có tên gọi khác là CIFS (viết tắt của Common Internet File Sharing), hệ thống chia sẽ file phổ biến trên Internet.
Đây là một giao thức có thiết kế rất đơn giản và đáp ứng dụng đầy đủ nhu cầu cơ bản của người dùng. Với giao thức này người dùng có thể cấu hình quyền Read-Only (chỉ đọc) hoặc Read-Write (đọc và ghi) hoặc đặt mật khẩu đối với dữ liệu được chia sẻ. Dữ liệu đó có thể là một tập tin hay là một thư mục.
Điểm hay khác của SMB là nó còn hỗ trợ Unicode, đồng thời phù hợp với mô hình một server tập trung, mọi dữ liệu được xử lý từ client đều được khuyến nghị là lưu trữ tại server. Bên cạnh việc chia sẻ file, SMB còn hỗ trợ một số tính năng như:
- Tìm kiếm các máy chủ sử dụng giao thức SMB khác.
- Hỗ trợ in qua mạng.
- Xác thực file và thư mục được chia sẻ.
- Thông báo sự thay đổi file và thư mục.
Microsoft sử dụng SMB cùng với giao thức xác thực NTLM để cung cấp dịch vụ gọi là chia sẻ file và máy in ở mức user. Khi một user đã đăng nhập thực hiện kết nối tới tài nguyên chia sẻ trên máy tính khác (\servershare), Windows tự động gửi thông tin đăng nhập của user đó tới SMB server trước khi hỏi username hoặc password.
Giao thức SMB trên Windows buộc phải sử dụng truyền tải qua NetBT với các cổng 137, 138 (UDP), 139 (TCP). Từ Windows 2000/XP, Microsoft cấp thêm khả năng chạy SMB trực tiếp trên TCP/IP, chỉ sử dụng cổng 445 (TCP).
Giao thức SMB hoạt động như thế nào?
Giao thức SMB cho phép các ứng dụng và người dùng của họ truy cập tệp trên máy chủ từ xa, cũng như kết nối với các tài nguyên khác, bao gồm máy in, và các pipe được đặt tên. SMB cung cấp cho các ứng dụng khách một phương pháp bảo mật và được kiểm soát để mở, đọc, di chuyển, tạo và cập nhật tệp trên máy chủ từ xa. Giao thức cũng có thể giao tiếp với các chương trình máy chủ được cấu hình để nhận các yêu cầu khách SMB.
Được biết đến như một giao thức yêu cầu phản hồi (response-request protocol), giao thức SMB là một trong những phương pháp phổ biến nhất được sử dụng cho truyền thông mạng. Trong mô hình này, máy khách gửi một yêu cầu SMB đến máy chủ để bắt đầu kết nối. Khi máy chủ nhận được yêu cầu, nó sẽ trả lời bằng cách gửi phản hồi SMB trở lại máy khách, thiết lập kênh giao tiếp cần thiết cho cuộc trao đổi hai chiều.
Giao thức SMB hoạt động ở lớp ứng dụng (application layer) nhưng dựa vào các mức mạng thấp hơn để vận chuyển (transport). Hệ điều hành Microsoft Windows kể từ Windows 95 đã bao gồm hỗ trợ giao thức SMB máy khách và máy chủ. Hệ điều hành Linux và macOS cũng cung cấp hỗ trợ tích hợp cho SMB. Ngoài ra, các hệ thống dựa trên Unix có thể sử dụng Samba để tạo điều kiện cho SMB truy cập vào các dịch vụ tệp và in.
Máy khách và máy chủ có thể triển khai các phương ngữ SMB khác nhau. Nếu có, trước tiên hệ thống phải thương lượng về sự khác biệt giữa các phiên bản trước khi bắt đầu một phiên.
Giao thức SMB có an toàn không?
Vào năm 2017, các cuộc tấn công bằng ransomware WannaCry và Petya đã khai thác một lỗ hổng trong SMB 1.0 khiến nó có thể tải phần mềm độc hại lên các máy khách dễ bị tấn công và sau đó lan truyền phần mềm độc hại trên khắp các mạng. Microsoft sau đó đã phát hành một bản vá, nhưng các chuyên gia đã khuyên người dùng và quản trị viên nên vô hiệu hóa SMB 1.0/CIFS trên tất cả các hệ thống.
SMB 3.0 trở lên an toàn hơn nhiều. Ví dụ, SMB 3.0 đã bổ sung mã hóa dữ liệu đầu cuối, đồng thời bảo vệ dữ liệu khỏi bị nghe trộm. SMB 3.0 cũng cung cấp khả năng bảo vệ khỏi các cuộc tấn công MitM.
SMB 3.1.1 đã cải thiện hơn nữa về bảo mật bằng cách cập nhật các khả năng mã hóa, bổ sung tính toàn vẹn của tiền xác thực (pre-authentication integrity).
Cách sử dụng giao thức SMB
Cách share file trên Windows 10 qua giao thức SMB
Bật SMB trên Windows bạn có thể sử dụng các tính năng:
- Tìm kiếm các máy chủ sử dụng giao thức SMB khác.
- Hỗ trợ in qua mạng.
- Xác thực file và thư mục được chia sẻ.
- Thông báo sự thay đổi file và thư mục.
Để bật giao thức SMB trên Windows 10, bạn làm theo các bước trong bài viết Cách share file trên Windows 10 qua giao thức SMB. Thao tác tương tự có thể thực hiện trên Windows 11.
Cách bật giao thức SMB trên router Synology
Hiện nay giao thức này cũng được một số router hay thiết bị NAS hỗ trợ, ví dụ như thiết bị của Synology. Trên router hay NAS Synology, để bật giao thức SMB, bạn vào trình điều khiển Synology Router Manager và thực hiện các bước như bài viết này.
Cách sử dụng SMB trên iPhone
Từ iOS 13 trở đi, Apple đã chính thức hỗ trợ giao thức SMB bên trong ứng dụng Tệp của mình. Đây là một giao thức share file phổ biến trên Windows 10 có thiết kế rất đơn giản và đáp ứng dụng đầy đủ nhu cầu cơ bản của người dùng. Nó cũng được sử dụng trên rất nhiều thiết bị NAS.
Chi tiết cách sử dụng SMB trên iPhone
Những lợi ích nổi bật khi sử dụng giao thức SMB
Giao thức SMB không chỉ đơn thuần là một công cụ chia sẻ tệp, mà còn mang lại nhiều lợi ích cho người dùng:
- Tiết kiệm thời gian: Với khả năng truyền tải nhanh chóng, SMB giúp người dùng tiết kiệm thời gian khi chuyển đổi và quản lý tài liệu và dữ liệu.
- Hỗ trợ đa nền tảng: SMB cho phép các thiết bị thuộc nhiều hệ điều hành khác nhau như Windows, Linux, macOS giao tiếp và chia sẻ tài nguyên một cách dễ dàng.
- Quản lý quyền truy cập: Người dùng có thể cấu hình quyền truy cập cho từng thư mục và tệp, đảm bảo tính an toàn cho dữ liệu của mình.
Các vấn đề thường gặp và cách khắc phục khi sử dụng SMB
Khi sử dụng giao thức SMB, người dùng có thể gặp phải một số vấn đề phổ biến:
- Kết nối bị ngắt: Nếu bạn gặp phải trường hợp này, hãy kiểm tra lại cài đặt mạng hoặc khởi động lại router và thiết bị của bạn.
- Chia sẻ không thành công: Đảm bảo rằng bạn đã thiết lập quyền truy cập đúng cách cho người dùng khác.
- Khó khăn khi tìm kiếm máy chủ SMB: Đảm bảo rằng các máy chủ đang hoạt động và có thể được phát hiện trên mạng.
Tham khảo thêm một số tùy chọn thay thế
Đối với những ai tìm kiếm các giao thức khác ngoài SMB, có một số tùy chọn thay thế như:
- NFS (Network File System): Giao thức này phổ biến trên các hệ thống Linux và Unix, cho phép chia sẻ tệp giữa các máy chủ và máy khách trong cùng một mạng.
- FTP (File Transfer Protocol): Đây là một giao thức truyền tệp hỗ trợ chia sẻ tệp qua Internet hoặc mạng cục bộ, thường thì sử dụng cho việc sao chép tệp lớn.