リダイレクト機能

対象: IT管理者向けです。本ページではリダイレクト機能を取り扱います。ユーザーが昇格を許可されたとき、製品はユーザーが要求した実行ファイルの代わりに別の実行ファイルを起動できます。代表例はncpa.cpl (Windowsのネットワーク接続) をKeeper.NetworkConnectionsに差し替える構成です。


リダイレクトの動作

特権昇格のリクエストがポリシーで許可されると、通常はLaunchPrivilegeElevationジョブが、要求された実行ファイルを昇格付きで起動します。製品の昇格フロー (例: 一時アカウント経由) では、元の実行ファイルが正しく動作しない場合があります。リダイレクトを使うと、代替の実行ファイルを起動し、意図した操作を制御された形で実現できます。

  • ユーザー体験: ユーザーがおこなう操作は従来どおりです (例: 「ネットワーク接続を開く」)。ポリシーで許可されたあと、元のプロセスの起動は拒否され、代わりに代替が昇格付きで起動されます。ユーザーには代替アプリ (例: Keeper.NetworkConnections) が表示され、常時の管理者権限なしに必要な設定が行えます。

  • 制御: リダイレクトのルールはお客様が定義します。どの実行ファイルとコマンドラインの組み合わせを、どの代替に送るかを選べます。

リダイレクトは全体で有効または無効にできます。無効のときはルールは評価されず、通常の昇格起動フローのみが使われます。


例: ncpa.cpl → Keeper.NetworkConnections

シナリオ: Windowsでは、ユーザーが rundll32.exe とコマンドラインの ncpa.cpl からネットワーク接続を開くことがよくあります。標準ユーザーにもその昇格を許可したいが、製品の昇格パスで実際の rundll32 + ncpa.cpl を起動すると正しく動かない、という場合があります。リダイレクトはこれらのリクエストをKeeper.NetworkConnectionsに送ります。ネットワークアダプターのプロパティ (IP、DNSなど) を、ローカル管理者グループへの追加なしで変更できる専用UIです。

結果: 標準ユーザーは従来どおり「ネットワーク接続」を開きます。OSのダイアログの代わりにKeeper.NetworkConnectionsのUIが表示され、操作感を保ちつつ最小権限を維持できます。

ルールの構成

リダイレクトのルールはRedirectEvaluatorプラグインの構成 metadata.redirect で定義します。ncpa.cpl → Keeper.NetworkConnections の例は以下のとおりです。

各フィールドの意味

フィールド
説明

sourceExePattern

リクエストの実行ファイル名に照合する正規表現 (例: rundll32.exe)。リテラルの .\\. と記述。大文字・小文字は区別しない

commandLinePattern

コマンドライン全体に照合する正規表現 (例: ncpa\\.cplncpa.cpl を含むコマンドラインに一致)。大文字・小文字は区別しない

elevationOnly

true のとき、特権昇格のリクエストにのみ適用。一般的なリダイレクトでは true を指定

nonAdminOnly

true のとき、リクエストしたユーザーが管理者でない場合にのみ適用。標準ユーザーには代替が使われ、管理者は他ポリシーでブロックされない限り元の実行ファイルを実行可能

targetExe

代替の実行ファイル名 (例: Keeper.NetworkConnections)。Jobs/bin (または Plugins/bin) 配下のフルパスに解決。代替はエンドポイントに配置必須

targetArguments

代替に渡す任意の引数。多くの場合は空 ("")

評価順: リクエストに最初に一致したルールが使われます。より具体的なルールを、汎用なルールより前に置いてください。


リダイレクトルールが一致したときの流れ

  1. ユーザーがコマンドラインにncpa.cplを含むrundll32.exeの昇格を要求します。ユーザーは標準ユーザー (非管理者) です。

  2. ポリシーがリクエストを許可します。必要に応じてMFA、正当化、承認が実行されます。

  3. LaunchPrivilegeElevationジョブが動きます。リダイレクトが有効なときだけcheck-redirectタスクが実行されます。

  4. RedirectEvaluatorが、リクエストのコンテキスト (実行ファイル、コマンドライン、ユーザー、イベント種別) で呼び出され、ルールを評価してリダイレクトの要否と代替を返します。

  5. ルールが一致した場合:

    • ジョブは呼び出し元にDENYを返し、元のexeは起動されません。

    • ジョブは代替 (例: Keeper.NetworkConnections) を昇格付きで起動します。

    • 成功時、クライアントには昇格が成功したと伝わり、ユーザーには代替アプリ (例: ネットワーク接続UI) が表示されます。

リダイレクトが無効のとき、またはどのルールも一致しないときは、ジョブは通常どおり、要求された実行ファイルを昇格付きで起動し、成功または失敗を報告します。


