Giao thức SMB là gì? Cách phát hiện, tắt và vô hiệu hóa SMBv1, SMBv2 và SMBv3

Giao thức SMB là gì?

Giao thức SMB (Server Message Block) là giao thức mạng được sử dụng để chia sẻ tệp giữa các máy tính trên một mạng. Giao thức này được sử dụng chủ yếu trên hệ điều hành Windows, cho phép các máy tính truy cập và chia sẻ tài nguyên như tệp file, thư mục, máy in và các dịch vụ khác.

SMB đã trải qua nhiều phiên bản khác nhau từ SMB 1 đến SMB 2, SMB 3 và phiên bản mới nhất là SMB 3.1.1. Mặc dù chủ yếu được sử dụng trên hệ điều hành Windows nhưng giao thức này cũng có thể sử dụng trên Unix và Linux thông qua phần mềm hỗ trợ như Samba.

Nguyên lý hoạt động của giao thức SMB

giao thức SMB là gì

Giao thức SMB là giao thức yêu cầu phản hồi và hoạt động ở lớp ứng dụng trong mô hình OSI. Tuy nhiên, nó sử dụng các cấp độ mạng thấp hơn để chuyển dữ liệu như lớp vận chuyển như TCP hoặc UDP.

Về cơ bản bạn có thể hiểu cách hoạt động của giao thức SMB như sau:

  • Đầu tiên, máy khách (như máy tính, thiết bị di động hoặc máy in) gửi yêu cầu SMB đến máy chủ để bắt đầu kết nối.
  • Máy chủ nhận được yêu cầu từ máy khách và gửi phản hồi SMB.
  • Khi máy khách nhận được phản hồi, nó sẽ tạo một kênh liên lạc.
  • Sau đó, máy khách có thể tương tác với máy chủ để yêu cầu quyền truy cập vào tài nguyên.

Trong thực tế, giao thức SMB hoạt động như sau: Giả sử bạn kết nối máy in và máy tính. Nếu bạn muốn in tài liệu, máy tính (đóng vai trò làm máy khách) sẽ gửi yêu cầu đến máy in (máy chủ) và sử dụng giao thức SMB. Sau đó, máy in sẽ gửi phản hồi cho máy tính của banjveef trạng thái yêu cầu (như: đang xếp hàng, đã bắt đầu in hoặc hết mực…)

SMB sử dụng các cổng mở để tạo điều kiện liên lạc trên mạng. Hai cổng chính SMB sử dụng là cổng 139 và 445 (cổng 445 được ưu tiên hơn cổng 139).

Giao thức SMB có an toàn không?

Về cơ bản thì giao thức SMB là an toàn và được các tổ chức sử dụng rộng rãi nhưng mà vẫn có một vài lỗ hổng nghiêm trọng trong giao thức này được phát hiện.

Năm 2017, NSA đã phát hiện thấy giao thức SMBv1 (được gọi là EternalBlue). Nó cho phép kẻ tấn công thực thi mã của họ mà người dùng không nhận ra. Nếu một thiết bị bị nhiễm virus, hacker có thể truy cập vào toàn bộ mạng và mọi thiết bị được kết nối với nó. Lỗ hổng này đã tạo ra cuộc tấn công mạng Ransomware WannaCry tấn công gần 200.000 thiết bị windows trên 150 quốc gia.

Giao thức SMBv1 đã bị Windows dừng sử dụng để có thể được truy cập và chia sẻ tệp. Các phiên bản Windows 7 hay Window Xp sẽ là những phiên bản bị ảnh hưởng. Các phiên bản mới hơn từ  Windows 8 trở đi mặc định sử dụng SMBv2.

Cách xóa SMBv1

1. Sử dụng PowerShell

Để xóa SMBv1 thông qua PowerShell, bạn cần mở PowerShell với quyền quản trị (Run as Administrator). Sau đó, bạn có thể sử dụng các lệnh sau để tắt và gỡ cài đặt SMBv1:

Kiểm tra trạng thái:

Get-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

Vô hiệu hóa:

Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

Bật:

Enable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

2. Sử dụng Server Manager

Áp dụng cho: Windows Server 2012 Windows Server 2012 R2, Windows Server 2016, Windows Server 2019.

Cách thực hiện:

  • Bước 1: Mở “Server Manager” trên máy chủ của bạn.
  • Bước 2: Nhấn vào “Manage” ở góc trên bên trái và chọn “Remove Roles and Features.”
  • Bước 3: Trong cửa sổ “Remove Roles and Features Wizard,” chọn máy chủ cần thay đổi và nhấn “Next.”
  • Bước 4: Trong danh sách “Features,” tìm và gỡ bỏ tính năng “SMB 1.0/CIFS File Sharing Support.” Sau đó, nhấn “Next” để hoàn thành việc gỡ bỏ.

