Ukrywanie folderów niedostępnych dla użytkownika za pomocą wyliczania opartego na dostępie (ABE) w systemie Windows Server

Technologia Access-na podstawie Wyliczenie (ABE - Transfer oparty na dostępie) pozwala ukryć pliki i foldery przed użytkownikami we współdzielonych zasobach sieciowych (kulkach), do których nie mają oni praw dostępu do odczytu na poziomie NTFS. W ten sposób można zapewnić dodatkową poufność danych przechowywanych w katalogu sieciowym (ukrywając strukturę i nazwy katalogów i plików), aby poprawić użyteczność dla użytkownika, który nie będzie pokazywał dodatkowych informacji podczas pracy z katalogiem sieciowym (zwłaszcza, że ​​ma on wszystkie równie nieobecny), a co najważniejsze, będziemy chronić administratora systemu przed ciągłymi pytaniami użytkowników ”dlaczego nie wpuszcza mnie do tego folderu!!". Spróbujmy bardziej szczegółowo zrozumieć tę technologię oraz funkcje jej konfiguracji i użytkowania w różnych wersjach systemu Windows.

Treść

  • Funkcje dostępu do udostępnionych folderów sieciowych systemu Windows
  • Ograniczenia wyliczania na podstawie dostępu
  • Korzystanie z ABE w systemie Windows Server 2008/2008 R2
  • Skonfiguruj wyliczanie oparte na dostępie w systemie Windows Server 2012 R2 / 2016
  • Skonfiguruj wyliczanie oparte na dostępie w systemie Windows Server 2003
  • Zarządzanie ABE z wiersza poleceń
  • Zarządzanie wyliczaniem opartym na dostępie za pomocą PowerShell
  • Wyliczanie oparte na dostępie w systemie Windows 10 / 8.1 / 7

Funkcje dostępu do udostępnionych folderów sieciowych systemu Windows

Jedną z wad folderów sieciowych systemu Windows jest fakt, że domyślnie wszyscy użytkownicy przeglądający zawartość folderu współdzielonego mogli przynajmniej zobaczyć jego strukturę oraz listę zawartych w nim plików i katalogów, w tym tych dostępnych na poziomie NTFS brakuje ich (podczas próby otwarcia takiego pliku lub folderu użytkownik otrzymuje błąd dostępu „Odmowa dostępu / Access Odmowa„). Dlaczego więc nie ukryć przed użytkownikiem tych katalogów i plików, do których nadal nie ma dostępu? Technologia powinna pomóc w tym zadaniu Access Na podstawie Wyliczenie (ABE). Włączając ABE we współdzielonym folderze sieciowym, możesz zapewnić, że różni użytkownicy zobaczą inną listę katalogów i plików w tym samym udziale sieciowym, w oparciu o indywidualne prawa dostępu do tych folderów (ACL).

Jak zachodzi interakcja między klientem a serwerem podczas uzyskiwania dostępu do folderu współdzielonego:

  • Klient kontaktuje się z serwerem z prośbą o dostęp do interesującego go katalogu w udostępnionym folderze sieciowym;
  • Service Serwer Lanman na serwerze sprawdza, czy użytkownik ma prawa dostępu do tego katalogu na poziomie uprawnień systemu plików NTFS;
  • Jeśli dostęp jest dozwolony (wyświetl zawartość / odczyt / zapis), użytkownik zobaczy listę zawartości katalogu;
  • Następnie użytkownik może otworzyć określony plik lub podfolder w ten sam sposób (możesz zobaczyć, kto otworzył określony plik w takim folderze sieciowym). Jeśli nie ma dostępu do folderu, użytkownik otrzymuje powiadomienie.

Z tego diagramu jasno wynika, że ​​serwer najpierw pokazuje użytkownikowi całą zawartość folderu i sprawdza prawa dostępu do określonego obiektu dopiero po próbie dostępu do jego zawartości.

Wyliczanie oparte na funkcjonalności (ABE) umożliwia wdrożenie kontroli dostępu do obiektów systemu plików przedtem w jaki sposób lista zawartości folderu jest wysyłana do użytkownika. Dlatego tylko te obiekty, do których użytkownik ma co najmniej uprawnienia, znajdą się na końcowej liście Czytaj na poziomie NTFS, a wszystkie niedostępne zasoby po prostu nie są wyświetlane (ukryte).

Tj. użytkownik jednego działu (na przykład magazynu) w tym samym katalogu sieciowym (\\ filesrv1 \ docs) zobaczy jedną listę folderów i plików. Jak widać, użytkownik wyświetla tylko dwa foldery: Publiczny i Sklad.

