概要
特定のトラステッド プラットフォーム モジュール (TPM) チップセットにセキュリティ上の脆弱性が存在します。 この脆弱性は、キーの強さを弱化します。 マイクロソフト セキュリティ アドバイザリ ADV170012 を参照してください。
この脆弱性の詳細については、詳細情報
概要
次のセクションは、 マイクロソフト セキュリティ アドバイザリ ADV170012 に説明される脆弱性の影響を受けた Active Directory (AD) ドメインやドメイン コントローラーの問題の識別および修復に役立ちます。
この軽減処理は、次の Active Directory 公開キーのシナリオに焦点を置いています。
-
ドメインに参加しているコンピューターの資格情報キー
新しい KDC 証明書の失効および再発行に関する詳細は、「Active Directory 証明書サービス ベースのシナリオのためのリスク軽減計画」を参照してください。
ドメインに参加しているコンピューターの資格情報の主要リスクのワークフローの決定
Windows Server 2016 (以降) ドメイン コントローラーはありますか?
Windows Server 2016 ドメイン コントローラーに、資格情報キー が導入されました。 資格情報キーが認証で使用される場合のドメイン コントローラーとよく知られた SID KEY_TRUST_IDENTITY (S-1-18-4) 以前のドメイン コントローラーは資格情報キーをサポートしていなかったため、AD は資格情報キー オブジェクトをサポートしていません。また、ダウン レベルのドメイン コントローラーは資格情報キーでプリンシパルを認証できません。
以前は、altSecurityIdentities (altSecID とよく言われる) 属性を使用して同様の動作を提供できました。 altSsecID のプロビジョニングは、Windows ではネイティブ サポートされていません。 そのため、この動作を提供するサード パーティのソリューションが必要です。 プロビジョニングされたキーが脆弱な場合、対応する altSsecID が AD 内で更新されます。
ドメインの機能レベルは、Windows Server 2016 (以降) のドメイン機能レベル (DFL) ですか?
Windows Server 2016 ドメイン コントローラーは、Kerberos (PKINIT) 鮮度拡張機能 [RFC 8070] の初回認証に公開キー暗号化をサポートしています。 PKInit 鮮度拡張機能のサポート が Windows Server 2016 のドメイン機能レベル (DFL) のドメイン コントローラーまたはそれ以降のドメインで有効な場合、拡張機能が正常に使用されると、ドメイン コントローラーがよく知られた SID FRESH_PUBLIC_KEY_IDENTITY (S-1-18-3) を追加します。 詳細については、「Kerberos クライアントおよび KDC の RFC 8070 PKInit 鮮度拡張機能サポート」を参照してください。
コンピューターにパッチをインストールする
Windows 10 コンピューターをサービシングすると、2017 年 10 月セキュリティ更新プログラムが既存の TPM 資格情報キーを削除します。 Windows は、Pass-the-Ticket 攻撃からドメイン参加済みデバイスのキーを保護するために、資格情報ガードで保護されているキーのみをプロビジョニングします。 多くの顧客は自分のコンピューターをドメインに参加させてからしばらくたった後で資格情報ガードを追加するため、この変更によって、資格情報ガードを有効にしたコンピューターは、資格情報キーを使用して発行された TGT が資格情報ガードによって保護されていることを確認できるようになります。
一時的なドメイン保護
マイクロソフトがドメイン コントローラー サービシングの修正プログラムをリリースし、それがロールアウトされるまで、攻撃者はそのドメイン参加済みデバイスとして認証するために、不正な資格情報キーを Active Directory (AD) 内で使用できます。 重大度レベルは、対象のデバイスによって異なります。 例えば、他の数種類のコンピューター アカウントよりも先に、自分のドメイン コントローラーのコンピューター アカウントの保護を優先したと仮定します。
Active Directory 内のコンピューター オブジェクトに使用できない資格情報キーを設定して、コンピューター アカウントをこの脆弱性から保護できます。 これによって、この資格情報キーを使用したコンピューターの認証が失敗します。 そのため、コンピューターはこの資格情報キーの代わりにパスワード認証を使用します。
注: 証明書によるデバイス認証を強制するためのグループ ポリシーは構成されていません。 詳細については、「ドメイン参加済みデバイスの公開キー認証」の「公開キーのみを使用するデバイスを構成する」を参照してください。
最初に、 Active Directory コンピューターの資格情報キー用の Windows PowerShell モジュールをダウンロードします。
次に、以下の例に従って、Active Directory 内のコンピューター アカウント上でコンピューターの資格情報キーを無効にします。
例: 1 つのコンピューター アカウントの資格情報キーを無効にする
この例では、Active Directory 内の 1 つのコンピューター オブジェクトに使用できない資格情報キーを設定します。
Import-Module .\ADComputerKeys.psm1;
Set-DRComputerKey -SamAccountName "MyComputer$" -Domain "contoso.com" -ReplaceWithUnusableKey;
例: 複数のコンピューター アカウントの資格情報キーを無効にする
この例では、Active Directory 内の複数のコンピューター オブジェクトに使用できない資格情報キーを設定します。 これを行うには、このモジュールを ActiveDirectory PowerShell モジュールと組み合わせます。
例えば、架空の出荷部門の組織単位内のすべてのコンピューターを対象にするとします。
Import-Module .\ADComputerKeys.psm1;
Import-Module ActiveDirectory;
$computers = Get-ADComputer -SearchBase "OU=Shipping Department,DC=contoso,DC=com" -LDAPFilter "(CN=*)" -Server "contoso.com";
foreach($comp in $computers)
{
Set-DRComputerKey -SamAccountName $comp.SamAccountName -Domain "contoso.com" -ReplaceWithUnusableKey;
}
一時的なドメイン保護を削除する
ドメイン コントローラーをサービスした後、Active Directory 内のすべてのコンピューター オブジェクトから使用できないキーを削除できます。 これを行うと、コンピューター アカウントがパスワード認証の代わりに使用できる新しい資格情報キーを生成できるようになります。
最初に、 Active Directory コンピューターの資格情報キー用の Windows PowerShell モジュールをダウンロードします。
次に、この例に従って、コンピューター オブジェクトから資格情報キーを削除します。
例: 複数のコンピューター アカウントから資格情報キーを削除する
この例では、Active Directory 内の複数のコンピューター オブジェクトから資格情報キーを削除します。 これを行うには、このモジュールを ActiveDirectory PowerShell モジュールと組み合わせます。
例えば、架空の出荷部門の組織単位内のすべてのコンピューターを対象にするとします。
Import-Module .\ADComputerKeys.psm1;
Import-Module ActiveDirectory;
$computers = Get-ADComputer -SearchBase "OU=Shipping Department,DC=contoso,DC=com" -LDAPFilter "(CN=*)" -Server "contoso.com";
foreach($comp in $computers)
{
Set-DRComputerKey -SamAccountName $comp.SamAccountName -Domain "contoso.com" -RemoveKey
}