2020年8月、MicrosoftはActive Directoryの深刻な脆弱性(CVE-2020-1472、または単にZerologon )に対する修正プログラムをリリースしました。基本的に、修正プログラムを適用していないドメインコントローラー(DC)がある場合、ハッカーがリモートで権限を昇格し、許可なくADパスワードをリセットすることさえ可能になる可能性がありました。これは冗談ではありません。これらの更新後、ほとんどの管理者は「やっと問題は解決した」と思いましたが、実際にはまだ終わっていませんでした。なぜなら、更新プログラムをインストールするだけでは、特にNetlogonプロトコルの仕組み上、完全にロックダウンするには不十分だったからです。「すべてを更新する」をクリックするよりも少し複雑です。注意しないと、古いプロトコルが依然として悪用される可能性があります。そのため、ドメインを安全に保つために次に何をすべきかを理解することが重要です。もしあなたがこの状況に心当たりがあるなら、あるいはDCが本当に安全かどうか再確認しようとしているなら、このガイドでは、何が起こっているのか、どのパッチに注意すべきか、そしてこれらの厄介な脆弱性が更新履歴に「完了」と表示されるだけでなく、実際にパッチが適用されていることを確認する方法を説明します。Windowsは必要以上に手間取らせているのは当然ですよね?そこで、必要な手順と、その過程で何が問題になる可能性があるのかを簡単に説明します。
Windows ServerのZerologon脆弱性を修正する方法
方法1: すべてのドメインコントローラにパッチが完全に適用されていることを確認する
これは最も簡単な手順ですが、同時に最も重要な手順でもあります。CVE-2020-1472 のパッチは、2020年8月の累積更新プログラムに含まれています。おそらく既に実行されているでしょう。しかし、更新プログラムをインストールするだけでは必ずしも十分ではありません。特に、Windows のバージョンによってサポート状況やパッチの適用方法が異なるためです。
Windows Serverでは、各DCに最新のセキュリティ更新プログラムが適用されていることを確認する必要があります。例えば、Windows Server 2016または2019の場合は、以下の点を確認する必要があります。
- Windows UpdateまたはMicrosoft Update カタログに移動します。
- Zerologon にパッチを適用する適切な KB を検索してください。Server 2016 の場合はKB4571694 、Server 2019 の場合はKB4565349です。
- PowerShell を使用する場合は、次のコマンドを実行して、
Get-HotFix -Id KB4565349インストールされているかどうかを確認できます。 - Windows Updateまたは WSUSを実行して、すべてのドメインコントローラーに最新のパッチを適用してください。1 台のマシンだけに頼るのではなく、すべてのドメインコントローラーが対象となっていることを確認してください。
Windows Server 2008 R2 のような、古いシステムやサポート終了したシステムをお使いの方もいらっしゃるかもしれません。Microsoft は、ESU(Extended Security Updates)を購入していない限り、これらのシステム向けの公開パッチを提供していません。2008 R2 の場合、公式サポートが終了しているため、パッチを適用せずに放置するとセキュリティリスクが生じるため、0patch などの非公式マイクロパッチを検討する必要があります。
環境によっては、アップデートがうまくいかない場合があります。グループポリシーやその他の問題により、アップデートが失敗したり、遅延したりすることがあります。Get-HotFix念のため、Windows Update を実行するか、履歴を確認してください。
方法 2: レジストリ修正を使用して安全な Netlogon 動作を強制する
ここで少し厄介な問題が発生します。パッチは簡易的な修正ですが、Microsoftは2021年初頭に、古くて安全でないNetlogon接続を拒否する強制モードを導入する予定です。それまでは、DCに対してより安全な設定を手動で有効にすることができます。
なぜこれが役立つのでしょうか?それは、パッチがインストールされていても、サーバーに明示的に「そうしないでください」と指示しない限り、古いプロトコルが依然として受け入れられる可能性があるためです。そのため、当面はレジストリを設定して完全なセキュリティを強化することが重要です。
ドメイン コントローラーで、次のレジストリ キーを作成または変更します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters
DWORD (32 ビット) 値を追加または設定します。
FullSecureChannelProtection = 1
これにより、DCは安全でないNetlogon接続を拒否するようになります。どのように設定すればよいかお困りですか?グループポリシーから設定できます。
- グループポリシー管理コンソール(GPMC)を開く
- コンピューターの構成 > ポリシー > Windows の設定 > セキュリティの設定 > レジストリに移動します。
- 新規レジストリ設定を作成し、
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Netlogon\Parameters - FullSecureChannelProtectionを1に設定する
- GPOをドメインコントローラOUにリンクし、実行します。gpupdate /force
この戦術は少し巧妙ですが、ドメインコントローラーが安全でないプロトコルしか扱わないレガシーデバイスからの接続を受け入れないようにすることができます。一部のサーバーでは軽微な接続の中断が発生する可能性がありますが、一般的にはセキュリティ強化のために行う価値はあります。
方法3: レガシーデバイスと互換性設定の管理
接続する必要があるものの、古いNetlogonプロトコルしかサポートしていない古いデバイスやWindows以外のサーバーがある場合は、明示的に許可する必要があります。これは、グループポリシーの「ドメインコントローラー: 脆弱なNetlogonのセキュリティで保護されたチャネル接続を許可する」という設定で行います。
このポリシーは次の場所にあります。
コンピューターの構成 -> Windows の設定 -> セキュリティの設定 -> ローカル ポリシー -> セキュリティ オプション
レガシー機器を含む特定のセキュリティグループに対してこれを有効にすると、DCに対して「これらのデバイスは古い安全でないプロトコルを使用しても構いません」と伝えることになりますが、これは一時的なものです。第2段階のアップデート(2021年2月以降に予定)がリリースされたら、この例外を削除し、完全なセキュリティを再度適用する必要があります。そうしないと、攻撃経路が未然に防がれます。
もちろん、誰もがすぐにレガシーデバイスを取り除けるわけではありません。強制モードに切り替えると、最新のパッチを適用したデバイスのみが認証可能になり、それ以外のデバイスはすべてブロックされることに注意してください。
まとめ
- すべての DC に、Microsoft の最新の更新プログラムまたはサポートされていない OS の非公式パッチが適用されていることを確認します。
- 特にパッチがインストールされているがまだ適用されていない場合は、レジストリの調整を使用して、安全な Netlogon 通信を適用します。
- グループ ポリシーを使用して、本当に必要なデバイスのみを許可し、更新プログラムが展開されたらそれらの許可を削除するように計画して、従来のデバイスを慎重に管理します。
まとめ
結局のところ、Zerologon の修正は Windows Update を実行するだけでは不十分です。一部のプロトコルやレガシーデバイスには依然として注意が必要な点があることを理解することが不可欠です。パッチの適用、安全なプロトコルの適用、そして例外の適切な管理を行うことで、Active Directory の安全性は大幅に向上します。こうしたセキュリティ対策は面倒な作業になりがちですが、壊滅的な侵害を防ぐには価値があります。この情報が、パッチ適用後に何をすべきかをより深く理解する助けとなることを願っています。セキュリティの世界では、問題が修正されたと仮定するだけではもはや十分ではないからです。