Як дозволити / заборонити користувачам вхід на комп'ютери в домені AD

За замовчуванням при створенні користувача в AD він автоматично додається в групу Domain Users. Група Domain Users в свою чергу за замовчуванням додається в локальну групу Users на комп'ютері при додаванні його в домен AD. Це означає що будь-який користувач домену може увійти на будь-який комп'ютер в мережі. У цій статті ми розглянемо основні способи обмеження можливості входу користувачів на комп'ютери домену.

зміст:

  • Дозволяємо вхід тільки на певні комп'ютери у властивостях користувача AD
  • Змінюємо атрибут LogonWorkstations за допомогою PowerShell
  • Обмежуємо вхід на комп'ютери за допомогою GPO

Дозволяємо вхід тільки на певні комп'ютери у властивостях користувача AD

У невеликих доменах ви можете у властивостях кожного користувача в AD обмежити можливість входу під його облікової на комп'ютери домену. Наприклад, ви хочете, щоб конкретний користувач міг входити тільки на свій комп'ютер. Для цього:

  1. Запустіть оснащення ADUC (Active Directory Users and Computers), виконавши команду dsa.msc.
  2. За допомогою пошуку знайдіть обліковий запис користувача, якому потрібно дозволити вхід тільки на певні комп'ютери і відкрийте його властивості.
  3. Перейдіть на вкладку Account і натисніть кнопку Log On To.
  4. Як ви бачите, користувачеві дозволено входити на всі комп'ютери (The user can log on to: All computer). Щоб дозволити користувачу доступ на певні комп'ютери, виберіть опцію The following computers і додайте в список імена комп'ютерів, але які йому дозволено логінитися. Примітка. Потрібно вказувати повне NetBIOS або DNS ім'я комп'ютера (знаки підстановки використовувати не можна), параметр регістронезавісімий.
  5. Кількість комп'ютерів, які можна додати в цей список обмежена 64. При спробі додати 65 комп'ютер з'явиться повідомлення про помилку: This property is limited to 64 values. You must remove some of the existing values ​​before you can add new ones.
  6. Збережіть зміни. Тепер користувач може входити тільки на зазначені комп'ютери.

Змінюємо атрибут LogonWorkstations за допомогою PowerShell

Вручну обмежувати вхід користувачів на комп'ютери домену досить утомливо. За допомогою PowerShell можна автоматизувати це дії. Список комп'ютерів, на які дозволено входити користувачеві зберігається в атрибуті користувача в AD - LogonWorkstations. Наприклад, наше завдання вирішити певному користувачеві входити тільки на комп'ютери, чиї імена містяться в текстовому файлі computers.csv

Скрипт може виглядати так (спочатку завантажуємо модуль AD для Powershell):

Import-Module ActiveDirectory
$ ADusername = 'aapetrov'
$ Complist = Import-Csv -Path "C: \ PS \ computers.csv" | ForEach-Object $ _. NetBIOSName
$ Comparray = $ complist -join ","
Set-ADUser -Identity $ ADusername -LogonWorkstations $ comparray
Clear-Variable comparray

За допомогою наступної команди можна вивести список комп'ютерів, на які дозволено входити користувачеві можна за допомогою командлета Get-ADUser.

Get-ADUser $ ADusername -Properties LogonWorkstations | Format-List Name, LogonWorkstations

Або можна подивитися список комп'ютерів в консолі ADUC.

Щоб додати до списку новий комп'ютер, скористайтеся такою командою:

$ Wks = (Get-ADUser dvivannikov -Properties LogonWorkstations) .LogonWorkstations
$ Wks + = ", newpc"
Set-ADUser aapetrov -LogonWorkstations $ Wks

Обмежуємо вхід на комп'ютери за допомогою GPO

У великих доменах використовувати властивість користувача LogonWorkstations для обмеження доступу користувачів до комп'ютерів недоцільно через обмеження і недостатню гнучкість. Як правило, щоб заборонити користувачам входити на деякі ПК? використовують групові політики.

Можна обмежити список користувачів в локальній групі Users за допомогою політики Restricted Groups (Windows Settings -> Security Settings), але ми розглянемо інший варіант.

Є дві групові політики, які знаходяться в розділі Computer Configuration -> Policies -> Security Settings -> Local Policies -> User Rights Assignment (Конфігурація користувача -> Політики -> Параметри безпеки -> Локальні політики -> Призначення прав користувача):

  • Deny log on locally (Заборонити локальний вхід) - дозволяє заборонити локальний вхід на комп'ютери для певних користувачів або груп;
  • Allow log on locally (Локальний вхід в систему) - містить список користувачів і груп, яким дозволено входити на комп'ютер локально.

Наприклад, щоб заборонити користувачам певної групи входити на комп'ютери в якійсь OU, ви можете створити окрему групу користувачів, додати її в політику Deny log on locally і призначити її на OU з комп'ютерами, доступ до яких ви хочете обмежити.

У великих доменах можна використовувати комбінацію цих політик. Наприклад, ви хочете заборонити користувачам входити на комп'ютери інших OU.

Для цього в кожній OU потрібно створити групу безпеки, куди потрібно включити всіх користувачів OU.

Порада. Групи можна автоматично наповнювати користувачами з OU за допомогою командлетів PowerShell Get-ADUser і Add-ADGroupMember таким скриптом:

Import-module ActiveDirectory
$ RootOU = "OU = Users, OU = MSK, DC = winitpro, DC = ru"
$ Group = "corp \ msk-users"
Get-ADUser -SearchBase $ rootOu -Filter * | ForEach-Object Add-ADGroupMember -Identity $ group -Members $ _

Потім потрібно включити політику Allow log on locally, додати в неї цю групу (+ різні адміністраторські групи: Domain Admins, адміністратори робочих станцій та інше) і призначити політику на OU з комп'ютерами. Таким чином ви дозволите тільки користувачам конкретного OU входити на комп'ютери.

При спробі входу користувача, якому не дозволено локальний вхід, з'явиться вікно з попередженням:

You can not log on because the logon method you are using is not allowed on this computer. Please see your network administrator for more information.

або

The sign-in method you are trying to use is not allowed. For more info, contact your network administrator.

Кілька важливих моментів щодо даних політик:

  • Не варто застосовувати дані політики, для обмеження доступу до серверів і тим більше до контролерів домену. Як дозволити звичайним користувачам RDP доступ до DC.
  • Чи не включаєте ці політики через стандартні GPO: Default Domain Policy або Default Domain Controllers Policy.
  • Забороняє політика має більший пріоритет.
  • Не забувайте про сервісні облікові записи (в тому числі gMSA), які можуть використовуватися для запуску служб на комп'ютерах.
  • Не варто застосувати політики, що обмежують локальний вхід на весь домен. Призначайте їх на конкретні OU.