Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Máy Chủ Windows

Cách bật Access-Based Enumeration (ABE) trên Windows Server?

Access-based Enumeration (ABE) cho phép ẩn các đối tượng (file và thư mục) khỏi người dùng không có quyền NTFS (Read hoặc List) trên thư mục chia sẻ mạng để truy cập chúng. Do đó, bạn có thể cung cấp tính bảo mật bổ sung cho dữ liệu lưu trữ trong thư mục chia sẻ (nhờ ẩn cấu trúc và tên thư mục/file), cải thiện khả năng sử dụng vì người dùng sẽ không thấy dữ liệu lạ (họ không có quyền truy cập) và, quan trọng hơn, giải phóng quản trị viên hệ thống khỏi các câu hỏi liên tục của người dùng "Tại sao tôi không thể truy cập thư mục này!!!". Hãy xem chi tiết công nghệ này, đặc điểm cấu hình và sử dụng ABE trong các phiên bản Windows khác nhau.

Cách truy cập thư mục chia sẻ hoạt động trong Windows?

Một trong những nhược điểm của công nghệ thư mục chia sẻ mạng trong Windows là việc mặc định tất cả người dùng ít nhất có thể thấy cấu trúc và danh sách tất cả file và thư mục trong thư mục đó, bao gồm cả những file/thư mục họ không có quyền NTFS để truy cập (khi cố gắng mở file/thư mục đó, người dùng nhận được lỗi "Access Denied"). Tại sao không ẩn những file và thư mục đó khỏi người dùng không có quyền truy cập? Access-based Enumeration có thể giúp làm điều đó. Bằng cách bật ABE trên thư mục chia sẻ, bạn có thể đảm bảo rằng các người dùng khác nhau thấy danh sách thư mục và file khác nhau trong cùng một chia sẻ mạng dựa trên quyền truy cập riêng lẻ của người dùng (ACL).

Tương tác giữa client và server khi truy cập thư mục chia sẻ qua SMB diễn ra như thế nào?

  • Client yêu cầu server truy cập thư mục trong chia sẻ mạng;
  • Dịch vụ LanmanServer trên server kiểm tra quyền người dùng truy cập thư mục này;
  • Nếu truy cập được phép (quyền NTFS: liệt kê nội dung, đọc hoặc ghi), người dùng thấy nội dung thư mục;
  • Sau đó người dùng yêu cầu truy cập file hoặc thư mục con theo cùng cách (bạn có thể xem ai mở file cụ thể trong thư mục mạng như vậy);
  • Nếu truy cập bị từ chối, người dùng được thông báo tương ứng.

Theo sơ đồ này, rõ ràng server trước tiên hiển thị toàn bộ nội dung thư mục cho người dùng, và quyền NTFS chỉ được kiểm tra khi người dùng cố gắng mở file hoặc thư mục cụ thể.

Access-based Enumeration (ABE) cho phép kiểm tra quyền truy cập trên các đối tượng hệ thống file trước khi người dùng nhận được danh sách nội dung thư mục. Vì vậy, danh sách cuối cùng chỉ bao gồm những đối tượng mà người dùng có quyền NTFS truy cập (ít nhất quyền đọc), và tất cả tài nguyên không thể truy cập đơn giản là không hiển thị (bị ẩn).

Điều đó có nghĩa là người dùng từ một phòng ban (ví dụ: kho) sẽ thấy một danh sách file và thư mục trong thư mục chia sẻ (\\filesrv1\docs). Như bạn thấy, chỉ hai thư mục được hiển thị cho người dùng: Public và Warehouse.

Cách bật Access-Based Enumeration (ABE) trên Windows Server?

Và cho người dùng từ phòng ban khác, ví dụ, phòng IT (được đưa vào nhóm bảo mật Windows khác), một danh sách thư mục con khác được hiển thị. Ngoài thư mục Public và Warehouse, người dùng này thấy thêm 5 thư mục nữa trong cùng thư mục mạng.

Cách bật Access-Based Enumeration (ABE) trên Windows Server?

