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 に干渉していることが疑われる場合は、次の点をチェックします。

堅牢化の問題をチェックする方法

  1. Tenable Identity Exposure で、[システム] > [ドメイン管理] に進み、各ドメインの LDAP と SYSVOL 初期化ステータスを表示します。

    接続性に問題のないドメインでは緑のインジケーターが表示されますが、接続性に問題のあるドメインでは無限に続くクロールインジケーターが表示されます。

  2. ディレクトリリスナーまたはリレーマシンで、ログフォルダー <Installation Folder>\DirectoryListener\logs を開きます。

  3. Ceti ログファイルを開き、「SMB mapping creation failed」(SMB マッピング作成が失敗しました) または「Access is denied」(アクセスが拒否されました) という文字列を検索します。このフレーズを含むエラーログがある場合、UNC 堅牢化がディレクトリリスナーまたはリレーマシンに存在する可能性が高いことを示しています。

修正オプション

Kerberos 認証に切り替えるまたはSYSVOL 堅牢化の無効化の 2 つの修正オプションがあります。

Kerberos 認証に切り替える

このオプションは、堅牢化機能を無効にする必要がないため、推奨されています

SYSVOL 堅牢化が Tenable Identity Exposure と干渉するのは、NTLM 認証を使用して監視対象のドメインコントローラーに接続する場合のみです。これは、NTLM が「RequireMutualAuthentication=1」パラメーターと互換性がないためです。Tenable Identity Exposure は Kerberos もサポートしています。Kerberos を適切に設定および使用する場合は、SYSVOL 堅牢化を無効にする必要はありません。詳細は、Kerberos 認証を参照してください。

SYSVOL 堅牢化の無効化

Kerberos 認証に切り替えることができない場合は、SYSVOL 堅牢化を無効にすることもできます

Windows はデフォルトで SYSVOL 堅牢化を有効にするため、レジストリキーまたは GPO 設定を削除するだけでは不十分です。SYSVOL 堅牢化を明示的に無効にし、この変更をディレクトリリスナー (オンプレミス) またはリレー (セキュアリレーを備えた SaaS) をホストしているマシンにのみ適用する必要があります。これはその他のマシンには影響しないため、ドメインコントローラー自体で SYSVOL 堅牢化を無効にする必要はありません。

ディレクトリリスナー (オンプレミス) またはリレー (セキュアリレーを備えた SaaS) をホストしているマシンで使用される Tenable Identity Exposure インストーラーでは、すでにローカルで SYSVOL 堅牢化を無効にしています。ただし、環境内の GPO またはスクリプトが、このレジストリキーを削除したり上書きしたりする可能性があります。

これには、2 つのケースが考えられます。

  • ディレクトリリスナーまたはリレーマシンがドメインに参加していない場合 — GPO を使用してマシンを設定できません。レジストリで SYSVOL 堅牢化を無効にする必要があります (レジストリ: グラフィックユーザーインターフェース またはレジストリ: PowerShell を参照)。

  • ディレクトリリスナーまたはリレーマシンがドメインに参加している場合 (Tenable Identity Exposure では非推奨) — レジストリで設定を直接適用するか (レジストリ: グラフィックユーザーインターフェース またはレジストリ: PowerShell を参照)、GPOを使用することができます。これらのうちいずれかの方法を使用する場合は、GPO またはスクリプトがレジストリキーを上書きしないようにする必要があります。これは、次のいずれかの方法で実行できます。

    • このマシンに適用されるすべての GPO を慎重に確認する

    • 変更を適用して少し待機するか、「gpupdate /force」で GPO の適用を強制し、レジストリキーが値を保持していることを確認する

ディレクトリリスナーまたはリレーマシンが再起動したら、変更されたドメインのクロールインジケーターが緑色に変わるはずです。

レジストリ: グラフィックユーザーインターフェース

