استخدام وحدة WHfBTools PowerShell لتنظيف مفاتيح Windows Hello للأعمال المعزولة

ينطبق على
Windows Server 2019, all editions Windows Server 2016, all editions

الملخص

لمساعدة العملاء على تحديد مفاتيح Windows Hello للأعمال المعزولة (WHfB) المتأثرة بثغرة أمنية في TPM، نشرت Microsoft وحدة PowerShell يمكن تشغيلها من قبل المسؤولين. توضح هذه المقالة كيفية معالجة المشكلة الموضحة في ADV190026 | "إرشادات Microsoft لتنظيف المفاتيح المعزولة التي تم إنشاؤها على TPMs الضعيفة والمستخدمة Windows Hello للأعمال."

ملاحظة هامة قبل استخدام WHfBTools لإزالة المفاتيح المعزولة، يجب اتباع الإرشادات الواردة في ADV170012 لتحديث البرنامج الثابت لأي أجهزة TPM ضعيفة. إذا لم يتم اتباع هذه الإرشادات، فإن أي مفاتيح WHfB جديدة تم إنشاؤها على جهاز مع برنامج ثابت لم يتم تحديثه ستظل متأثرة ب CVE-2017-15361 (ROCA).

كيفية تثبيت وحدة WHfBTools PowerShell

قم بتثبيت الوحدة النمطية عن طريق تشغيل الأوامر التالية:

تثبيت وحدة WHfBTools PowerShell
التثبيت عبر PowerShell

PS> Install-Module WHfBTools

PS> # Save the current execution policy so it can be reset later

PS> $SaveExecutionPolicy = Get-ExecutionPolicy

PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser

PS> Import-Module WHfBTools

أو التثبيت باستخدام تنزيل من معرض PowerShell

  1. انتقل إلى https://www.powershellgallery.com/packages/WHfBTools
  2. قم بتنزيل ملف .nupkg الخام إلى مجلد محلي وأعد تسميته بملحق .zip
  3. استخراج المحتويات إلى مجلد محلي، على سبيل المثال C:\ADV190026


ابدأ تشغيل PowerShell، وانسخ الأوامر التالية وقم بتشغيلها:

PS> # Save the current execution policy so it can be reset later

PS> $SaveExecutionPolicy = Get-ExecutionPolicy

PS> Set-ExecutionPolicy RemoteSigned -Scope Currentuser

PS> CD C:\ADV190026\WHfBTools

PS> Import-Module .\WHfBTools.psd1

تثبيت التبعيات لاستخدام الوحدة النمطية:

تثبيت التبعيات لاستخدام الوحدة النمطية WHfBTools
إذا كنت تقوم بالاستعلام عن Azure Active Directory للمفاتيح المعزولة، فقم بتثبيت الوحدة النمطية MSAL.PS PowerShell

التثبيت عبر PowerShell

PS> Install-Module -Name MSAL.PS -RequiredVersion 4.5.1.1

PS> Import-Module MSAL.PS

أو التثبيت باستخدام تنزيل من معرض PowerShell

  1. انتقل إلى https://www.powershellgallery.com/packages/MSAL.PS/4.5.1.1
  2. قم بتنزيل ملف .nupkg الخام إلى مجلد محلي وأعد تسميته بملحق .zip
  3. استخراج المحتويات إلى مجلد محلي، على سبيل المثال C:\MSAL.PS
ابدأ تشغيل PowerShell، وانسخ الأوامر التالية وقم بتشغيلها:

PS> CD C:\MSAL.PS

PS> Import-Module .\MSAL.PS.psd1

إذا كنت تقوم بالاستعلام عن Active Directory للمفاتيح المعزولة، فقم بتثبيت أدوات مسؤول الخادم البعيد (RSAT): خدمات مجال Active Directory وأدوات خدمات الدليل الخفيفة

