אבטחת סיסמאות מנהל החלונות באמצעות Microsoft LAPS

האופן בו אתה טוטל כרגע עם סיסמאות מנהלי Windows המקומיות? כל מערכת Windows יש לה סיסמה כזו, והיא מחזיקה את המפתחות לממשלת כל מחשב. מאחר שסיסמאות המנהל המקומי אינן חלק מ־Active Directory (AD), עליך לנהל כל חשבון על כל מחשב בנפרד. זה כואב.

לעיתים רבות, ארגונים לא נותנים יותר מדי תשומת לב לנושא ופשוט מגדירים סיסמת מנהל סטנדרטית על כל מחשב Windows. שיטה זו, אף שנוחה, פותחת את הארגונים לבעיה גדולה יותר כאשר הסיסמה המאסטרית הזו נותנת לידיים הלא נכונות. לכן, יש להפריד בין סיסמת מנהל מקומית לכל מחשב, מה שלא בהכרח מונע מאדם זדוני לגשת למחשב מסוים, אך מונע בצורה משמעותית את השטח לשליטה במחשבים אחרים.

פתרון סיסמת מנהל המקומי של מיקרוסופט (LAPS) יכול לעזור.

במאמר זה, תלמד איך לאבטח את המחשבים המקושרים ל-AD שלך על ידי הגדרת LAPS.

מהו Microsoft LAPS?

LAPS הוא חלק חיוני מתהליך שמטרתו שמירה על אבטחת סביבת Windows. LAPS הוא כלי שפועל בדרך חכמה; הוא אוטומטית משנה את סיסמת המנהל המקומית על כל מחשבי התחום בהם LAPS מופעלת ומשנה כל סיסמה באופן תדיר.

הLAPS מבטיחה שיש לך סיסמאות שונות למנהל המקומי שלך בכל רחבי התחום שלך ומונעת תנועה צדדית מהאתרים ומתוקפי תוכנות זדוניות. עכשיו, אתה יכול לחשוב שסיסמת מנהל מקומי ארוכה בלקוח יגן עליך מכך אך זה לא נכון.

האקרים יכולים להשתמש בשיטת Pass-The-Hash לפרוסה במהירות דרך התחום שלך ואפשר אפילו שיבוצע גישה לזיהוי של סיסמת מנהל תחום באמצעות אותה שיטה. הLAPS מונעת פעילות זו על ידי כך שכובשת אנשים זדונים לגלות סיסמה עבור כל מחשב בנפרד.

הLAPS בפועל

הLAPS כוללת שלושה חלקים עיקריים:

מאפייני AD נעולים

הLAPS אוחסנת כל סיסמת מנהל המקומי עבור כל מחשב שבשלטון שלו ב-AD בשם ms-Mcs-AdmPwd. הLAPS גם צריכה לדעת מתי הסיסמאות פגות תוקפה ולשנות אותן, ולכן היא אוחסנת גם במאפיין נוסף שב-AD בשם ms-Mcs-AdmPwdExpirationTime. ניתן לכתוב ולקרוא מאפייני AD אלו רק על ידי ייעוד של פרינסיפלים מסויימים ב-AD, כמו קבוצה או משתמש, וגם להיות ניתן לכתוב על ידי חשבון המחשב שמשתמש בסיסמה.

הגדרות GPO

כדי לספק את הLAPS במחשב ולשנות את הסיסמה, הLAPS כוללת סט של הגדרות GPO. כאשר ה-GPO מקושר לקבוצת מחשבים, ההגדרות של הLAPS מתפרסות לכל מחשב. כאשר המחשב מחיל את הגדרות ה-GPO, הLAPS משתמשת בקובץ DLL מיוחד כדי לפרש אותן.

