仮想アカウント
type: Concept
definition: パスワード管理が不要で、コンピューターアカウントの資格情報でネットワークにアクセスしながらサービス単位でACLを付与できるサービス実行アカウント。
alternative label: Virtual Account
alternative label: NT SERVICE\サービス名
succeeds: LocalService / NetworkService
incompatible with: サービス個別のネットワーク身元
uses: コンピューターアカウント(PC$)

gMSA(group Managed Service Account)
type: Concept
definition: パスワードの自動生成・自動更新とSPN管理の簡素化を提供するActive Directoryドメインのサービスアカウント。ドメインコントローラー側のKDSルートキーの準備を前提とする。
alternative label: グループ管理サービスアカウント
mitigates: Kerberoasting
succeeds: ドメインユーザーのサービスアカウント
requires: KDSルートキー
requires: ドメイン機能レベル(DFL)

SCM(サービス制御マネージャー)
type: Concept
definition: サービスの起動時に実行アカウントでログオンさせる、Windowsのサービス管理コンポーネント。
uses: 「サービスとしてログオン」権利
verified by: イベント4624(ログオン成功)

「サービスとしてログオン」権利
type: Concept
definition: セキュリティプリンシパルがサービスとしてプロセスを実行できるようにするユーザー権利。
alternative label: SeServiceLogonRight

LocalSystemアカウント
type: Concept
definition: サービスの実行アカウントの1つ。ローカルでは広範な特権を持つ一方、ネットワーク上ではコンピューターの資格情報としてリモートサーバーに認証される。
alternative label: LocalSystem
uses: 管理者権限

管理者権限
type: Concept
definition: コンピューター全体の設定を変更できる権限。
alternative label: 昇格

LocalService / NetworkService
type: Concept
definition: ローカル権限を最小に抑えた組み込みのサービスアカウント。リモートに対してLocalServiceは匿名、NetworkServiceはコンピューターアカウントとして見える。
mitigates: LocalSystemアカウント

サービス個別のネットワーク身元
type: Concept
definition: リモートのリソースに対して、同一マシン上の個々のサービスを別々のアカウントとして識別・認可できること。

コンピューターアカウント(PC$)
type: Concept
definition: ドメイン参加マシンがActive Directory上に持つアカウント。LocalSystem・NetworkService・仮想アカウントで動くサービスは、この身元でリモートのリソースへ認証される。
incompatible with: ワークグループ構成

ワークグループ構成
type: Concept
definition: Active Directoryドメインに参加しない、Kerberosの土俵にないWindowsのネットワーク構成。この構成のシステムのWindows認証には依然としてNTLMが使われ、使われなければならない。
alternative label: Workgroup

ドメインユーザーのサービスアカウント
type: Concept
definition: サービスの実行アカウントとして割り当てられたドメイン(またはローカル)のユーザーアカウント。SCMがパスワードを保存し、起動のたびにログオンに使う。
requires: SCM(サービス制御マネージャー)
configured by: 「サービスとしてログオン」権利

Kerberoasting
type: Concept
definition: SPNが登録されたアカウントへのサービスチケットを認証済みユーザーとして要求し、オフラインでパスワードの総当たりを試みる攻撃。
requires: SPN(サービスプリンシパル名)

SPN(サービスプリンシパル名)
type: Concept
definition: Kerberos認証を受けるサービスが実行アカウントに登録する名前。
alternative label: SPN
requires: Kerberos

Kerberos
type: Concept
definition: チケットによる一度だけの本人確認と相互認証を提供する認証プロトコル。Windows ServerはKerberos version 5と、公開鍵認証・認可データの転送・委任のための拡張を実装する。
alternative label: Kerberos version 5
alternative label: Kerberos認証

KDSルートキー
type: Concept
definition: gMSAのパスワード計算の元になる、キー配布サービスのルートキー。作成は1回だけだが、全ドメインコントローラーへの複製を待つ必要がある。
stored in: ドメインコントローラー

ドメイン機能レベル(DFL)
type: Concept
definition: ドメイン内のドメインコントローラーに要求するWindows Serverの世代を示す設定値。利用できるActive Directoryの機能の範囲を決める。
alternative label: DFL
alternative label: Domain Functional Level

