知識マップ: Windowsサービスのアカウント選定 ── LocalSystem・仮想アカウント・gMSAの使い分け
記事「Windowsサービスのアカウント選定 ── LocalSystem・仮想アカウント・gMSAの使い分け」の主張を、概念と関係(エッジ)に分解した知識グラフの全体です。各関係には根拠・確認日・確度が付いています。
単一マシン内で完結するサービスは仮想アカウント、ドメイン内のリソースへサービス固有の身元でアクセスするサービスはgMSAが第一候補です。LocalSystemはトークンにSYSTEMとBUILTIN\Administratorsを含むため、乗っ取られるとそのマシンのほぼすべてを失います。仮想アカウントはパスワード管理不要のままサービスごとに身元を分離でき、ACLにNT SERVICE\サービス名を直接書けますが、ネットワークへ出るとコンピューターアカウントに縮退するため、リモート側からはどのサービスかを区別できません。ドメインユーザーを使う構成は、SCMが保存したパスワードの期限切れがサービス停止になり、それを避ける無期限運用と平文の使い回しがKerberoastingの餌になります。gMSAは240バイトのランダムパスワードを既定30日ごとに自動ローテーションし、複数サーバーで同じ身元を共有できます。
flowchart LR
accTitle: Windowsサービスの実行アカウント選択とgMSAの知識マップ
accDescr: LocalSystemの危険性、LocalService/NetworkServiceの最小権限、仮想アカウントによるサービス単位の身元分離、ネットワークではコンピューターアカウントに縮退する仕組み、ドメインユーザー方式のパスワード運用とKerberoasting、gMSAによる自動ローテーションを示す図
virtual_service_account["仮想アカウント"]
gmsa["gMSA(group Managed Service Account)"]
service_control_manager["SCM(サービス制御マネージャー)"]
logon_as_service_right["「サービスとしてログオン」権利"]
localsystem_account["LocalSystemアカウント"]
admin_rights["管理者権限"]
localservice_networkservice["LocalService / NetworkService"]
per_service_network_identity["サービス個別のネットワーク身元"]
computer_account["コンピューターアカウント(PC$)"]
workgroup["ワークグループ構成"]
domain_user_service_account["ドメインユーザーのサービスアカウント"]
kerberoasting["Kerberoasting"]
service_principal_name["SPN(サービスプリンシパル名)"]
kerberos["Kerberos"]
kds_root_key["KDSルートキー"]
domain_functional_level["ドメイン機能レベル(DFL)"]
domain_controller["ドメインコントローラー"]
password_prompting_app["パスワード入力を前提とするアプリ"]
security_event_4624["イベント4624(ログオン成功)"]
service_control_manager -->|"利用する"| logon_as_service_right
localsystem_account -->|"利用する"| admin_rights
localservice_networkservice -->|"軽減する"| localsystem_account
virtual_service_account -->|"の後継"| localservice_networkservice
virtual_service_account -->|"両立しない"| per_service_network_identity
virtual_service_account -->|"利用する"| computer_account
computer_account -->|"両立しない"| workgroup
domain_user_service_account -->|"前提とする"| service_control_manager
domain_user_service_account -.->|"原因になり得る"| kerberoasting
service_principal_name -->|"前提とする"| kerberos
kerberoasting -->|"前提とする"| service_principal_name
gmsa -->|"軽減する"| kerberoasting
gmsa -->|"の後継"| domain_user_service_account
gmsa -->|"前提とする"| kds_root_key
gmsa -->|"前提とする"| domain_functional_level
kds_root_key -->|"に保存される"| domain_controller
gmsa -.->|"両立しない"| password_prompting_app
domain_user_service_account -->|"で構成できる"| logon_as_service_right
service_control_manager -->|"で確認できる"| security_event_4624
概念間の関係(全19件)
図と同じ関係を文章でも列挙します。表示している文と機械可読な意味データ(RDFa)は同じ要素に載っています。確度が「確立した関係」のものは直接の関係として、「条件付きの関係」のものは成立条件つきの言明(rdf:Statement)として表現しています。
- SCM(サービス制御マネージャー)は「サービスとしてログオン」権利を利用します。
- LocalSystemアカウントは管理者権限を利用します。
- LocalService / NetworkServiceはLocalSystemアカウントを軽減します。
- 仮想アカウントはLocalService / NetworkServiceの後継に当たります。
- 仮想アカウントはサービス個別のネットワーク身元と両立しません。
- 仮想アカウントはコンピューターアカウント(PC$)を利用します。
- コンピューターアカウント(PC$)はワークグループ構成と両立しません。
- ドメインユーザーのサービスアカウントはSCM(サービス制御マネージャー)を前提とします。
- ドメインユーザーのサービスアカウントはKerberoastingの原因になることがあります。
- SPN(サービスプリンシパル名)はKerberosを前提とします。
- KerberoastingはSPN(サービスプリンシパル名)を前提とします。
- gMSA(group Managed Service Account)はKerberoastingを軽減します。
- gMSA(group Managed Service Account)はドメインユーザーのサービスアカウントの後継に当たります。
- gMSA(group Managed Service Account)はKDSルートキーを前提とします。
- gMSA(group Managed Service Account)はドメイン機能レベル(DFL)を前提とします。
- KDSルートキーはドメインコントローラーに保存されます。
- gMSA(group Managed Service Account)はパスワード入力を前提とするアプリと両立しません。
- ドメインユーザーのサービスアカウントは「サービスとしてログオン」権利で構成できます。
- SCM(サービス制御マネージャー)はイベント4624(ログオン成功)で確認できます。
主要概念の定義
機械可読データ
このデータセットについて
このページはサイトの知識グラフ(_data/knowledge/)から自動生成されています。誤りの指摘はお問い合わせからお願いします。