כאשר LAPS רואה שתאריך התוקפן עבר את תאריך התפוגה של הסיסמה, זה יעשה את הבא:

  • ייחודי סיסמה חדשה ולהגדיר אותו כסיסמת האדמיניסטרטור המקומית.
  • לכתוב את הסיסמה החדשה של האדמיניסטרטור המקומי למאפיין Ms-Mcs-AdmPwd ב-AD.
  • לכתוב תאריך תפוגה חדש ל-ms-Mcs-AdmPwdExpirationTime.

על ידי שימוש בשיטה זו החכמה ואף פשוטה המחשבים בדומיין נשארים אפילו יותר מאובטחים.

הגדרת LAPS

מספר מספיק של מידע, בואו נראה מה בדיוק יכול LAPS לעשות! הגדרת LAPS אינה מורכבת אך מחייבת מספר שלבים שתלמדו במדריך זה. הם הם:

  1. התקנת כלי ניהול LAPS על המכונה של המנהל שלך.
  2. הרחבת סכימת ה-AD כדי להוסיף את שני המאפיינים המותאמים אישית שמשתמש LAPS.
  3. הגדרת הרשאות מתאימות עבור רכיבים שונים ב-AD.
  4. בניית ה-GPO של LAPS שיתקבל למחשבים בווינדוס.
  5. הרכבת ההרחבה של LAPS GPO למחשבים בווינדוס המתאימים.

פעם שתסיימו עם השלבים הנ"ל, יהיה לכם סביבת LAPS פעילה ומוכנה לשימוש!

תנאי קדם

במאמר זה, אתם תכינו את LAPS לשימוש אמיתי. אם ברצונכם לעקוב אחר השלבים, אנא הקפידו לוודא תוך כדי שאתם עומדים בכמה תנאים קדם:

  • דומיין AD (משנת 2003 ומעלה)
  • A computer running Windows (10 or Server 2012+ is recommended) has RSAT for Active Directory installed.
  • גישה לחשבון שהוא חבר בקבוצות מנהלי הדומיין AD ומנהלי הסכימה.

כל הדוגמאות במאמר זה ישתמשו בתחום AD בשם contoso.com.

המומלץ עבור קבוצת מנהלי הסכימה הוא להיות חבר בה רק כאשר יש צורך בהרשאות.

התקנת כלי ניהול Microsoft LAPS

כדי להתחיל, עליך להתקין תחילה את כלי הניהול של LAPS על מחשב הניהול שלך. כלי הניהול האלה יתקינו את שני הרכיבים: השליחה של LAPS GPO (אם נבחר) וכלי הניהול להגדרת LAPS.

  1. התחל בהורדת הקובץ LAPS.x64.msi והפעל אותו כמנהל ולחץ על הבא.
Installing Microsoft LAPS

2. לחץ הבא עד שתגיע להתקנה מותאמת אז לחץ על כלי ניהול ועל התקן את כל התכונות על כונן הקשיח המקומי כדי להתקין שני אלה הרכיבים. אם אינך רוצה שהמחשב הנוכחי ינוהל על ידי LAPS, בחר הרחבת GPO של AdmPwd.

Click Management Tools

3. לחץ הבא עד שההתקנה מסתיימת וצא מהמתקין.

עכשיו התקנת את שליחות LAPS GPO (אם נבחר) וכלי הניהול שלה וכעת נוכל להתחיל להרחיב את סכימת ה-AD ולהוסיף את ה-GPO שלנו.

הרחבת סכימת ה-AD

כפי שאומר לפני, LAPS משתמש בשני מאפייני AD הנקראים ms-Mcs-AdmPwd ו- ms-Mcs-AdmPwdExpirationTime. שני המאפיינים הללו אינם ברירת מחדל ויש להוסיף אותם לסכימת ה-AD.

  1. התחל על ידי הוספת חבר של קבוצת Domain Admins לקבוצת Schema Admins אם החשבון עדיין לא חבר. נקרא לזה "חשבון האדמין שלך".
  2. הפעל את PowerShell כחשבון האדמין שלך וייבא את המודול AdmPwd של PowerShell על ידי ביצוע הפקודה Import-module AdmPwd.PS.
  3. לאחר שהמודול ייבא, הפעל את הפקודה Update-AdmPwdADSchema כדי לעדכן את סכמת ה-AD ולהוסיף את שני המאפיינים של AD. תוכל לראות את הפלט בתמונת המסך הבאה.