リダイレクトの有効化と無効化

  • 構成ファイル エンドポイント特権マネージャーのインストールディレクトリ配下の Plugins/RedirectEvaluator.json

    • metadata.redirect.enabled = true → リダイレクト有効。check-redirect が実行され、ルールが評価されます。

    • metadata.redirect.enabled = false → リダイレクト無効。check-redirect タスクはRedirectEvaluatorを実行せず、ジョブは常に通常の昇格起動パスを使います。

  • 構成のプッシュ SettingsUpdateの構成ポリシーでRedirectEvaluator (リダイレクトのルールを含む) を更新でき、ダッシュボードまたはポリシーストアがプラグインJSON全体を Plugins/RedirectEvaluator.json に書き込みます。Process Configuration Policiesジョブが構成プロセッサを実行して反映します。ファイル更新後、新しい設定が適用されます。再読み込みにはプラグインの再起動や次のリクエストが必要になることがあり、バージョンによって異なります。


Keeper.NetworkConnections (代替アプリ)

Keeper.NetworkConnectionsは、Windowsのネットワーク接続に相当する代替UIです。標準ユーザーが、特別なグループに入らずにネットワークアダプターのプロパティ (例: IP、DNS) を変更できます。昇格は製品の一時アカウントとリダイレクトの流れで処理されます。

  • 展開: Keeper.NetworkConnections は製品と一緒にビルドして配置する必要があります (例: Jobs/bin/Keeper.NetworkConnections/ 配下)。存在しない場合、そこへのリダイレクトでは代替を起動できません。

  • ユーザーの入り口: 上記のncpa.cpl向けルールがあるとき、ユーザーは従来どおり「ネットワーク接続」を開く操作で利用できます。ショートカットやメニューから「ネットワーク接続 (拡張)」などを用意することもできます。


リダイレクトルールの追加・変更

  1. RedirectEvaluatorプラグインの構成 (metadata.redirect セクションをPlugins/RedirectEvaluator.json内で) を編集します。

  2. リダイレクトを有効にする場合はredirect.enabledtrueにします。

  3. redirect.rulesのオブジェクトを追加または変更します。各ルールにsourceExePatterncommandLinePatternelevationOnlynonAdminOnlytargetExetargetArgumentsがあります。

  4. 順序: 最初に一致したルールが採用されます。具体的なルールを先に書いてください。

  5. targetExe (例: Keeper.NetworkConnections) を展開し、製品がJobs/binまたはPlugins/bin配下のパスに解決できるようにします。

正規表現のヒント: パターンは大文字・小文字を区別しません。リテラルの .\\. とエスケープします (例: ncpa\\.cplrundll32\\.exe)。意図しないアプリまでリダイレクトしないよう、パターンは十分に絞り込んでください。


Windows Server 2025の保護プロセスに関する回避策

Microsoftは最近、rundll32.exe の起動方法を変更しました。標準の実行ファイルとしてではなくProtected Process Light (PPL) またはCOM経由で起動される保護プロセスとして扱われます。その結果、WindowsはCode Integrity Guardを適用し、カーネルレベルで rundll32.exe に対するインジェクション方式のフックを無効化します。これにより、Windows Server 2025のエンドポイントでは、KEPMの標準のインジェクション機構では rundll32.exe をフックまたはインターセプトできません

リダイレクトベースのワークフローには影響しません。 リダイレクト機能が有効で、rundll32.exe + ncpa.cplKeeper.NetworkConnectionsに差し替えるルールが構成されている場合、リダイレクトは Keeper.NetworkConnections直接起動し、rundll32.exe をまったく経由しません。この方法はWindows Server 2025でも正しく動作し、そのプラットフォームではネットワーク接続の昇格に推奨される解決策です。

Windows Server 2025のエンドポイントにKEPMを展開し、rundll32.exe ベースのコントロールパネル操作 (例: ncpa.cpl) に依存している場合は、リダイレクト機能を有効にし、Keeper.NetworkConnectionsをデプロイしてください。


まとめ

項目
内容

リダイレクトとは

昇格が許可されたリクエストで、元のexeを起動せず別の実行ファイルに差し替え、ユーザーが意図した操作をおこなえるようにする

ncpa.cpl の例

非管理者ユーザー向けに、rundll32ncpa.cpl (ネットワーク接続) を Keeper.NetworkConnections へリダイレクト

設定場所

Plugins/RedirectEvaluator.jsonmetadata.redirect.enabledmetadata.redirect.rules

プッシュ方法

RedirectEvaluatorプラグインを対象とする SettingsUpdate ポリシーを使い、Process Configuration Policies を実行

代替アプリ

Keeper.NetworkConnections をビルドして展開 (例: Jobs/bin 配下)。ncpa.cpl向けリダイレクトでは必須

最終更新