Użytkownicy innego działu, takiego jak dział IT (którzy należą do innej grupy zabezpieczeń systemu Windows), wyświetlają inną listę podkatalogów. Oprócz katalogów Public i Sklad w folderze sieciowym widocznych jest kolejnych 6 katalogów z danymi użytkownika.

Główną wadą korzystania z ABE na serwerach plików - dodatkowe obciążenie serwera. Można to szczególnie odczuć na mocno obciążonych serwerach plików. Im większa liczba obiektów w oglądanym katalogu, i im więcej użytkowników otwiera pliki, tym większe opóźnienie. Według Microsoft, jeśli w wyświetlanym katalogu znajduje się 15 000 obiektów (plików i katalogów), szybkość otwierania folderu zmniejsza się o 1-3 sekundy. Dlatego przy projektowaniu struktury folderów współdzielonych zaleca się zwrócenie dużej uwagi na tworzenie jasnej i hierarchicznej struktury podfolderów, w którym to przypadku spowolnienie szybkości otwierania katalogów będzie niewidoczne.

Uwaga. Należy rozumieć, że wyliczenie oparte na dostępie nie ukrywa przed użytkownikiem listy współużytkowanych zasobów sieciowych (piłki) na serwerze plików, ale działa tylko w odniesieniu do ich zawartości. Jeśli chcesz ukryć folder sieciowy przed użytkownikiem, dodaj symbol na końcu nazwy folderu współdzielonego $.

Możesz kontrolować ABE z wiersza poleceń (narzędzie abecmd.exe), z GUI, PowerShell lub poprzez specjalny interfejs API.

Ograniczenia wyliczania na podstawie dostępu

Wyliczanie oparte na dostępie w systemie Windows nie działa w przypadkach:

  1. Jeśli Windows Server lub Windows Server 2003 bez dodatku Service Pack jest używany jako serwer plików;
  2. Podczas przeglądania katalogów lokalnie (bezpośrednio z serwera). Na przykład użytkownik łączący się z serwerem RDS zobaczy wszystkie foldery lokalne, jeśli ten serwer będzie również używany jako serwer plików);
  3. Członkowie grupy administratorów lokalnego serwera plików (zawsze widzą pełną listę plików).

Korzystanie z ABE w systemie Windows Server 2008/2008 R2

W systemie Windows Server 2008 / R2, aby skorzystać z tej funkcji Access Na podstawie Wyliczenie nie trzeba instalować żadnych dodatkowych komponentów, as Zarządzanie funkcjami ABE jest już zintegrowane z GUI systemu Windows. Aby włączyć wyliczanie oparte na dostępie dla określonego folderu w systemie Windows Server 2008/2008 R2, otwórz konsolę zarządzania mmc Zarządzanie udziałami i pamięcią masową (Start -> Programy -> Narzędzia administracyjne -> Zarządzanie udziałami i pamięcią masową). Przejdź do okna właściwości żądanych piłek. Następnie przejdź do okna ustawień zaawansowanych (przycisk Zaawansowane) i włącz opcję Włącz wyliczanie oparte na dostępie.

Skonfiguruj wyliczanie oparte na dostępie w systemie Windows Server 2012 R2 / 2016

Konfiguracja ABE w Windows Server 2012 R2 / 2016 jest również łatwa. Aby włączyć Access Na podstawie Wyliczenie musisz najpierw naturalnie zainstalować rola serwer plików (Usługi plików i przechowywania), a następnie w konsoli Server Manager przejdź do właściwości folderu publicznego.

I w dziale Ustawienia włącz opcję Włącz wyliczanie oparte na dostępie.

Skonfiguruj wyliczanie oparte na dostępie w systemie Windows Server 2003

W systemie Windows Server 2003 (nie produkowane) od tego czasu obsługiwana jest technologia ABE Dodatek Service Pack 1. Aby włączyć wyliczanie oparte na dostępie w systemie Windows Server 2003 SP1 (i nowszych wersjach), musisz pobrać i zainstalować pakiet _http: //www.microsoft.com/en-us/download/details.aspx? Id = 17510. Podczas procesu instalacji musisz określić, czy automatycznie włączyć ABE dla wszystkich folderów współdzielonych na serwerze, czy też konfiguracja zostanie przeprowadzona indywidualnie. Jeśli zostanie wybrany drugi element, po zainstalowaniu pakietu pojawi się nowa karta Wyliczenie oparte na dostępie we właściwościach folderów współdzielonych.

Aby aktywować ABE dla określonego folderu, włącz opcję w jego właściwościach Włącz wyliczanie oparte na dostępie w tym folderze udostępnionym.