Powershell Admin Account

עכשיו הרחבנו את סכמת ה-AD שלנו כדי לתמוך ב- LAPS ומוכנים להגדיר הרשאות ב-Active Directory.

הגדרת הרשאות ב-Active Directory

כל מחשב צריך את היכולת לעדכן את סיסמת המנהל המקומית שלו ואת המאפיין תוקף הסיסמה AD. כדי לעשות זאת, על כל מחשב להיות לו הרשאה כתיבה עצמית למאפייני ה-AD ms-Mcs-AdmPwd ו- ms-Mcs-AdmPwdExpirationTime. מזל שרוב העבודה הזו נעשית בקלות עם מודול ה-PowerShell של AdmPwd.

מאפשר למכונות לשמור על הסיסמה שלהם

תחילה, הקפד שכל מחשב יוכל לשמור על הסיסמה שלו במאפיין ה-AD ms-Mcs-AdmPwd ולעדכן כאשר הסיסמה תפוג במאפיין ה-AD ms-Mcs-AdmPwdExpirationTime. למודול PowerShell AdPwd יש פקודה שבאמצעותה אתה יכול להגדיר את ההרשאות האלו בשם Set-AdmPwdComputerSelfPermission לפי יחידת ארגון (OU) שמחולקת לכל ה-OU ילדיה.

ב-PowerShell, הרץ את Set-AdmPwdComputerSelfPermission -OrgUnit ‘OU=Workstations,DC=contoso,DC=com’ זכור לעדכן את ה-OU ושם הדומיין המסוים שלך.

Update OU and Domain Name

אם ברצונך ש-LAPS תשלוט על יותר מ-OU אחד, חזור על הפקודה למעלה עבור כל OU ב-AD.

נעיצת התכונות של AD על ידי מציאת זכויות מורחבות

כדי לוודא כי רק המשתמשים והקבוצות שאתה רוצה יהיו עם הרשאות לקרוא ולאפס את הסיסמה של האדמין המקומי של כל מחשב, עליך לבצע בדיקת ניטור כדי לקבוע מי יש לו גישה. במיוחד, עליך לדעת כי רק החשבונות שצריכים "זכויות מורחבות" מקבלים אותן.

כדי למצוא חשבונות עם זכויות מורחבות, הרץ Find-AdmPwdExtendedRights -OrgUnit 'OU=Workstations,DC=contoso,DC=com' | Select -ExpandProperty ExtendedRightHolders וודא שאתה מחליף את ה-OU ושם הדומיין שלך.

כעת אתה יכול לראות בצילום המסך הבא ש-CONTOSO\joe-the-admin ו-CONTOSO\MDT-service יש להם זכויות מורחבות ל-Workstations OU.

Workstations OU

ההרשאה של MDT-service באמת נדרשת לו, אך של joe-the-admin לא. עכשיו עליך להסיר את ההרשאה של joe-the-admin.

תצטרך לחזור על תהליך זה עבור כל ה-OU שהגדרת את ההרשאה לכתיבה עצמית עליהם בשלב קודם.

הסרת זכויות מורחבות

כאשר אתה זיהית כל חשבון שצריך להסיר ממנו זכויות מורחבות, הגיע הזמן לבצע זאת בפועל.

  1. פתח את Active Directory Users And Computers ולחץ על View בתפריט העליון ווודא שהאפשרות Advanced Features מופעלת. כשאתה מפעיל יכולות מתקדמות, תראה את כל ה-OUים שבדרך כלל מוסתרים כפי שמוצג בתמונת המסך הבאה.
Hidden OUs

2. לחץ ימינה על ה-OU שברצונך להסיר ממנו את ההרשאות המורחבות ולחץ על Properties.

