SYSVOL 堅牢化の Tenable Identity Exposure に対する干渉
SYSVOL は、Active Directory ドメインの各ドメインコントローラー (DC) にある共有フォルダーです。SYSVOL には、グループポリシー (GPO) 用のフォルダーとファイルが保存されます。SYSVOL のコンテンツはすべての DC で複製され、\\<example.com>\SYSVOL や \\<DC_IP_or_FQDN>\SYSVOL などの汎用命名規則 (UNC) パスを使ってアクセスできます。
SYSVOL 堅牢化とは、強化された UNC パスパラメーターの使用のことで、「UNC の強化されたアクセス」、「強化された UNC パス」、「UNC パスの堅牢化」、または「強化されたパス」とも呼ばれています。この機能は、グループポリシーの MS15-011 (KB 3000483) の脆弱性に対処するために導入されました。CIS ベンチマークなどの多くのサイバーセキュリティ標準では、この機能の強制実行が義務付けられています。
この堅牢化パラメーターをサーバーメッセージブロック (SMB) クライアントに適用すると、ドメインに参加しているマシンのセキュリティが実際に向上し、SYSVOL から取得する GPO コンテンツがネットワーク上の攻撃者に改ざんされないようになります。ただし、特定の状況では、このパラメーターが Tenable Identity Exposure の操作に干渉することもあります。
強化された UNC パスが Tenable Identity Exposure と SYSVOL 共有間の接続を乱していることに気付いた場合は、このトラブルシューティングセクションにあるガイダンスに従ってください。
影響を受ける環境
次の Tenable Identity Exposure デプロイメントオプションでは、この問題が発生する可能性があります。
-
オンプレミス
-
セキュアリレーを備えた SaaS
次のデプロイメントオプションは影響を受けません。
-
VPN を備えた SaaS
SYSVOL 堅牢化はクライアント側のパラメーターであり、ドメインコントローラーではなく、SYSVOL 共有に接続するマシンで動作します。
Windows はこのパラメーターをデフォルトで有効にし、Tenable Identity Exposureに干渉する場合があります。
企業によっては、関連する GPO 設定を使用するか、対応するレジストリキーを直接設定することで、このパラメーターを確実にアクティブ化し強制実行したいと思うかもしれません。
-
UNC 堅牢化パスに関連するレジストリキーは、「HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths」にあります。
-
対応する GPO 設定は、「Computer Configuration/Administrative Templates/Network/Network Provider/Hardened UNC paths」にあります。
SYSVOL 堅牢化の強制実行は、SYSVOL を参照する UNC パス (「\\*\SYSVOL」など) にパラメーター「RequireMutualAuthentication」があり、「RequireIntegrity」の値が「1」に設定されている場合に発生します。
SYSVOL 堅牢化の問題の兆候
SYSVOL 堅牢化が Tenable Identity Exposure に干渉していることが疑われる場合は、次の点をチェックします。
-
Tenable Identity Exposure で、[システム] > [ドメイン管理] に進み、各ドメインの LDAP と SYSVOL 初期化ステータスを表示します。
接続性に問題のないドメインでは緑のインジケーターが表示されますが、接続性に問題のあるドメインでは無限に続くクロールインジケーターが表示されます。
-
ディレクトリリスナーまたはリレーマシンで、ログフォルダー <Installation Folder>\DirectoryListener\logs を開きます。
-
Ceti ログファイルを開き、「SMB mapping creation failed」(SMB マッピング作成が失敗しました) または「Access is denied」(アクセスが拒否されました) という文字列を検索します。このフレーズを含むエラーログがある場合、UNC 堅牢化がディレクトリリスナーまたはリレーマシンに存在する可能性が高いことを示しています。
修正オプション
Kerberos 認証に切り替えるまたはSYSVOL 堅牢化の無効化の 2 つの修正オプションがあります。
このオプションは、堅牢化機能を無効にする必要がないため、推奨されています。
SYSVOL 堅牢化が Tenable Identity Exposure と干渉するのは、NTLM 認証を使用して監視対象のドメインコントローラーに接続する場合のみです。これは、NTLM が「RequireMutualAuthentication=1」パラメーターと互換性がないためです。Tenable Identity Exposure は Kerberos もサポートしています。Kerberos を適切に設定および使用する場合は、SYSVOL 堅牢化を無効にする必要はありません。詳細は、Kerberos 認証を参照してください。
Kerberos 認証に切り替えることができない場合は、SYSVOL 堅牢化を無効にすることもできます。
Windows はデフォルトで SYSVOL 堅牢化を有効にするため、レジストリキーまたは GPO 設定を削除するだけでは不十分です。SYSVOL 堅牢化を明示的に無効にし、この変更をディレクトリリスナー (オンプレミス) またはリレー (セキュアリレーを備えた SaaS) をホストしているマシンにのみ適用する必要があります。これはその他のマシンには影響しないため、ドメインコントローラー自体で SYSVOL 堅牢化を無効にする必要はありません。
ディレクトリリスナー (オンプレミス) またはリレー (セキュアリレーを備えた SaaS) をホストしているマシンで使用される Tenable Identity Exposure インストーラーでは、すでにローカルで SYSVOL 堅牢化を無効にしています。ただし、環境内の GPO またはスクリプトが、このレジストリキーを削除したり上書きしたりする可能性があります。
これには、2 つのケースが考えられます。
-
ディレクトリリスナーまたはリレーマシンがドメインに参加していない場合 — GPO を使用してマシンを設定できません。レジストリで SYSVOL 堅牢化を無効にする必要があります (レジストリ - GUI またはレジストリ - PowerShell を参照)。
-
ディレクトリリスナーまたはリレーマシンがドメインに参加している場合 (Tenable Identity Exposure では非推奨) — レジストリで設定を直接適用するか (レジストリ - GUI またはレジストリ - PowerShell を参照)、GPOを使用することができます。これらのうちいずれかの方法を使用する場合は、GPO またはスクリプトがレジストリキーを上書きしないようにする必要があります。これは、次のいずれかの方法で実行できます。
-
このマシンに適用されるすべての GPO を慎重に確認する
-
変更を適用して少し待機するか、「gpupdate /force」で GPO の適用を強制し、レジストリキーが値を保持していることを確認する
-
ディレクトリリスナーまたはリレーマシンが再起動したら、変更されたドメインのクロールインジケーターが緑色に変わるはずです。
GUI を使用してレジストリで SYSVOL 堅牢化を無効にするには
-
管理者権限でディレクトリリスナーまたはリレーマシンに接続します。
-
レジストリエディターを開き、HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths に移動します。
-
「\\*\SYSVOL」という名前のキーが存在しない場合は、次の方法で作成します。
PowerShell を使用してレジストリで SYSVOL 堅牢化を無効にするには
-
次の PowerShell コマンドを使用して、参照用の UNC 堅牢化パスレジストリキーの現在の値を収集します。
コピーGet-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths"
-
推奨値を設定します。
コピーNew-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths" -Name "\\*\SYSVOL" -Value "RequireMutualAuthentication=0, RequireIntegrity=0, RequirePrivacy=0"
-
マシンを再起動します。
前提条件: ドメインで GPO を作成でき、Tenable Identity Exposureディレクトリリスナーまたはリレーマシンを含む組織単位にリンクできる権限を持つ Active Directory ユーザーとして接続する必要があります。
GPO を使用して SYSVOL 堅牢化を無効にするには
-
グループポリシー管理コンソールを開きます。
-
新しい GPO を作成します。
-
GPO を編集し、次の場所に移動します: コンピューターの設定/管理テンプレート/ネットワーク/ネットワークプロバイダー/強化された UNC パス。
-
この設定を有効にし、次を使用して新しい強化された UNC パスを作成します。
-
値の名前 = \\*\SYSVOL
-
値 = RequireMutualAuthentication=0, RequireIntegrity=0, RequirePrivacy=0
結果は次のようになります。
-
-
[OK] をクリックして確認します。
-
この GPO を、Tenable Identity Exposureディレクトリリスナーまたはリレーマシンを含む組織単位にリンクします。セキュリティグループフィルターの GPO 機能を使用して、この GPO がこのマシンにのみ適用されるようにすることもできます。
前述の手順では、ワイルドカード UNC パス「\\*\SYSVOL」を使用して SYSVOL 堅牢化を無効にします。特定の IP アドレスまたは FQDN に対してのみ無効にすることもできます。つまり、「\\*\SYSVOL」に対して UNC の強化されたパス設定を有効な状態 (値「1」) に保ったまま、Tenable Identity Exposureで設定されているドメインコントローラーの IP アドレスまたは FQDN ごとに対応する例外を作成することができます。
次の画像は、「10.0.0.10」および「dc.lab.lan」(Tenable Identity Exposure で設定されているドメインコントローラー) を除くすべてのサーバー (「*」) に対して有効にされた SYSVOL 堅牢化の例を示しています。
これらの追加設定は、上述したように、レジストリを使うか GPO 方式を使用して追加できます。
SYSVOL 堅牢化を無効にした場合のリスク
SYSVOL 堅牢化はセキュリティ機能であり、無効にすると重大な懸念が生じる可能性があります。
-
ドメインに参加していないマシン - SYSVOL 堅牢化を無効にしてもリスクはありません。これらのマシンは GPO を適用していないため、SYSVOL 共有から GPO を実行するコンテンツを取得しません。
-
Tenable Identity Exposure が推奨しないドメイン参加マシン (ディレクトリリスナーまたはリレーマシン) — 攻撃者がディレクトリリスナーまたはリレーマシンとドメインコントローラーとの間の「中間者」になるという状態が発生する潜在的なリスクがある場合、SYSVOL 堅牢化を無効にするのは安全ではありません。この場合、Tenable Identity Exposureは代わりに Kerberos 認証に切り替えることを推奨しています。
この非アクティブ化の範囲は、ディレクトリリスナーまたはリレーマシンにのみであり、その他のドメインコンピューターは対象になりません。また、ドメインコントローラーは決して対象になりません。