التثبيت عبر الإعدادات (الإصدار 1809 من Windows 10 أو أحدث)

  1. انتقل إلى الإعدادات -> التطبيقات -> الميزات الاختيارية -> إضافة ميزة
  2. حدد RSAT: خدمات مجال Active Directory وأدوات خدمات الدليل الخفيفة
  3. حدد تثبيت
أو التثبيت عبر PowerShell

PS> dism /online /Add-Capability /CapabilityName:Rsat.ActiveDirectory.DS-LDS.Tools~~~~0.0.1.0

أو التثبيت عبر التنزيل
  1. انتقل إلى https://www.microsoft.com/en-us/download/details.aspx?id=45520 (ارتباط Windows 10)
  2. تنزيل أدوات إدارة الخادم البعيد لمثبت Windows 10
  3. تشغيل المثبت بمجرد اكتمال التنزيل

تشغيل وحدة WHfBTools PowerShell

إذا كانت بيئتك تحتوي على Azure Active Directory منضم أو مختلط Azure الأجهزة المرتبطة ب Active Directory، فاتبع خطوات Azure Active Directory لتحديد المفاتيح وإزالتها. ستتم مزامنة عمليات إزالة المفاتيح في Azure إلى Active Directory من خلال Azure AD Connect.

إذا كانت بيئتك محلية فقط، فاتبع خطوات Active Directory لتحديد المفاتيح وإزالتها.

الاستعلام عن المفاتيح والمفاتيح المعزولة المتأثرة ب CVE-2017-15361 (ROCA)
الاستعلام عن المفاتيح في Azure Active Directory باستخدام الأمر التالي:

PS> Get-AzureADWHfBKeys -Logging -Report -Tenant contoso.com -All | Export-Csv C:\AzureKeys.csv

سيقوم هذا الأمر بالاستعلام عن المستأجر "contoso.com" لجميع المفاتيح العامة Windows Hello للأعمال المسجلة وسيخرج هذه المعلومات إلى C:\AzureKeys.csv. استبدل contoso.com باسم المستأجر الخاص بك للاستعلام عن المستأجر الخاص بك.

سيحتوي إخراج Csv، AzureKeys.csv، على المعلومات التالية لكل مفتاح:

  • اسم المستخدم الأساسي
  • المستاجر
  • الاستخدام
  • معرّف المفتاح
  • وقت الإنشاء
  • الحالة المعزولة
  • يدعم حالة الإعلام
  • حالة ثغرة ROCA الأمنية
Get-AzureADWHfBKeys سيؤدي أيضا إلى إخراج ملخص للمفاتيح التي تم الاستعلام عنها. يوفر هذا الملخص المعلومات التالية:

  • عدد المستخدمين الذين تم مسحهم ضوئيا
  • عدد المفاتيح التي تم مسحها ضوئيا
  • عدد المستخدمين الذين لديهم مفاتيح
  • عدد مفاتيح ROCA الضعيفة
ملاحظه قد تكون هناك أجهزة قديمة في مستأجر Azure AD مع مفاتيح Windows Hello للأعمال مقترنة بها. لن يتم الإبلاغ عن هذه المفاتيح على أنها معزولة على الرغم من عدم استخدام هذه الأجهزة بنشاط. نوصي باتباع كيفية: إدارة الأجهزة القديمة في Azure AD لتنظيف الأجهزة القديمة قبل الاستعلام عن المفاتيح المعزولة.



الاستعلام عن المفاتيح في Active Directory باستخدام الأمر التالي:

PS> Get-ADWHfBKeys -Logging -Report -Domain contoso | Export-Csv C:\ADKeys.csv

سيقوم هذا الأمر بالاستعلام عن المجال "contoso" لجميع المفاتيح العامة Windows Hello للأعمال المسجلة وسيخرج تلك المعلومات إلى C:\ADKeys.csv. استبدل contosoباسم المجال للاستعلام عن مجالك.

