概要
この記事では、Windows 10 Version 1709 以降および Windows Server 2016 Version 1709 以降のセキュリティ ポリシーの変更について説明します。 新しいポリシーでは、リモート コンピューター上のローカル管理者であるユーザーのみが、そのコンピューターのサービスを開始または停止できるようになりました。
また、この記事では、この新しいポリシーから個々のサービスをオプトアウトする方法についても説明します。
詳細
よくあるセキュリティ上の誤りとして、過度に許容度が高いセキュリティ記述子 (「Service Security and Access Rights」(英語情報) を参照してください) を使用してサービスを構成することで、意図しないリモートの発信者にアクセスを許可してしまう場合があります。 たとえば、Authenticated Users に SERVICE_START または SERVICE_STOP アクセス許可を付与するサービスは珍しくありません。 通常、ローカル管理者以外のユーザーにのみ、このような権限を付与することが目的ですが、Authenticated Users には、そのアカウントがリモート コンピューターとローカル コンピューターの Administrators グループのどちらに属するかにかかわらず、Active Directory フォレスト内のすべてのユーザーまたはコンピューターも含まれます。 このような過度のアクセス許可は悪用され、ネットワーク全体に混乱を招く可能性があります。
この問題の広汎性と潜在的な重大度と、大規模なドメインには必ず侵害されたコンピューターが存在すると想定する現代のセキュリティ保護策を考慮し、リモートの発信者が次のサービスのアクセス許可を要求するには、コンピューターのローカル管理者でもあることを必須にする新しいシステム セキュリティ設定が導入されました。
SERVICE_CHANGE_CONFIG
SERVICE_START SERVICE_STOP SERVICE_PAUSE_CONTINUE DELETE WRITE_DAC WRITE_OWNER新しいセキュリティ設定では、次のサービス コントロール マネージャー アクセス許可を要求するには、リモートの発信者がコンピューターのローカル管理者であることが必須になります。
SC_MANAGER_CREATE_SERVICE
注: このローカル管理者のチェックは、サービスまたはサービス コントローラーのセキュリティ記述子に対する既存のアクセス チェックに加えて行われます。この設定は、Windows 10 Version 1709 および Windows Server 2016 Version 1709 から導入されました。 既定では、この設定は有効です。
管理者以外のユーザーがリモートからサービスを開始または停止できることに依存しているサービスをご利用の場合は、この新しいチェックで問題が起こる可能性があります。 必要に応じて、次のレジストリの場所にある RemoteAccessCheckExemptionList REG_MULTI_SZ レジストリ値にサービス名を追加することで、個々のサービスをこのポリシーからオプトアウトすることができます。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\SCM
これを行うには、次の手順を実行します。
-
[スタート] ボタンを選択し、[ファイル名を指定して実行] を選択します。[名前] ボックスに「regedit」と入力し、[OK] をクリックします。
-
レジストリで以下のサブキーを見つけて選択します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\SCM 注: サブキーが存在しない場合は作成する必要があります。[編集] メニューの [新規]、[キー] の順に選択します。新しいサブキーの名前を入力し、Enter キーを押します。 -
[編集] メニューの [新規] をポイントし、[REG_MULTI_SZ 値] を選択します。
-
REG_MULTI_SZ 値の名前に「RemoteAccessCheckExemptionList」と入力して、Enter キーを押します。
-
RemoteAccessCheckExemptionList 値をダブルクリックし、新しいポリシーから除外するサービスの名前を入力して、[OK] をクリックします。
-
レジストリ エディターを終了し、コンピューターを再起動します。
管理者がこの新しいチェックをグローバルに無効にし、古い安全性の低い動作を復元するには、次のレジストリの場所の RemoteAccessExemption REG_DWORD レジストリ値を 0 以外の値に設定します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
注: この値を一時的に設定すると、この新しいアクセス許可モデルがアプリケーションの互換性の問題の原因かどうかを簡単に判断できます。
これを行うには、次の手順を実行します。
-
[スタート] ボタンを選択し、[ファイル名を指定して実行] を選択します。[名前] ボックスに「regedit」と入力し、[OK] をクリックします。
-
レジストリで次のサブキーを見つけてクリックします。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control -
[編集] メニューの [新規] をポイントし、[REG_DWORD (32 ビット) 値] を選択します。
-
REG_DWORD 値の名前に「RemoteAccessExemption」と入力して、Enter キーを押します。
-
RemoteAccessExemption 値をダブルクリックし、[値のデータ] フィールドに「1」と入力して、[OK] をクリックします。
-
レジストリ エディターを終了し、コンピューターを再起動します。