logo

SMB là gì? Tại sao nên chặn port SMB

shape
shape
shape
shape
shape
shape
shape

Giới thiệu đôi nét về SMB

1. SMB là gì?

1.1. Khái niệm

SMB (Server Message Block) là một giao thức mạng được sử dụng trong hệ điều hành Windows và DOS. Nền tảng này cung cấp cơ chế cho phép các máy khách (client) truy cập vào hệ thống file máy chủ (server) và các thiết bị input/output, chẳng hạn như máy in.

Hình 1.1: SMB là gì?

Giao thức này hoạt động theo mô hình client-server, cho phép máy khách gửi yêu cầu truy cập tài nguyên đến máy chủ, máy chủ sẽ xác thực và phản hồi yêu cầu này. SMB sử dụng cổng 445 (TCP) và từng có phiên bản hoạt động qua NetBIOS, hiện nay chủ yếu qua TCP/IP, giúp hỗ trợ truy cập đồng thời, chia sẻ dữ liệu hiệu quả trong môi trường làm việc nhóm hoặc quản trị tập trung.

1.2. Chức năng chính SMB

Giao thức SMB cung cấp nhiều chức năng quan trọng, giúp việc quản lý và chia sẻ tài nguyên trong mạng trở nên hiệu quả hơn.

  • Chia sẻ file và thư mục: SMB cho phép các máy tính trong cùng mạng truy cập, chia sẻ và quản lý file, thư mục từ xa một cách dễ dàng mà không cần sao chép vật lý, đáp ứng nhu cầu làm việc nhóm và quản trị tập trung.

  • In qua mạng: Giao thức này hỗ trợ kết nối và chia sẻ máy in, giúp các máy tính trong mạng có thể gửi lệnh in tài liệu từ xa đến máy in dùng chung.

  • Xác thực và kiểm soát truy cập: SMB thực hiện xác thực người dùng, phân quyền truy cập nhằm đảm bảo chỉ những đối tượng đủ điều kiện mới có thể truy cập tài nguyên, góp phần tăng cường bảo mật hệ thống.

  • Thông báo thay đổi và đồng bộ hóa: SMB giúp máy khách nhận được thông báo về các thay đổi trong file, thư mục đã truy cập (Ví dụ file bị chỉnh sửa, xóa…), đồng thời hỗ trợ việc khóa file khi người dùng đang sử dụng để tránh xung đột.

  • Hỗ trợ Unicode và xử lý thuộc tính: SMB có khả năng truyền dữ liệu sử dụng mã Unicode, hỗ trợ đa ngôn ngữ và xử lý thuộc tính mở rộng của file, phù hợp cho môi trường doanh nghiệp đa dạng.

  • Khóa file: Đảm bảo tính toàn vẹn của dữ liệu bằng cách cho phép khóa các tệp đang được truy cập.

Hình 1.2: Chức năng SMB

1.3. Các phiên bản SMB

  • SMBv1 (1.0): Phiên bản đầu tiên từ những năm 1980, rất cũ và tiềm ẩn rủi ro bảo mật nghiêm trọng.

  • SMBv2 (2.0/2.1): Ra mắt với Windows Vista (2007), cải thiện đáng kể hiệu suất, độ tin cậy và giảm số lượng lệnh.

  • SMBv3 (3.0/3.02/3.1.1):

    • SMB 3.0 (Windows 8/2012): Bổ sung mã hóa, khả năng chịu lỗi (failover), và SMB Direct.

    • SMB 3.02 (Windows 8.1/2012 R2): Cho phép vô hiệu hóa SMB 1.0.

    • SMB 3.1.1 (Windows 10/2016 trở lên): Phiên bản hiện đại, yêu cầu tiền xác thực (pre-authentication integrity), hỗ trợ mã hóa AES-128/AES-256 GCM và SMB qua QUIC (Windows 11).

Hình 1.3: Các phiên bản của SMB

2. SMB hoạt động như thế nào?

SMB hoạt động theo mô hình Client – Server:

  • Máy Server: chia sẻ tài nguyên

  • Máy Client: truy cập tài nguyên đó qua mạng

Thiết lập kết nối: Khi một người dùng hoặc thiết bị muốn truy cập vào tệp tin, thư mục hoặc máy in trên máy chủ thông qua mạng, máy khách sẽ chủ động thiết lập một kết nối SMB với máy chủ đích. Việc thiết lập này đảm bảo hai bên có thể trao đổi dữ liệu qua cổng 445 (TCP).

Xác thực và quản lý phiên làm việc: Sau khi kết nối, quá trình xác thực sẽ diễn ra. Máy chủ xác nhận danh tính cũng như phân quyền truy cập của người dùng, đảm bảo chỉ những tài khoản hợp lệ mới được phép truy cập tài nguyên. Nếu xác thực thành công, một phiên làm việc (Session) được tạo ra để duy trì liên kết ổn định giữa client và server trong suốt quá trình sử dụng.