ドメインコントローラー
type: Concept
definition: Active Directoryのディレクトリサービスを提供し、KDCの機能やNTLMのパススルー認証の相手を担うサーバー。
alternative label: DC

パスワード入力を前提とするアプリ
type: Concept
definition: 実行アカウントの構成に任せず、アプリ自身が資格情報のパスワード入力・保存を要求する作りのソフトウェア。

イベント4624(ログオン成功)
type: Concept
definition: アカウントが正常にログオンしたときに記録される監査イベント。

subject: SCM(サービス制御マネージャー)
predicate: uses
object: 「サービスとしてログオン」権利
description: サービスはユーザーアカウントのセキュリティコンテキストで実行され、SCMが起動時にそのアカウントでログオンさせる。「サービスとしてログオン」権利はセキュリティプリンシパルがサービスとしてプロセスを実行できるようにする。
evidence: service-user-accounts
evidence: logonasservice
verified at: 2026-08-22
certainty: established

subject: LocalSystemアカウント
predicate: uses
object: 管理者権限
description: LocalSystemのトークンにはNT AUTHORITY\SYSTEMとBUILTIN\AdministratorsのSIDが含まれ、ローカルコンピューター上で広範な特権を持つ。sc.exeでサービスの実行アカウントを指定するobj=パラメーターの既定値がLocalSystemであることが、安易な選択の温床になる。
evidence: localsystem-account
evidence: sc-config
verified at: 2026-08-22
certainty: established

subject: LocalService / NetworkService
predicate: mitigates
object: LocalSystemアカウント
description: ローカル権限はどちらも最小で、リモートに対してLocalServiceは匿名、NetworkServiceはコンピューターアカウントとして見える。SYSTEMはNTFSボリューム上で既定でフルコントロールを持つのに対し、最小権限の組み込みアカウントはそこが違う。
evidence: local-accounts
verified at: 2026-08-20
certainty: established

subject: 仮想アカウント
predicate: succeeds
object: LocalService / NetworkService
description: 仮想アカウントは自動的に管理されて作成もパスワード設定も不要という長所を保ったまま、サービス1つにつき固有の身元を持つのでアカウント共有による分離不能という短所を解消する。SQL Serverの既定のサービスアカウントもこれである。
evidence: understand-service-accounts
evidence: configure-windows-service-accounts-and-permissions
verified at: 2026-08-20
certainty: established

subject: 仮想アカウント
predicate: incompatibleWith
object: サービス個別のネットワーク身元
description: 仮想アカウントの身元はマシンローカルで、ネットワーク上ではコンピューターアカウントに縮退する。ドメインのリソースへはその身元でアクセスできるが、リモート側からどのサービスかを区別できず、複数サーバーで同じ身元を共有することもできない。
evidence: manage-group-managed-service-accounts
verified at: 2026-08-22
certainty: established

subject: 仮想アカウント
predicate: uses
object: コンピューターアカウント(PC$)
description: ドメイン参加マシンでは、LocalSystem・NetworkService・仮想アカウントで動くサービスがリモートのリソースへアクセスするとき、DOMAIN\コンピューター名$として認証される。接続先のACLにPC$を付与すれば、ドメインユーザーを使わずに済むケースは多い。
evidence: localsystem-account
evidence: understand-service-accounts
verified at: 2026-08-22
certainty: established

subject: コンピューターアカウント(PC$)
predicate: incompatibleWith
object: ワークグループ構成
description: コンピューターアカウントはActive Directoryのオブジェクトなので、ドメインに参加していないマシンには存在しない。接続先の資格情報を明示的に扱う設計が必要になる。
evidence: service-accounts-on-premises
verified at: 2026-08-20
certainty: established

subject: ドメインユーザーのサービスアカウント
predicate: requires
object: SCM(サービス制御マネージャー)
description: SCMがパスワードを保存して起動のたびにログオンに使うが、期限は管理してくれない。パスワードが期限切れになるとログオンが失敗し、サービスは起動しなくなる。
evidence: service-user-accounts
verified at: 2026-08-20
certainty: established

subject: ドメインユーザーのサービスアカウント
predicate: mayCause
object: Kerberoasting
description: Kerberos認証を受けるサービスは実行アカウントにSPNを登録し、ドメインの任意の認証済みユーザーがそのアカウントへのサービスチケットを要求できる。人間が決めた10〜16文字程度のパスワードは、取得したチケットへのオフライン総当たりに耐えられない。
evidence: smb-interception-defense
verified at: 2026-08-20
certainty: context-dependent

