
У цій статті ми розглянемо спосіб управління паролями локальних адміністраторів на комп'ютерах домену за допомогою офіційної утиліти Microsoft - LAPS (Local admin password solution).
Питання управління вбудованими обліковими записами на комп'ютерах домену є одним з найважливіших аспектів безпеки, що вимагають уваги системного адміністратора. Безумовно, не варто допускати використання однакових паролів локальних адміністраторів на всіх комп'ютерах. Є безліч підходів до організації управління обліковими записами локальних адміністраторів в домені: починаючи від повного їх відключення (не дуже зручно), до управління ними через logon скрипти групових політик і створення власних систем управління вбудованими учеткі і їх паролями.
Раніше для зміни паролів локальний адміністраторів на комп'ютерах домену часто використовувалися розширення групових політик (GPP - Group Policy Preferences), проте в них була знайдена серйозна уразливість, що дозволяє будь-якому користувачеві розшифрувати пароль, що зберігається в текстовому файлі в каталозі Sysvol на контролерах домену (про це ми детально говорили в статті Чому не варто задавати паролі через Group Policy Preferences). У травні 2014 року Microsoft випустила оновлення безпеки (MS14-025 - KB 2962486), повністю відключає можливість задати пароль локального користувача через GPP.
зміст:
- Утиліта LAPS - Local Administrator Password Solution
- Підготовка схеми Active Directory для впровадження LAPS
- Налаштування прав в AD на атрибути LAPS
- Надання прав на перегляд пароля LAPS
- Налаштування групової політики LAPS
- Установка LAPS на клієнтські комп'ютери через GPO
- Використання утиліти LAPS для перегляду пароля адміністратора
Утиліта LAPS - Local Administrator Password Solution
важливо. Раніше утиліта LAPS називалася AdmPwd, але в 2015 року Microsoft анонсувала LAPS, перевівши її з розділу сторонніх скриптів в офіційно підтримуване рішення.утиліта LAPS (Local Administrator Password Solution) дозволяє централізованої управляти паролями адміністраторів на всіх комп'ютерах домену та зберігати інформацію про пароль і датою його зміни безпосередньо в об'єктах типу Computer в Active Directory.
Функціонал LAPS заснований на використанні спеціального функціоналу GPO, який заснований на Group Policy Client Side Extension (CSE) і представлеяет собою невеликий модуль, який встановлюється на робочі станції. Дане розширення GPO використовується для створення унікального пароля локальний адміністратор (SID - 500) на кожному комп'ютері домену. Пароль адміністратора автоматично змінюється з вказаною періодичністю (по-замовчуванню, кожні 30 днів). Значення поточного пароля зберігається в конфіденційному атрибуті облікового запису комп'ютера в Active Directory доступ на перегляд вмісту атрибута регулюється групами безпеки AD.
Завантажити LAPS і документацію до неї можна з цієї сторінки: https://www.microsoft.com/en-us/download/details.aspx?id=46899
Дистрибутив LAPS доступний у вигляді двох версій настановних msi файлів: для 32 (LAPS.x86.msi) І 64 (LAPS.x64.msi) Бітових систем.
Архітектура LAPS складається з 2 частин. Модуль управління встановлюється на машині адміністратора, а клієнтська частина встановлюється на серверах і ПК, на яких потрібно регулярно міняти пароль локального адміністратора.
Порада. Перед розгортанням LAPS в продуктивному домені радимо спробувати його в тестовому середовищі, тому що щонайменше потрібно розширення схеми AD (необоротне).Запустіть MSI файл утиліти на комп'ютері адміністратора, виберіть всі компоненти для установки (потрібна наявність як мінімум .Net Framework 4.0 - Як дізнатися які версії .Net встановлені). Пакет складається з двох частин:
- AdmPwd GPO Extension -виконувана частина LAPS, яка встановлюється на комп'ютери клієнтів і здійснює генерацію, збереження пароля в домені згідно налаштованої політики;
- І компоненти управління LAPS (Management Tools):
- Fat client UI - утиліта для перегляду пароля адміністратора;
- PowerShell module - модуль PowerShell для керування LAPS;
- GPO Editor templates - адміністративні шаблони для редактора групової політики.
Установка LAPS максимально проста і не повинна викликати будь-яких проблем.
Підготовка схеми Active Directory для впровадження LAPS
Перед розгортанням LAPS необхідно розширити схему Active Directory, в яку будуть додані дві нові атрибута для об'єктів типу комп'ютер.
- ms-MCS-AdmPwd- атрибут містить пароль локального адміністратора у відкритому вигляді;
- ms-MCS-AdmPwdExpirationTime - зберігає дату закінчення терміну дії пароля на комп'ютері.
Для розширення схеми, потрібно відкрити консоль PowerShell, імпортувати модуль Admpwd.ps:
Import-module AdmPwd.ps
Розширте схему Active Directory (потрібні права Schema Admin):
Update-AdmPwdADSchema
В результаті в клас "Computer" будуть додані два нових атрибута.
Налаштування прав в AD на атрибути LAPS
LAPS зберігає пароль локального адміністратора в атрибуті Active Directory ms-MCS-AdmPwd до відкритому вигляді, доступ до атрибуту обмежується завдяки механізму конфіденційних атрибутів AD (підтримується з Windows 2003). Атрибут ms-MCS-AdmPwd, в якому зберігається пароль, може бути прочитаний будь-яким власником дозволу "All Extended Rights". Користувачі і групи з цим дозволом можуть читати будь-які конфіденційні атрибути AD, в тому числі ms-MCS-AdmPwd. Оскільки ми не хочемо, щоб хтось крім адміністраторів домену (або служб HelpDesk) мав право на перегляд паролів для комп'ютерів, нам потрібно обмежити список груп з правами на читання цих атрибутів.
За допомогою командлета Find-AdmPwdExtendedRights можна отримати список облікових записів і груп, що володіють цим правом на конкретну OU. Перевірте, хто володіє подібними дозволами на OU з ім'ям Desktops:
Find-AdmPwdExtendedRights -Identity Desktops | Format-Table ExtendedRightHolders
Як ви бачите, право на читання конфіденційних атрибутів є тільки у групи Domain Admins.
Їли вам потрібно заборонити певним групам або користувачам доступ на читання таких атрибутів, потрібно виконати наступне:
- Відкрийте ADSIEdit і підключіться до Default naming context;
- Розгорніть дерево AD, знайдіть потрібний OU (в нашому прикладі Desktops), клацніть по ньому ПКМ і виберіть Properties;
- Перейдіть на вкладку Security, Натисніть на кнопку Advanced -> Add. В розділі Select Principal вкажіть ім'я групи / користувача, для якого потрібно обмежити права (наприклад, domain \ Support Team);
- Зніміть галку у права "All extended rights" і збережіть зміни.
Аналогічним чином потрібно вчинити з усіма групами, яким потрібно заборонити право на перегляд пароля.
Порада. Обмежити права на читання доведеться на все OU, паролями комп'ютерів в яких буде керувати LAPS.Далі потрібно надати права облікових записів комп'ютерів на модифікацію власних атрибутів (SELF), тому що зміна значень атрибутів ms-MCS-AdmPwd і ms-MCS-AdmPwdExpirationTime виконується з-під облікового запису самого комп'ютера. Скористаємося ще одним Командлети Set-AdmPwdComputerSelfPermission.
Щоб дати права комп'ютерів в OU Desktops на оновлення розширених атрибутів, виконайте команду:
Set-AdmPwdComputerSelfPermission -OrgUnit Desktops
Надання прав на перегляд пароля LAPS
Наступний етап - надання прав користувачам і групам на читання зберігаються в Active Directory паролів локальних адміністраторів на комп'ютерах домену. Наприклад, ви хочете дати членам групи AdmPwd права на читання паролів комп'ютерів в OU:
Set-AdmPwdReadPasswordPermission -OrgUnit Desktops -AllowedPrincipals AdmPwd
Крім того, можна надати окремій групі користувачів право на скидання пароля комп'ютера (в нашому прикладі ми надаємо це право тієї ж групи AdmPwd).
Set-AdmPwdResetPasswordPermission -OrgUnit Desktops -AllowedPrincipals AdmPwd
Налаштування групової політики LAPS
Далі потрібно створити новий об'єкт GPO (групових політик) і призначити його на OU, в якій містяться комп'ютери, на яких ви будете керувати паролями адміністраторів.
Для зручності управління ви можете скопіювати файли адміністративних шаблонів LAPS (% WINDIR% \ PolicyDefinitions \ AdmPwd.admx і% WINDIR% \ PolicyDefinitions \ en-US \ AdmPwd.adml) в центральне сховище GPO - \\winitpro.ru\ Sysvol\ Policies\ PolicyDefinition.Створіть політику з ім'ям Password_Administrador_Local наступною командою:
Register-AdmPwdWithGPO -GpoIdentity: Password_Administrador_Local
В консолі управління доменними політиками (gpmc.msc) відкрийте цю політику на редагування і перейдіть в розділ GPO:: Computer Configuration -> Administrative Templates -> LAPS.
Як ви бачите, є 4 настроюються параметра політики. Налаштуйте їх наступним чином:
- Enable local admin password management: Enabled (Включити політику управління паролями LAPS);
- Password Settings: Enabled - в політиці задається складності пароля, його довжина і частота зміни (по аналогії з доменними політиками для паролів користувачів);
- Complexity: Large letters, small letters, numbers, specials
- Length: 12 characters
- Age: 30 days
- Name of administrator account to manage: Not Configured (Тут вказується ім'я облікового запису адміністратора, пароль якої буде змінюватися. За замовчуванням змінюється пароль вбудованого administrator з SID-500);
- Do not allow password expiration time longer than required by policy: Enabled
Призначте політику Password_Administrador_Local на OU з комп'ютерами (Desktops).
Установка LAPS на клієнтські комп'ютери через GPO
Після настройки GPO потрібно встановити клієнтську частину LAPS на комп'ютери в домені. Встановити клієнт LAPS можна різними способами: вручну, через завдання SCCM, логон скрипт і т.п. У нашому прикладі ми встановимо msi файл за допомогою можливості установки msi пакетів через групові політики (GPSI).
- Створіть загальну папку в мережевому каталозі (або в папці SYSVOL на контролері домену), в яку потрібно скопіювати msi файли дистрибутива LAPS;
- Створіть нову GPO і в розділі Computer Configuration -> Policies -> Software Settings -> Software Installation створіть завдання на установку MSI пакету LAPS.
Залишилося призначити політику на потрібну OU, і після перезавантаження, на всіх комп'ютерах в цільовому OU повинен встановитися клієнт LAPS.
Перевірте, що списку встановлених програм в Панелі Управління (Programs and Features) з'явився запис "Local admin password management solution".
Коли утиліта LAPS змінює пароль локального адміністратора, запис про це фіксується в журналі Application (Event ID: 12, Source: AdmPwd).
Подія збереження пароля в атрибуті AD також фіксується (Event ID: 13, Source: AdmPwd).
Ось так виглядають нові атрибути біля комп'ютера в AD.
Використання утиліти LAPS для перегляду пароля адміністратора
Графічну утиліту AdmPwd UI для перегляду паролів LAPS потрібно встановити на комп'ютерах адміністраторів.
Запустіть утиліту, введіть ім'я комп'ютера (в поле computername), і ви повинні побачити поточний пароль локального адміністратора комп'ютера і термін дії.
Дату закінчення пароля терміну дії пароля можна задати вручну, або залишити поле з датою порожнім і натиснувши кнопку Set (це означає, термін дії пароля вже минув).
Пароль також можна отримати за допомогою PowerShell:
Import-Module AdmPwd.PS
Get-AdmPwdPassword -ComputerName
Якщо ви вважаєте, що паролі локальних адміністраторів на всіх комп'ютерах в деякому OU скомпрометовані, ви можете однією командою згенерувати нові пароля для всіх комп'ютерів в OU. Для цього нам знадобиться командлет Get-ADComputer:
Get-ADComputer -Filter * -SearchBase "OU = Computers, DC = MSK, DC = winitpro, DC = ru" | Reset-AdmPwdPassword -ComputerName $ _. Name
Аналогічним чином можна вивести список поточних паролів для всіх комп'ютерів в OU:
Get-ADComputer -Filter * -SearchBase "OU = Computers, DC = MSK, DC = winitpro, DC = ru" | Get-AdmPwdPassword -ComputerName $ _. Name
LAPS можна рекомендувати як зручне рішення для організації безпечної системи управління паролями на комп'ютерах домену з можливістю гранульованого управління доступом до паролів комп'ютерів з різних OU. Паролі зберігаються в атрибутах Active Directory у відкритому вигляді, але вбудовані засоби AD дозволяють надійно обмежити до них доступ.
Також рекомендуємо ознайомитися зі статтею Захист облікових записів адміністраторів в мережі Windows.