Right Click OU to Remove

3. לחץ על הלשונית Security ולאחר מכן לחץ על הכפתור Advanced.
4. מצא את החשבון או הקבוצה שברצונך להסיר ממנו את ההרשאות המורחבות והסר אותו על ידי בחירתו ולחיצה על Remove.

Security Tab for Account Removal

5. חזור על השלבים הללו ככל שנדרש עבור כל הגורמים עם הרשאות מורחבות.

מתן רשאות לקרוא ולאפס את סיסמת המנהל המקומית

עכשיו שוודאת שרק חשבונות המתאימים מסתיימים בהרשאות מורחבות, עליך כעת ליצור שני קבוצות AD לקריאה ואיפוס של סיסמת האדמיניסטרטור המקומית בשמות LAPS Workstations Password Read ו-LAPS Workstations Password Reset.

שים לב ששמות הקבוצות שצוינו כאן אינם חובה. ניתן להשתמש בשם קבוצה כלשהו שתבחר.

עם חלון פוורשל PowerShell פתוח עם החשבון המנהל שלך, הזן את הפקודות הבאות כדי להעניש שני קבוצות AD אלו הרשאה לקרוא את סיסמת המנהל המקומית ולאפס אותה עבור מחשבים ב-OU של Workstations.

PS> Set-AdmPwdReadPasswordPermission -OrgUnit 'OU=Workstations,DC=contoso,DC=com' -AllowedPrincipals "LAPS Workstations Password Read"

PS> Set-AdmPwdResetPasswordPermission -OrgUnit 'OU=Workstations,DC=contoso,DC=com' -AllowedPrincipals "LAPS Workstations Password Reset" 

עכשיו הפעלת את קבוצות ה-AD למעלה כדי לקרוא ולאפס את הסיסמאות של המנהל המקומי למחשבים בארגון תחנות עבודה. עכשיו עליך להוסיף את המנהלים או הקבוצות הנדרשות כדי לקרוא או לאפס את הסיסמאות.

יצירת חנות מרכזית עבור תבניות מדיניות קבוצה

כדי להפעיל את LAPS פעם אחת שהותקן על המחשבים, עליך תחילה ליצור מדיניות קבוצה על ידי יבוא תבניות מדיניות הקבוצה לאחסון PolicyDefinition. אחסון PolicyDefinition הוא תיקייה הממוקמת בכל בקר של שרתי התחום.

אף פעם אל תפעיל מדיניות GPO של LAPS שמיועדת לבקרי התחום. זה לא נתמך ועשוי לגרום לבעיות בלתי צפויות.

  1. בחר בבקר התחום ב-AD; כל בקר תחום יעבוד.
  2. ודא ש-\\contoso.com\SYSVOL\Policies\PolicyDefinitions קיימת. אם לא, צור אותה כעת.
  3. העתק את תוכן C:\Windows\PolicyDefinitions במחשב המנהל שלך (המחשב שהתקנת עליו את LAPS) לתיקיית \\contoso.com\SYSVOL\Policies\PolicyDefinitions על בקר התחום.

יצירת המדיניות GPO

עכשיו נעתיק את תבניות ה-GPO של LAPS לחנות המרכזית (תיקיית PolicyDefinitions).

  1. פתח ניהול מדיניות קבוצה מתחת לחשבון המנהל שלך, לחץ ימינה על ה-OU שברצונך להפעיל את LAPS בו ולחץ על קשר GPO קיימת…
Group Policy Management

2. נווט אל תצורת המחשב —> תבניות מנהל —> LAPS ו- הגדר הפעלת ניהול סיסמת מנהל מקומית ל- Enabled. אם יש לך דרישות שונות למורכבות הסיסמה, ערוך את הגדרות הסיסמה לפי הצורך.

Linking GPO to all OUs

כמעט סיימת! כעת קשר GPO זו לכל ה-OU שברצונך להשתמש ב-LAPS בהם.

הפצת הרחבת GPO של LAPS