subject: SPN(サービスプリンシパル名)
predicate: requires
object: Kerberos
description: SPNはKerberos認証を受けるサービスが実行アカウントに登録する名前で、サービスチケットの宛先を特定する。
evidence: smb-interception-defense
verified at: 2026-08-20
certainty: established

subject: Kerberoasting
predicate: requires
object: SPN(サービスプリンシパル名)
description: 攻撃の起点はSPNが登録されたアカウントで、SPNがなければサービスチケットの要求対象にならない。
evidence: smb-interception-defense
verified at: 2026-08-20
certainty: established

subject: gMSA(group Managed Service Account)
predicate: mitigates
object: Kerberoasting
description: gMSAのパスワードは240バイトのランダム生成で総当たり・辞書攻撃を受けにくい。実効性のある対策はパスワードを人間が推測・解読できない強度にすることで、マイクロソフトも長いパスワードの強制とgMSAの利用を挙げている。
evidence: service-accounts-group-managed
evidence: smb-interception-defense
verified at: 2026-08-20
certainty: established

subject: gMSA(group Managed Service Account)
predicate: succeeds
object: ドメインユーザーのサービスアカウント
description: 既定30日ごとの自動ローテーションで人間が変更を計画する必要も、サービスを止める必要もなくなる。複数サーバーで同じ身元を共有でき、SPNの登録・管理も簡素化できる。
evidence: service-accounts-group-managed
evidence: group-managed-service-accounts-overview
verified at: 2026-08-20
certainty: established

subject: gMSA(group Managed Service Account)
predicate: requires
object: KDSルートキー
description: パスワードはKDSのルートキーからドメインコントローラーが計算し、許可されたホストだけが取得する。KDSルートキーの作成は1回だけの作業だが、全ドメインコントローラーへの複製を待つため作成から最大10時間はgMSAを作成できない。
evidence: group-managed-service-accounts-overview
evidence: create-the-key-distribution-services-kds-root-key
verified at: 2026-08-20
certainty: established

subject: gMSA(group Managed Service Account)
predicate: requires
object: ドメイン機能レベル(DFL)
description: gMSAにはActive Directoryドメイン環境であること、ドメインとフォレストの機能レベルがWindows Server 2012以上であること、gMSA名がフォレスト内で一意であることが要る。パスワード変更間隔は作成時にしか設定できない。
evidence: manage-group-managed-service-accounts
verified at: 2026-08-20
certainty: established

subject: KDSルートキー
predicate: storedIn
object: ドメインコントローラー
description: ルートキーはドメインコントローラーが保持し、そこからgMSAのパスワードを計算する。
evidence: create-the-key-distribution-services-kds-root-key
verified at: 2026-08-20
certainty: established

subject: gMSA(group Managed Service Account)
predicate: incompatibleWith
object: パスワード入力を前提とするアプリ
description: gMSAはWindowsサービス・IISアプリケーションプール・タスクスケジューラのタスクなど、標準の仕組みでログオン身元を構成するものには広く対応するが、アプリが内部でパスワードを要求する作りだと使えない。フェールオーバークラスタリング自体もgMSAをサポートしないなどの制約があるため、本番投入前にテスト環境で動作を確認する。
evidence: manage-group-managed-service-accounts
evidence: service-accounts-group-managed
verified at: 2026-08-20
certainty: context-dependent

subject: ドメインユーザーのサービスアカウント
predicate: configuredBy
object: 「サービスとしてログオン」権利
description: ドメインユーザーを使わざるを得ない場合の緩和策として、対話型ログオンとリモートデスクトップを拒否し、「サービスとしてログオン」だけを許可する。
evidence: service-accounts-on-premises
evidence: logonasservice
verified at: 2026-08-22
certainty: established

subject: SCM(サービス制御マネージャー)
predicate: verifiedBy
object: イベント4624(ログオン成功)
description: 現状の棚卸しは、サービス一覧の実行アカウントと、ログオンタイプ5で記録されるイベント4624で確認できる。
evidence: event-4624
verified at: 2026-08-20
certainty: established