cách xóa SMBv1 qua Server Manager

3. Sử dụng Add or Remove Programs

Áp dụng cho: Windows 8.1, Windows 10, and Windows 11.

Cách thực hiện:

  • Bước 1: Mở “Control Panel” (Bảng điều khiển) trên máy chủ của bạn.
  • Bước 2: Chọn “Programs and Features” (Chương trình và tính năng). Trong một số phiên bản của Windows Server, bạn có thể thấy tùy chọn “Add or Remove Programs” (Thêm hoặc Gỡ bỏ chương trình).
  • Bước 3: Bên trái, bạn sẽ thấy một liên kết “Turn Windows features on or off” (Bật hoặc tắt tính năng Windows). Nhấn vào liên kết này.
  • Bước 4: Trong cửa sổ “Windows Features,” tìm và gỡ bỏ tính năng “SMB 1.0/CIFS File Sharing Support.” Đánh dấu chọn bên cạnh tên tính năng này và sau đó nhấn “OK” hoặc “Apply” để gỡ bỏ tính năng.

cách xóa SMBv1 qua Add or Remove Programs

Lưu ý rằng việc gỡ bỏ SMBv1 có thể ảnh hưởng đối với khả năng kết nối và tương tác với các thiết bị và máy tính chạy các phiên bản Windows cũ hơn hoặc không hỗ trợ SMBv2 hoặc SMBv3. Trước khi thực hiện bất kỳ thay đổi nào, hãy đảm bảo kiểm tra mức độ ảnh hưởng của nó đối với môi trường mạng của bạn.

Cách truy cập tệp trên thiết bị mạng bằng giao thức SMBv1 trong Windows 10

Nếu bạn sử dụng máy tính windows 10 và truy cập share folder các máy tính chạy HDH các phiên bản windows7 hoặc windows XP thì chắc chắn sẽ gặp phải lỗi sau:

“you can’t connect to the file share because it’s not secure. This share requires the obsolete SMB1 protocol, which is unsafe and could expose your system to attack. Your system requires SMB2 or higher”

Lỗi này xảy ra là do Winodows 10 sử dụng phiên bản SMB 2 còn Windows 7 sử dụng SMB 1. Do đó bạn không thể thực hiện được việc truy cập dữ liệu từ máy Windows 10 vào máy Windows 7 được. Để giải quyết bạn cần phải bật giao thức SMB1 trên Winodws 10, cách thực hiện như sau:

  • Bước 1: Mở “Control Panel” (Bảng điều khiển).
  • Bước 2: Chọn “Programs” (Chương trình) hoặc “Programs and Features” (Chương trình và tính năng) tùy theo phiên bản của Control Panel của bạn.
  • Bước 3: Bên trái, chọn “Turn Windows features on or off” (Bật hoặc tắt tính năng Windows).
  • Bước 4: Trong cửa sổ “Windows Features,” tìm và kiểm tra chọn tính năng “SMB 1.0/CIFS File Sharing Support.”
  • Bước 5: Nhấn “OK” hoặc “Apply” để bắt đầu quá trình cài đặt.
  • Bước 6: Bạn sẽ cần khởi động lại máy tính của bạn để hoàn tất quá trình cài đặt.

cách bật SMBv1 trên windows 10

Lưu ý rằng: Phiên bản SMB1 có chứa các lỗ hổng bảo mật nên chỉ bật nó khi cần thiết và sau khi xong có thể tắt nó đi để bằng việc lặp lại các bước trên.

Vô hiệu hóa SMBv2 hoặc SMBv3 để khắc phục lỗi

Mình khuyên các bạn luôn bật SMBv2 hoặc SMBv3, việc tắt chúng đi sẽ gây mất một số tính năng đi kèm. Nhưng trong trường hợp muốn tắt giao thức này để khắc phục sự cố thì hãy thực hiện theo cách sử dụng lệnh lệnh ghép ngắn “Windows PowerShell Set-SMBServerConfiguration“. Lệnh này được áp dụng từ phiên bản Window 8 và Windows server 12 trở đi, giúp bật, hay vô hiệu hóa các giao thức SMB nhanh chóng.

Các lệnh thực hiện như sau:

  • Kiểm tra trạng thái: Get-SmbServerConfiguration | Select EnableSMB2Protocol
  • Vô hiệu hóa: Set-SmbServerConfiguration -EnableSMB2Protocol $false
  • Bật: Set-SmbServerConfiguration -EnableSMB2Protocol $true

Bên trên là lệnh lấy ví dụ cho SMB2, với SMB3 bạn thực hiện tương tự và chỉ cần thay tên là được. Ngoài cách sử dụng lệnh trên còn một vài cách khác nhưng đây là cách đơn giản nhất mình hay làm.

Xem thêm:

Giao thức SSH là gì? Tìm hiểu chi tiết về giao thức Secure Shell