לאחר שה-GPO מיושם בכל ה-OU המתאימים עם מחשבים בתוכם, עכשיו עליך להפעיל את הרחבת GPO של LAPS. יש לך כמה דרכים שונות להתקין את הרחבה זו, באמצעות התקנת ה-MSI (כפי שהוצג למעלה) או על ידי רישום קובץ ה-DLL של LAPS.

אם בחרת להתקין את ה-MSI, על כל מחשב בתוך OU שמתווסף לתחום השלטון של LAPS, הפעל את הפקודה הבאה כדי להפעיל את LAPS.

> msiexec /q /i \\server\share\LAPS.x64.msi

אם בחרת להפעיל את LAPS על ידי רישום ה-DLL, תוכל לעשות זאת עם הפקודה הבאה.

> regsvr32.dll \\server\share\AdmPwd.dll

תוכל להשתמש בכל כלי ניהול מרחוק שיש לך כדי להפעיל את הפקודות האלו על המחשבים.

הפצת ה-MSI של LAPS עם GPO

שימוש ב-GPO הוא השיטה הפשוטה ביותר להבטיח שהרחבת ה-GPO של LAPS מותקנת על כל המחשבים.

  1. העתק את LAPS.x64.msi לשיתוף רשת שזמין לכל מחשבי התחום.
  2. פתח את ניהול מדיניות קבוצה במחשב הניהול שלך וצור GPO בשם התקן LAPS או משהו דומה.
Creating GPO called Install LAPS

3. לחץ עם העכבר הימני על GPO התקן LAPS, לחץ עריכה ונווט אל תצורת המחשב —> מדיניות —> הגדרות תוכנה —> התקנת תוכנה.

LAPS GPO Software Installation

4. לחץ עם העכבר הימני על התקנת תוכנה ונווט אל חדש—> חבילה…

GPO New Package

5. נווט אל השיתוף שהעתקת LAPS.x64.msi, בחר אותו, לחץ אישור ובחר ניתן.

Assigning LAPS.x64.msi

6. כעת קשר את ה-GPO לאותם OU כמו שקבעת את LAPS עבורם. אתה מוכן כעת לבדוק את LAPS!

בדיקת LAPS

כדי לוודא ש-LAPS עובד כפי שנועד על המחשבים השליטים, בוא נכפה כעת את ה-GPO האמור לאחד מהמחשבים ונראה מה קורה.

  1. אתחיל מחדש את המחשב הממוקם תחת אחד מה-OU שקבעת עכשיו. לאחר ההתחלה מחדש, המחשב צריך להתחיל להתקין LAPS.
  2. לאחר שהתקינו את LAPS על המחשב, הפעל מחדש את המכונה פעם נוספת ופתח קונסולת PowerShell כמנהל במחשב הניהול שלך כחשבון שהוא חבר בקבוצות ה-AD קריאת סיסמת תחנת העבודה של LAPS ו- איפוס סיסמת תחנת העבודה של LAPS.
  3. הרץ את הפקודה Get-AdmPwdPassword <שם_מחשב> באמצעות שם המחשב שאתה רק יצרת והתקנת עליו את LAPS. אם הכל הלך כהלכה, תראה משהו דומה לפלט בתמונת המסך הבאה.
LAPS Installation Output

4. עכשיו נסה להתחבר למחשב שבו מופעל LAPS באמצעות הסיסמה שמוצגת למעלה. אם זה עבד, אתה אמור להתחבר בהצלחה.
5. עכשיו נסה לאפס את הסיסמה על ידי הרצת הפקודה Reset-AdmPwdPassword <שם_מחשב> ולאחר מכן לאתחל את המחשב. ראה איך הסיסמה השתנתה בתמונת המסך הבאה.

LAPS Password Reset

כעת יש לך את LAPS פעיל בסביבת העבודה שלך. ועם כל הקלות בניהול, יש כמה דברים שכדאי לדעת עליהם…