Należy również pamiętać, że system Windows 2003 obsługuje korzystanie z wyliczania opartego na dostępie opartym na systemie plików DFS, można go jednak skonfigurować tylko z wiersza polecenia za pomocą narzędzia cacls.

Zarządzanie ABE z wiersza poleceń

Dostępnymi ustawieniami wyliczania można sterować z wiersza poleceń za pomocą narzędzia Abecmd.exe. To narzędzie jest zawarte w pakiecie wyliczania opartym na dostępie dla systemu Windows Server 2003 z dodatkiem SP1 (link powyżej).

Utility Abecmd.exe umożliwia natychmiastową aktywację ABE dla wszystkich katalogów lub osobiście. Następujące polecenie natychmiast włącza wyliczanie oparte na dostępie dla całej piłki:

abecmd / enable / all

Lub dla określonego folderu (na przykład kulki o nazwie Dokumenty):

abecmd / enable docs

Zarządzanie wyliczaniem opartym na dostępie za pomocą PowerShell

Aby kontrolować ustawienia wyliczania opartego na dostępie dla określonych folderów, możesz użyć modułu PowerShell SMBShare (domyślnie instalowanego w Windows 10 / 8.1 i Windows Server 2016/2012 R2). Wyświetl właściwości określonego folderu sieciowego:

Get-SmbShare Zainstaluj | fl *

Zanotuj wartość atrybutu FolderEnumerationMode. W naszym przypadku jego wartość - Nieograniczony. Oznacza to, że ABE jest wyłączone dla tego folderu..

Możesz sprawdzić status ABE dla wszystkich folderów sieciowych serwera:

Get-SmbShare | Select-Object Name, FolderEnumerationMode

Aby włączyć ABE dla folderu, wykonaj:

Get-SmbShare Zainstaluj | Set-SmbShare -FolderEnumerationMode AccessBased

Możesz włączyć wyliczanie oparte na dostępie dla wszystkich opublikowanych folderów sieciowych (w tym piłka administracyjna ADMIN $, C $, E $, IPC $), wykonaj:

Get-SmbShare Zainstaluj | Set-SmbShare -FolderEnumerationMode AccessBased

Aby wyłączyć ABE, wykonaj:

Get-SmbShare Zainstaluj | Set-SmbShare -FolderEnumerationMode Nieograniczony

Wyliczanie oparte na dostępie w systemie Windows 10 / 8.1 / 7

Wielu użytkowników, szczególnie w sieciach domowych, chciałoby również móc korzystać z funkcji wyliczania opartego na dostępie. Problem polega na tym, że system operacyjny klienta Microsoft nie ma graficznego ani opartego na poleceniach interfejsu zarządzania wyliczaniem opartym na dostępie.

W systemie Windows 10 (Server 2016) i Windows 8.1 (Server 2012R2) można używać programu PowerShell do sterowania wyliczaniem opartym na dostępie (patrz sekcja powyżej). W starszych wersjach systemu Windows musisz zainstalować najnowszą wersję programu PowerShell (> = 5.0) lub użyć narzędzia abecmd.exe z pakietu dla systemu Windows Server 2003, działa również dobrze w systemie operacyjnym klienta. Ponieważ pakiet wyliczania opartego na dostępie do systemu Windows Server 2003 nie jest zainstalowany w systemie Windows 10 / 8.1 / 7, najpierw trzeba go zainstalować w systemie Windows Server 2003, a następnie skopiować z katalogu C: \ windows \ system32 do tego samego katalogu na kliencie. Następnie możesz włączyć ABE zgodnie ze skryptem za pomocą wiersza polecenia opisanego powyżej.

Uwaga. W środowisku korporacyjnym ABE wspaniale współpracuje z folderami DFS, ukrywając przed użytkownikiem „niepotrzebne” foldery i zapewniając wygodniejszą strukturę drzewa folderów publicznych. Możesz włączyć ABE w przestrzeni nazw DFS za pomocą konsoli zarządzania DFS lub narzędzia dfsutil.exe:
dfsutil właściwość abde enable \\

Ponadto można włączyć ABE na komputerach w domenie AD za pomocą zasad grupy. W tym celu zastosowano GPP: Konfiguracja komputera -> Preferencje -> Ustawienia systemu Windows -> Udziały sieciowe).

Jak widać, we właściwościach folderu sieciowego jest dostępna opcja Access-Na podstawie Wyliczenie, jeśli zmienisz wartość na Włącz, tryb ABE zostanie włączony dla wszystkich folderów publicznych utworzonych przy użyciu tego obiektu zasad grupy.