בחלק הראשון של סדרת המאמרים נתנו רקע לפתרון שדואג לכך שסיסמת ה- local administrator תהיה שונה ממחשב למחשב.
צעד ראשון ביישום הפתרון הוא פריסת ה- GPO CSE החדש על כל השרתים והתקנות.
את ההתקנה ניתן להוריד מהקישור הבא :
https://www.microsoft.com/en-us/download/details.aspx?id=46899
LAPS.x86.msi למערכות הפעלה 32bit ו- LAPS.x64.msi למערכות הפעלה 64bit.
את קובץ ה- MSI ניתן להתקין באמצעות שורת הפקודה "השקטה" (הדרך ההגיונית ביותר בארגונים גדולים שמפיצים אפליקציות באמצעות SCCM, GPO software installation, startup scripts או כל מערכת הפצה אחרת)
msiexec /i <file location>\LAPS.x64.msi /quiet
או ידנית …
- ההתקנה לא מצריכה / מבצעת Restart לתחנת העבודה/שרת
- בהתקנה באחת משתי השיטות הראשונות, ניתן להסיר את ה-Client מה- Add/Remove programs
אפשרות נוספת להתקנה היא העתקת ה- DLL (ה- GPO CSE) לתחנת העבודה והרצת הפקודה:
regsvr32.exe AdmPwd.dll –s
- בשיטה זאת של העתקה ו- Registration של ה- dll בלבד, לא תופיע ההתקנה תחת ה- Add remove program
התקנת ה- Management tools
ה- Management tools , מכיל את ה- LAPS UI , ה- GPO Templates (שני קבצי ה- ADMX/L ) וה- Powershell module
את ה- Management tools נתקין רק על מחשבים שמהם ננהל את סיסמאות ה- Local Administrators
על מנת להתקין את ה- Management tools נסמן את ה- Management tools במהלך התקנת ה- MSI
הרחבת ה- Active Directory Schema
מטרת הרחבת ה-Schema היא הוספת שני ה- Attributes ל- Computer object:
ms-MCS-AdmPwd – מכיל את הסיסמא ב- Clear text. אל חשש, רק משתמשים מורשים יוכלו לראות את התוכן של הערך
ms-MCS-AdmPwdExpirationTime מכיל את תאריך החלפת הסיסמא
לצורך הרחבת הסכימה נבצע login עם User account אשר חבר ב- Schema admins group למחשב המכיל את ה- Powershell module, נפתח Powershell window , נטען את ה- Module ונרחיב את ה- Schema באמצעות שתי הפקודות:
Import-Module admpwd.ps
Update-AdmPwdADSchema
- הערה: בנסיון טעינת ה- Module ממחשב עם מערכת הפעלה ישנה מ-Windows 8 / Windows 2012 , יתכן ונקבל את השגיאה:
PS C:\> Import-Module admpwd.ps
Import-Module : Could not load file or assembly 'file:///C:\Windows\system32\WindowsPowerShell\v1.0\Modules\AdmPwd.PS\AdmPwd.PS.dll' or one of its dependencies. This assembly is built by a runtime newer than the currently loaded runtime and cannot be loaded
הסיבה לכך היא בהתנהגות Powershell במערכות הפעלה לפני Windows 2012/ Windows 8 אשר טוען רק את ה-.Net2 runtime ואילו ה-Module החדש נבנה עם .Net4 runtime
על מנת לפתור את הבעיה, יש ליצור קובץ בשם powershell.exe.config תחת תיקיית ה- C:\Windows\System32\WindowsPowerShell\v1.0 ( תיקיית ה- $PSHOME ) עם התוכן הבא:
<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0.30319"/>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
הגדרת ההרשאות על ה- Attributes שהתווספו ל- Schema
כפי שציינו הגדרת Schema מוסיפה את שני ה- Attributes :
ms-MCS-AdmPwd , ms-MCS-AdmPwdExpirationTime
ms-MCS-AdmPwd – מכיל את הסיסמא ב- Clear text ולכן חשוב לנו שרק Domain Admins ומשתמשים מורשים יוכלו לראות את הסיסמא (למשל צוותי Helpdesk ומיחשוב)
הסיבה לכך שלא כל המשתמשים בארגון יכולים לראות את הערך (שלא כמו ערכים אחרים שנגישים לצפייה לכל המשתמשים) נעוצה בכך שה- Attribute מוגדר כ- Confidential.
בכל זאת, נרצה לוודא שאכן רק Domain Admins יכולים לראות את ה- Attribute (ורק אז נוסיף קבוצת מורשים נוספת) :
נפתח שוב חלון Powershell, תטענו את ה- Module והריצו את הפקודה:
Import-Module admpwd.ps
Find-AdmPwdExtendedrights -identity "dc=contoso,dc=com" | Format-Table ObjectDN,ExtendedRightHolders
בפלט של הפקודה, נוודא שאכן אין קבוצות או משתמשים מלבד Domain Admins שיש להם Extended rights.
במידה ויש הרשאות למשתמשים מסויימים על OUs של מחשבים שה- Local Administrators שלהם עתידים להיות מנוהלים ע”י LAPS כפי שמוצג בתמונה:
נוריד את ההרשאות מה- OU הספציפי
טוב, ווידאנו שרק ל- Domain admins יש הרשאות צפייה ב- Attribute החדש. עכשיו, במידה ורוצים לאפשר למשתמשים שלא חברים בקבוצת Domain Admins גישה לצפייה בסיסמאות (משתמשי צוות ה- Helpdesk או חברי צוות המחשוב ), נבצע את הפעולות הבאות:
- נייצר קבוצה חדשה PwdAdmins
- נוסיף אלי
יה את המשתמשים - נריץ את הפקודה הבאה על מנת להוסיף לקבוצה החדשה הרשאות צפייה וניהול הסיסמאות של המחשבים בקבוצת Servers:
Set-AdmPwdReadPasswordPermission -Identity Servers -AllowedPrincipals contoso\PwdAdmins
נחזור על הפקודה על כל OU שמכיל מחשבים/שרתים שנרצה לאפשר למשתמשים מורשים לראות את הסיסמא של ה-Local Administrator של המחשבים ב- OU
- כך יראה משתמש מורשה או Domain Admin את ה- Attribute Editor של Computer object
- מכיוון שה- ms-MCS-AdmPwd attribute הוא Confidential , משתמש "רגיל" לא יראה את ה- Attribute
הגדרה אחרונה היא מתן הרשאות כתיבה למחשב עצמו על שני ה- Attributes החדשים וזאת על מנת שהמחשב יוכל להזין את סיסמת ה- Local Administrator ואת תאריך השינוי ב- Attribute של ה-Computer account במקביל להחלפת הסיסמא בפועל ל- Local administrator
ושוב באמצעות פקודת Powershell לאחר טעינת ה- Module:
Import-Module admpwd.ps
Set-AdmPwdComputerSelfPermission -Identity Servers
את הפקודה יש להריץ על כל OU שמכיל מחשבים/שרתים שנרצה לנרצה לנהל את סיסמת ה- Local Administrator שלהם באמצעות הפתרון
בחלקו השלישי של המאמר נדבר על:
- הגדרת ה- Group policy settings
- ניהול סיסמאות ה-Local Administrator של מחשבים מרוחקים- צפייה בסיסמא והחלפת סיסמא יזומה