Nhược điểm chính của việc sử dụng ABE trên máy chủ file Windows là tải thêm lên server. Nó đặc biệt nổi bật trên máy chủ file tải cao. Càng nhiều đối tượng trong thư mục được xem, và càng nhiều người dùng mở file trên đó, độ trễ càng lớn. Theo Microsoft, nếu có 15.000 đối tượng (file và thư mục) trong thư mục hiển thị, mở thư mục chậm hơn 1-3 giây. Đó là lý do khuyến khích phải chú ý nhiều đến việc tạo cấu trúc thư mục con rõ ràng, phân cấp khi thiết kế cấu trúc thư mục chia sẻ để độ trễ khi mở thư mục ít rõ rệt hơn.

Lưu ý. Bạn nên hiểu rằng Access-based Enumeration không ẩn danh sách thư mục chia sẻ mạng trên máy chủ file, nó chỉ ẩn nội dung của chúng. Nếu bạn cần ẩn thư mục chia sẻ khỏi người dùng, bạn phải thêm ký hiệu $ vào cuối tên chia sẻ.

Bạn có thể quản lý ABE từ command prompt (tiện ích abecmd.exe ), từ GUI, PowerShell hoặc API đặc biệt.

Hạn chế của Access-Based Enumeration

Access-based Enumeration trên Windows không hoạt động trong các trường hợp sau:

  • Nếu bạn sử dụng Windows XP hoặc Windows Server 2003 không có Service Pack 1 làm file server;
  • Nếu bạn xem thư mục cục bộ (trực tiếp từ server);
  • Đối với thành viên của nhóm administrators cục bộ của file server (họ luôn thấy danh sách đầy đủ file).

Sử dụng ABE trên Windows Server 2008/ 2008 R2

Trong Windows Server 2008/R2 để sử dụng chức năng Access Based Enumeration không cần cài đặt thành phần bổ sung, vì tính năng quản lý ABE đã được tích hợp sẵn vào GUI Windows. Để bật Access-based Enumeration cho một thư mục nhất định trong Windows Server 2008/2008 R2, mở console quản lý MMC Share and Storage Management (Start -> Programs -> Administrative Tools -> Share and Storage Management). Đi đến thuộc tính của chia sẻ cần thiết. Sau đó đi đến cài đặt Advanced và tích Enable access-based enumeration.

Cách bật Access-Based Enumeration (ABE) trên Windows Server?

Cấu hình Access-based Enumeration trên Windows Server 2012 R2/ 2016

Cấu hình ABE trong Windows Server 2012 R2 / 2016 cũng rất đơn giản. Để bật ABE trong Windows Server 2012, bạn trước hết phải cài đặt vai trò File and Storage Services, sau đó đi đến thuộc tính chia sẻ trong Server Manager.

Cách bật Access-Based Enumeration (ABE) trên Windows Server?

Trong phần Settings tích tùy chọn Enable access-based enumeration.

Cách bật Access-Based Enumeration (ABE) trên Windows Server?

Triển khai Access-Based Enumeration trên Windows Server 2003

Trong Windows Server 2003 (không còn được hỗ trợ), ABE được hỗ trợ từ Service Pack 1. Để bật Access-based Enumeration trong Windows Server 2003 SP1 (hoặc mới hơn), bạn phải tải xuống và cài đặt gói theo link https://www.microsoft.com/en-us/download/details.aspx?id=17510. Trong quá trình cài đặt, bạn phải chỉ định ABE sẽ được bật cho tất cả thư mục chia sẻ trên server của bạn hay bạn sẽ cấu hình thủ công. Nếu chọn tùy chọn thứ hai, một tab mới, Access-based Enumeration, sẽ xuất hiện trong thuộc tính chia sẻ mạng sau khi cài đặt.

Cách bật Access-Based Enumeration (ABE) trên Windows Server?

Để kích hoạt ABE cho một thư mục nhất định, tích tùy chọn Enable access-based enumeration on this shared folder trong thuộc tính của nó.

Cách bật Access-Based Enumeration (ABE) trên Windows Server?

Quan trọng cần nhắc rằng Windows 2003 hỗ trợ DFS-based Access Based Enumeration, nhưng chỉ có thể cấu hình từ command prompt bằng cacls.

Quản lý ABE từ Command Prompt