טיפים ותחביבים לשימוש ב-LAPS במערכת אמיתית

בעוד ההגדרה שכיסיתי לעיל מספיקה לרוב הסביבות הקטנות, ייתכן שהיא פחות מאובטחת או שאין לה את רמת הביקורת הנדרשת עבור ארגונים גדולים יותר. הנה כמה טיפים להפעלה בעולם האמיתי.

1. הפעל ביקורת

יש להפעיל ביקורת כאשר מישהו קורא או מאפס סיסמה, דבר שחשוב במיוחד בשל האפשרות לשלב אזעקות אם מישהו קורא את הסיסמה של כל המחשבים. למרבה המזל, המודול AdmPwd מספק לנו כלי להפעלת זאת.

PS> Set-AdmPwdAuditing -AuditedPrincipals Everyone -OrgUnit "OU=Workstations,DC=contoso,DC=com"

2. הבטיח שאף משתמש לא יכול לקרוא ישירות את המאפיין הפנימי ms-mcs-AdmPwd ב-AD

אחת הדרכים להבטיח שמשתמש לא יכול לקרוא את המאפיין AD ms-mcs-AdmPwd היא ליצור שיטת שירות עצמית לקבלת סיסמת האדמין המקומית של מחשב. בעוד שזה מחוץ לתחום של מאמר זה, כדאי לבדוק כלים כמו JEA או WebJEA אם אין לך פורטל שירות עצמי קיים המתאים לכך.

3. איפוס התכונה של Ms-Mcs-AdmPwdTime במהלך תמונת דיסק

עליך לזכור לאפס את התכונה של Ms-Mcs-AdmPwdTime בעת ביצוע reimaging של מחשב המופעל באמצעות LAPS אחרת לא ייפעל שינוי הסיסמה והסיסמה המקומית של האדמין תישמר כפי שניתנה על ידי הדיסק. זה יפעל לאחר פקיעת Ms-Mcs-AdmPwdTime.

ניתן להשתמש בפקודת PowerShell הבאה לאיפוס את התכונה ExpirationTime ללא מודול AdmPwd:

# עם RSAT
Get-ADComputer Workstation1 | Set-ADObject -Replace @{"ms-mcs-AdmPwdExpirationTime"=(Get-Date)} 

# בלי RSAT
$Computer = New-Object DirectoryServices.DirectoryEntry "LDAP://CN=Workstation1,OU=Workstations,DC=contoso,DC=com"
$Computer.'ms-Mcs-AdmPwdExpirationTime'.Clear()
$Computer.CommitChanges()

4. זכור שהתכונה ms-Mcs-AdmPwd נשארת בסל המחזור של AD

כאשר אתה מוחק עצם ב-AD ויש לך את סל המחזור של AD מופעל, AD בדרך כלל מסיר תכונות חשובות; למרבה המזל, ms-Mcs-AdmPwd מוגנת מכך!

5. LAPS אינו לגישה זמנית

בעוד שמעורר התלהבות, LAPS אינו מיועד להעניק גישה זמנית לספקים, משתמשים וסוגים אחרים של חשבונות. במקום להשתמש ב־LAPS, השתמש בקבוצת AD שהיא מנהל מקומי במחשב הספציפי הזה והשתמש TimeToLive על חברות בקבוצה.

סיכום

עכשיו למדת איך להפעיל את LAPS, להגדיר את ההרשאות שלו וכמה טיפים ותחבורות להפוך אותו ליותר מאובטח. עם סביבה בה LAPS מוטבע, הסיסמה של המנהל המקומי משתנה באופן רציף ואוטומטי. זה מפחית באופן משמעותי את הסיכונים לכך שמחשב המחובר לדומיין יילכד על ידי האקרים או תוכנות זדוניות ובתקווה שזה יחסוך לך הרבה כאבי ראש.

אם יש לך שאלות, אנא תגיבו או תצייץ אלי בכתובת @AlexAsplund.

Source:
https://adamtheautomator.com/microsoft-laps/