GUI を使用してレジストリで SYSVOL 堅牢化を無効化する方法

  1. 管理者権限でディレクトリリスナーまたはリレーマシンに接続します。

  2. レジストリエディターを開き、HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths に移動します。

  3. \\*\SYSVOL」という名前のキーが存在しない場合は、次の方法で作成します。

    1. 右ペインを右クリックし、[新規] > [文字列の値] を選択します。

    2. [名前] フィールドに \\*\SYSVOL と入力します。

  1. 新規作成された、または以前から存在する「\\*\SYSVOL」キーをダブルクリックして、[文字列の編集] ウィンドウを開きます。

  2. [値] データフィールドに、RequireMutualAuthentication=0RequireIntegrity=0RequirePrivacy=0 を入力します。

  3. [保存] をクリックします。

    結果は次のようになります。

  4. マシンを再起動します。

レジストリ: PowerShell

PowerShell を使用してレジストリで SYSVOL 堅牢化を無効化する方法

  1. 次の PowerShell コマンドを使用して、参照用の UNC 堅牢化パスレジストリキーの現在の値を収集します。

    コピー
    Get-Item -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths"
  2. 推奨値を設定します。

    コピー
    New-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\NetworkProvider\HardenedPaths" -Name "\\*\SYSVOL" -Value "RequireMutualAuthentication=0, RequireIntegrity=0, RequirePrivacy=0"
  3. マシンを再起動します。

GPO

前提条件: ドメインで GPO を作成でき、Tenable Identity Exposureディレクトリリスナーまたはリレーマシンを含む組織単位にリンクできる権限を持つ Active Directory ユーザーとして接続する必要があります。

GPO を使用して SYSVOL 堅牢化を無効にするには

  1. グループポリシー管理コンソールを開きます。

  2. 新しい GPO を作成します。

  3. GPO を編集し、次の場所に移動します: コンピューターの設定/管理テンプレート/ネットワーク/ネットワークプロバイダー/強化された UNC パス

  4. この設定を有効にし、次を使用して新しい強化された UNC パスを作成します。

    • 値の名前 = \\*\SYSVOL

    • 値 = RequireMutualAuthentication=0, RequireIntegrity=0, RequirePrivacy=0

    結果は次のようになります。

  5. [OK] をクリックして確認します。

  6. この GPO を、Tenable Identity Exposureディレクトリリスナーまたはリレーマシンを含む組織単位にリンクします。セキュリティグループフィルターの GPO 機能を使用して、この GPO がこのマシンにのみ適用されるようにすることもできます。

特定の UNC パスの例外

前述の手順では、ワイルドカード 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 方式を使用して追加できます。

注意: Tenable Identity Exposure で設定されている正確な値を指定する必要があります (たとえば、Tenable Identity Exposure設定が FQDN を使用している場合、IP アドレスは指定できません)。また、Tenable Identity Exposureドメイン管理ページで IP アドレスや FQDN を変更するたびに、これらのキーを忘れずに更新してください。

SYSVOL 堅牢化を無効にした場合のリスク

SYSVOL 堅牢化はセキュリティ機能であり、無効にすると重大な懸念が生じる可能性があります。

  • ドメインに参加していないマシン - SYSVOL 堅牢化を無効にしてもリスクはありません。これらのマシンは GPO を適用していないため、SYSVOL 共有から GPO を実行するコンテンツを取得しません。

  • Tenable Identity Exposure推奨しないドメイン参加マシン (ディレクトリリスナーまたはリレーマシン) — 攻撃者がディレクトリリスナーまたはリレーマシンとドメインコントローラーとの間の「中間者」になるという状態が発生する潜在的なリスクがある場合、SYSVOL 堅牢化を無効にするのは安全ではありません。この場合、Tenable Identity Exposureは代わりに Kerberos 認証に切り替えることを推奨しています。

この非アクティブ化の範囲は、ディレクトリリスナーまたはリレーマシンにのみであり、その他のドメインコンピューターは対象になりません。また、ドメインコントローラーは決して対象になりません。