سيحتوي إخراج Csv، ADKeys.csv، على المعلومات التالية لكل مفتاح:

  • مجال المستخدم
  • اسم حساب SAM للمستخدم
  • الاسم المميز للمستخدم
  • إصدار المفتاح
  • معرّف المفتاح
  • وقت الإنشاء
  • المواد الرئيسية
  • مصدر المفتاح
  • استخدام المفتاح
  • معرف الجهاز الرئيسي
  • الطابع الزمني الأخير لتسجيل الدخول التقريبي
  • وقت الإنشاء
  • معلومات المفتاح المخصص
  • KeyLinkTargetDN
  • الحالة المعزولة
  • حالة ثغرة ROCA الأمنية
  • KeyRawLDAPValue
Get-ADWHfBKeys سيؤدي أيضا إلى إخراج ملخص للمفاتيح التي تم الاستعلام عنها. يوفر هذا الملخص المعلومات التالية:

  • عدد المستخدمين الذين تم مسحهم ضوئيا
  • عدد المستخدمين الذين لديهم مفاتيح
  • عدد المفاتيح التي تم مسحها ضوئيا
  • عدد مفاتيح ROCA الضعيفة
  • عدد المفاتيح المعزولة (إذا لم يتم تحديد -SkipCheckForOrphanedKeys)
ملاحظه: إذا كانت لديك بيئة مختلطة مع Azure AD الأجهزة المنضمة وقمت بتشغيل "Get-ADWHfBKeys" في مجالك المحلي، فقد لا يكون عدد المفاتيح المعزولة دقيقا. وذلك لأن Azure AD الأجهزة المرتبطة غير موجودة في Active Directory وقد تظهر المفاتيح المقترنة بالأجهزة المرتبطة Azure AD على أنها معزولة.
إزالة مفاتيح ROCA الضعيفة المعزولة من الدليل
إزالة المفاتيح في Azure Active Directory باستخدام الخطوات التالية:

  1. تصفية الأعمدة المعزولة و RocaVulnerable من AzureKeys.csv إلى true
  2. انسخ النتائج التي تمت تصفيتها إلى ملف جديد، C:\ROCAKeys.csv
  3. قم بتشغيل الأمر التالي لحذف المفاتيح:
PS> Import-Csv C:\ROCAKeys.csv | Remove-AzureADWHfBKey -Tenant contoso.com -Logging

يستورد هذا الأمر قائمة مفاتيح ROCA الضعيفة المعزولة ويزيلها من contoso.com المستأجر. استبدل contoso.comباسم المستأجر لإزالة المفاتيح من المستأجر الخاص بك.

N ote إذا قمت بحذف مفاتيح WHfB الضعيفة ل ROCA التي لم يتم عزلها بعد، فسيتسبب ذلك في تعطيل المستخدمين. يجب التأكد من أن هذه المفاتيح معزولة قبل إزالتها من الدليل.



إزالة المفاتيح في Active Directory باستخدام الخطوات التالية:

ملاحظه ستؤدي إزالة المفاتيح المعزولة من Active Directory في البيئات المختلطة إلى إعادة إنشاء المفاتيح كجزء من عملية مزامنة Azure AD Connect. إذا كنت في بيئة مختلطة، فقم بإزالة المفاتيح فقط من Azure AD

  1. تصفية العمودين OrphanedKey و ROCAVulnerable من ADKeys.csvإلى true
  2. انسخ النتائج التي تمت تصفيتها إلى ملف جديد، C:\ROCAKeys.csv
  3. قم بتشغيل الأمر التالي لحذف المفاتيح:
PS> Import-Csv C:\ROCAKeys.csv | Remove-ADWHfBKey -Logging

يستورد هذا الأمر قائمة مفاتيح ROCA الضعيفة المعزولة ويزيلها من مجالك.

ملاحظه إذا قمت بحذف مفاتيح WHfB الضعيفة ل ROCA التي لم يتم عزلها بعد، فسيتسبب ذلك في تعطيل المستخدمين. يجب التأكد من أن هذه المفاتيح معزولة قبل إزالتها من الدليل.