ITよろづや

ITの参考になる情報を備忘録代わりに残していきます

Active Directory証明書サービス PetitPotam NTLMリレー攻撃の軽減 GPO設定

Active Directory証明書サービス PetitPotam NTLMリレー攻撃の軽減に対するグループポリシー設定に関する情報です。

 

ドメインにおいて「NTLM認証」を使用していて、「Active Directory証明書サービス(AD CS)」を導入したサーバにおいて「認証局のウェブ登録」「証明書の登録ウェブサービス」を有効化している場合に「PetitPotam」の影響を受けるリスクがあります。

 

情報元はこちら。

KB5005413: Mitigating NTLM Relay Attacks on Active Directory Certificate Services (AD CS)

 

概要
Microsoftは、Windowsドメインコントローラーまたは他のWindowsサーバーへの攻撃で使用される可能性のあるPetitPotamを認識しています。PetitPotamは古典的なNTLMリレー攻撃であり、このような攻撃は、顧客を保護するための多数の緩和オプションとともに、以前にMicrosoftによって文書化されています。例: Microsoft Security Advisory974926。

 

NTLMが有効になっているネットワークでのNTLMリレー攻撃を防ぐために、ドメイン管理者は、NTLM認証を許可するサービスが認証の拡張保護(EPA)などの保護またはSMB署名などの署名機能を利用することを確認する必要があります。PetitPotamは、Active Directory証明書サービス(AD CS)がNTLMリレー攻撃に対する保護で構成されていないサーバーを利用します。以下の緩和策は、そのような攻撃からADCSサーバーを保護する方法をお客様に概説しています。

 

ドメインでNTLM認証が有効になっていて、次のサービスのいずれかでActive Directory証明書サービス(AD CS)を使用している場合、この攻撃に対して潜在的に脆弱です。

認証局のWeb登録

証明書登録We​​bサービス

 

 

緩和
ご使用の環境がこの攻撃に対して脆弱である場合は、次のいずれかの緩和策をお勧めします。

 

推奨される緩和策: 最も簡単な緩和策として、WindowsドメインコントローラーでNTLM認証を無効にすることをお勧めします。これは、ネットワークセキュリティのドキュメントに従うことで実現できます :NTLMの制限:このドメインでのNTLM認証。

 

その他の緩和策: 互換性の理由でドメインでNTLMを無効にできない場合は、次のいずれかを実行できます。これらは、安全性の高いものから安全性の低いものの順にリストされています。

 

 

グループポリシーを使用して、ドメイン内のすべてのAD CSサーバーでNTLMを無効にします。

 

ネットワークセキュリティ:NTLMの制限:着信NTLMトラフィック。このGPOを構成するには、グループポリシーを開き、[コンピューターの構成]-> [Windowsの設定]-> [セキュリティの設定]-> [ローカルポリシー]-> [セキュリティオプション]に移動し、[ネットワークセキュリティ:NTLMの制限:着信NTLMトラフィック]を[すべてのアカウントを拒否]または[すべてのドメインアカウントを拒否する」。

 

必要に応じて、「ネットワークセキュリティ:NTLMの制限:このドメインにサーバー例外を追加する」設定を使用して、必要に応じて例外を追加できます。

 

認証局Web登録」または「認証局Webサービス」サービスを実行しているドメイン内のADCSサーバーでNTLMfor Internet Information Services(IIS)を無効にします。

 

これを行うには、IISマネージャーUIを開き、Windows認証を「Negotiate:Kerberos」に設定します。

 

ただし、NTLMを完全に無効にできない場合は、ADCSサービスでEPAを有効にすることをお勧めします。これは次の方法で実現されます。

 

1 認証局のWeb登録

2 証明書登録We​​bサービス

 

UIでEPAを有効にした後、「<%windir%> \ systemdata \ CES \ <CA Name> _CES_Kerberos \ web.config」でCESロールによって作成されたWeb.configファイルも、<extendedProtectionPolicy>要素をいずれかで追加して更新する必要があります。上記のIISUIで選択された拡張保護オプションに基づく「WhenSupported | Always」の値。extendedProtectionPolicyで使用可能なオプションの詳細については、<basicHttpBinding>の<transport>を参照してください。使用される可能性が最も高い設定は次のとおりです。

 

<binding name="TransportWithHeaderClientAuth">
<security mode="Transport">
<transport clientCredentialType="Windows">
<extendedProtectionPolicy policyEnforcement="Always" />
</transport>
<message clientCredentialType="None" establishSecurityContext="false" negotiateServiceCredential="false" />
</security>

<readerQuotas maxStringContentLength="131072" />
</binding>

 

個別の適用が難しい場合は、ローカルグループポリシーでもいいかもしれないですね。