Gửi yêu cầu và truy cập tài nguyên: Ở bước này, người dùng hoặc ứng dụng gửi các yêu cầu như đọc file, ghi dữ liệu, xóa file, đổi tên hoặc truy xuất máy in,… Các thao tác này thực hiện qua chuẩn đóng gói riêng của SMB, giúp dễ dàng truyền dẫn giữa nhiều loại hệ điều hành khác nhau.

Xử lý và đáp ứng yêu cầu: Máy chủ SMB sẽ tiếp nhận yêu cầu, kiểm tra lại quyền truy cập và thực hiện lệnh liên quan trên tài nguyên được yêu cầu. Sau đó, máy chủ phản hồi kết quả lại cho máy khách.

Đóng kết nối khi hoàn tất: Khi người dùng hoàn thành thao tác hoặc không còn cần truy cập tài nguyên, phiên SMB sẽ được đóng để giải phóng tài nguyên mạng và đảm bảo an toàn vận hành. Toàn bộ với quy trình này, SMB giúp đơn giản hóa việc chia sẻ dữ liệu, đảm bảo hiệu quả và kiểm soát truy cập chặt chẽ trong hệ thống mạng nội bộ hoặc doanh nghiệp.

Hình 2.1: Nguyên lý hoạt động của giao thức SMB

3. Giải pháp về rủi ro về bảo mật giao thức SMB

Hình 3.1: Các giải pháp an toàn về SMB

3.1. Cập nhật hệ thống định kỳ

Hãy đảm bảo rằng tất cả các hệ thống của bạn đều được cập nhật với các bản vá bảo mật mới nhất từ Microsoft. Hoạt động này có tác dụng giảm thiểu nguy cơ bị tấn công thông qua các lỗ hổng bảo mật đã biết trong giao thức SMB.

3.2. Tắt SMBv1

Việc tắt SMBv1 (Server Message Block version 1) có ý nghĩa quan trọng trong việc tăng cường bảo mật hệ thống doanh nghiệp và cá nhân. Người dùng nên tham khảo một số lý do cơ bản như sau:

  • Giảm nguy cơ bị tấn công

SMBv1 đã gặp phải nhiều lỗ hổng bảo mật và đã được sử dụng trong nhiều cuộc tấn công mạng. Việc tắt SMBv1 giúp giảm thiểu nguy cơ bị tấn công thông qua các lỗ hổng bảo mật liên quan và ngăn chặn nhiều mối đe dọa tiềm ẩn.

  • Bảo vệ dữ liệu quan trọng

Khi tắt SMBv1, bạn đang ngăn chặn các mối đe dọa hệ thống tấn công và lây lan thông qua giao thức này. Điều này giúp bảo vệ dữ liệu quan trọng và tăng cường bảo mật thông tin.

  • Tuân thủ chuẩn bảo mật

Ngưng kết nối SMBv1 là một biện pháp tuân thủ các chuẩn bảo mật hiện đại hơn. SMBv1 đã bị coi là không an toàn và việc loại bỏ nó khỏi môi trường mạng giúp tạo ra một cơ sở hạ tầng mạng an toàn hơn.

→ Cách tắt SMBv1 trên windown

command line

dism /online /norestart /disable-feature /featurename:SMB1Protocol

Powershell

Disable-WindowsOptionalFeature -Online -FeatureName SMB1Protocol

3.3. Chặn các Port không quan trọng

  • Cổng 139

Đây là cổng mặc định được sử dụng cho SMB trên các phiên bản Windows cũ. Nếu không cần thiết, bạn có thể xem xét chặn cổng này để ngăn chặn các tấn công thông qua SMBv1.

  • Cổng 445

Cổng này được sử dụng cho SMB trên các phiên bản Windows hiện đại. Nếu không cần thiết, bạn cũng có thể xem xét chặn cổng này để giảm thiểu vùng mục tiêu cho các tấn công thông qua SMB.

→ Cách chặn port 445, 139 trên windown

netsh advfirewall firewall add rule dir=in action=block protocol=TCP localport=135 name=”Block_TCP-139″
netsh advfirewall firewall add rule dir=in action=block protocol=TCP localport=445 name=”Block_TCP-445″

4. Giải pháp thay thế

  • VPN (Virtual Private Network): Thiết lập VPN để người dùng kết nối vào mạng nội bộ trước khi truy cập tài nguyên. Lưu lượng được mã hóa, không cần mở port 445 ra ngoài.

  • FTP (SSH File Transfer Protocol): Truyền file qua SSH với mã hóa mặc định. Giải pháp đơn giản, an toàn, phù hợp khi chỉ cần chức năng chia sẻ hoặc tải file từ xa.

  • WebDAV qua HTTPS: Cho phép map ổ đĩa thông qua giao thức HTTPS. Dữ liệu được mã hóa bằng SSL/TLS, dễ triển khai trong môi trường có firewall chặt chẽ.

  • Owncloud: Nền tảng lưu trữ và chia sẻ dữ liệu dạng Private Cloud, cho phép doanh nghiệp tự triển khai hệ thống đồng bộ và quản lý file trên máy chủ riêng thay vì sử dụng dịch vụ lưu trữ công cộng.

Call icon
1800.6070
Hotline liên hệ
Zalo icon
Chat Zalo
Trò chuyện ngay