Bạn có thể quản lý cài đặt Access-based Enumeration từ command prompt bằng tiện ích Abecmd.exe. Công cụ này là một phần của gói Access-based Enumeration cho Windows Server 2003 SP1 (xem link trên).

Abecmd.exe cho phép kích hoạt ABE cho tất cả thư mục cùng lúc hoặc chỉ cho một số thư mục. Lệnh sau bật Access-Based Enumeration cho tất cả chia sẻ:

abecmd /enable /all

Lệnh này dành cho một thư mục nhất định (ví dụ, thư mục chia sẻ mạng tên Docs):

abecmd /enable Docs

Quản lý Access Based Enumeration bằng PowerShell

Bạn có thể dùng module PowerShell SMBShare (được cài mặc định trong Windows 10/ 8.1 và Windows Server 2016/2012 R2) để quản lý cài đặt Access Based Enumeration cho các thư mục cụ thể. Hãy liệt kê thuộc tính của một thư mục chia sẻ cụ thể:

Get-SmbShare Install|fl *

Cách bật Access-Based Enumeration (ABE) trên Windows Server?Lưu ý giá trị thuộc tính FolderEnumerationMode. Trong trường hợp của chúng tôi, giá trị là Unrestricted. Điều này có nghĩa là ABE bị tắt cho thư mục này.

Bạn có thể kiểm tra trạng thái ABE cho tất cả thư mục chia sẻ của server:

Get-SmbShare | Select-Object Name,FolderEnumerationMode

Để bật ABE cho một thư mục cụ thể:

Get-SmbShare Install | Set-SmbShare -FolderEnumerationMode AccessBased

Cách bật Access-Based Enumeration (ABE) trên Windows Server?Bạn có thể bật Access Based Enumeration cho tất cả thư mục mạng đã phát hành (bao gồm chia sẻ quản trị ADMIN$, C$, E$, IPC$,…) bằng lệnh:

Get-SmbShare | Set-SmbShare -FolderEnumerationMode AccessBased

Để tắt ABE, dùng lệnh:

Get-SmbShare Install | Set-SmbShare -FolderEnumerationMode Unrestricted

Access-Based Enumeration trong Windows 10 / 8.1 / 7

Nhiều người dùng, đặc biệt trong mạng gia đình hoặc SOHO, cũng muốn sử dụng tính năng Access-Based Enumeration. Vấn đề là Microsoft client OS không có giao diện đồ họa cũng như dòng lệnh để quản lý Access-Based Enumeration.

Trong Windows 10 (Server 2016) và Windows 8.1 (Server 2012R2), bạn có thể dùng PowerShell để quản lý Access-based Enumeration (xem phần trên). Trong các phiên bản Windows cũ hơn, bạn cần cài đặt phiên bản PowerShell mới nhất (>= 5.0) hoặc dùng tiện ích abecmd.exe từ gói Windows Server 2003, nó hoạt động tốt trên client OS. Vì gói Access-based Enumeration của Windows Server 2003 không được cài trên Windows 10, 8.1 hoặc 7, bạn phải cài đặt nó trước trên Windows Server 2003, sau đó sao chép từ thư mục C:\windows\system32 vào cùng thư mục trên client. Sau đó, bạn có thể bật ABE theo các lệnh mô tả trên.

Lưu ý. Trong môi trường doanh nghiệp, ABE kết hợp hoàn hảo với thư mục DFS bằng cách ẩn thư mục khỏi người dùng và cung cấp cấu trúc cây thư mục công khai tiện lợi hơn. Bạn có thể bật ABE trong DFS bằng DFS Management hoặc dfsutil.exe:
dfsutil property abde enable \\namespace_root

Ngoài ra, bạn có thể bật ABE trên máy tính trong miền AD bằng GPO. Điều này có thể làm bằng GPP trong phần: Computer Configuration -> Preferences -> Windows Settings -> Network Shares).

Cách bật Access-Based Enumeration (ABE) trên Windows Server?
Trong thuộc tính thư mục mạng có tùy chọn Access-Based Enumeration, nếu bạn đổi giá trị thành Enable, chế độ ABE sẽ được bật cho tất cả thư mục chia sẻ được tạo bằng GPO này.