Windowsのサービスで使用される「System」「Local Service」「Network Service」アカウントとは?Tech TIPS

Windows OSでは、アクセス権の設定画面や実行中のプロセス/サービス一覧で、「System」「Local Service」「Network Service」という作った覚えのないアカウントを見かけることはないだろうか。これらの正体や指定方法、注意点を解説する。

» 2022年10月12日 05時00分 公開
[島田広道デジタルアドバンテージ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Tech TIPS」のインデックス

連載目次

systeminfoでシステム構成をリモートから集めたい

対象OS:Windows 8.1/Windows 10/Windows 11、Windows Server 2012/Windows Server 2012 R2/Windows Server 2016/Windows Server 2019/Windows Server 2022


作った覚えのないユーザーアカウントをあちこちで見かける!?

 Windows OSで何らかの設定をしていると、作った覚えのないユーザーアカウントらしきものを見かけることはないだろうか。

 例えば、タスクマネージャーの[詳細]タブを開いて実行中のプロセス一覧を表示させ、そこの[ユーザー名]列に注目する。次の画面のように、サインイン中のユーザーとは異なる「LOCAL SERVICE」「NETWORK SERVICE」「SYSTEM」といったアカウントによって複数のプロセスが実行されていることが分かる。

タスクマネージャーのプロセス一覧の[ユーザー]列に、作った覚えのないアカウントが並んでいる タスクマネージャーのプロセス一覧の[ユーザー]列に、作った覚えのないアカウントが並んでいる

 特に「SYSTEM」というアカウントは、ファイル/フォルダのアクセス権の設定画面でよく見かけるはずだ。たいていはAdministratorsグループと同じく、フルコントロールの権限が割り当てられている。

「SYSTEM」アカウントにはデフォルトでフルコントロールのアクセス権が割り当て済み 「SYSTEM」アカウントにはデフォルトでフルコントロールのアクセス権が割り当て済み

 しかし、[設定]アプリの[アカウント]にも、「コンピュータの管理」ツールの[システム ツール]−[ローカル ユーザーとグループ]にも、これらのアカウントは見当たらない。実際、こうしたアカウントを作成した覚えがないはずだ。

 本Tech TIPSでは、この「SYSTEM」「LOCAL SERVICE」「NETWORK SERVICE」について、注意点とともに解説しよう。

「SYSTEM」「LOCAL SERVICE」「NETWORK SERVICE」の正体

 前出のタスクマネージャーのプロセス一覧画面で、「SYSTEM」「LOCAL SERVICE」「NETWORK SERVICE」で実行されているプロセスは、Windows OSの各種サービスプログラムのプロセスか、あるいはサービスから起動された子プロセスが多数を占める。すなわち、サービスを起動するのに用いられているアカウントといえる。

 これらのアカウントは、Windows OSがサービスを起動するための専用アカウントとして提供しているものだ。アプリケーションなど通常のプログラムと異なり、サービスは特殊な権限を必要とすることが多いため、通常のユーザーアカウントではなく、これらのサービス用アカウントがデフォルトでサービス起動に利用される。いずれもOSによってインストール時に自動作成されるビルトインアカウントだ。

名称 System
(Local System)
Local Service Network Service
名称(日本語) ローカル システム ローカル サービス ネットワーク サービス
アカウントの実際の名前 NT AUTHORITY\
System
NT AUTHORITY\
LocalService
NT AUTHORITY\
NetworkService
権限 Administratorsグループのメンバと同じレベル Usersグループのメンバと同じレベル Usersグループのメンバと同じレベル
ネットワークアクセス時の資格情報 ローカルのコンピュータアカウント(<コンピュータ名>$) 匿名 ローカルのコンピュータアカウント(<コンピュータ名>$)
プロファイルのパス 【通常】
%SystemRoot%\
system32\
config\
systemprofile\
【x64環境の32bitアプリ】
%SystemRoot%\
SysWOW64\
config\
systemprofile\
%SystemRoot%\
ServiceProfiles\
LocalService\
%SystemRoot%\
ServiceProfiles\
NetworkService\
パスワードの扱い 指定不要(管理しなくてよい) 指定不要(管理しなくてよい) 指定不要(管理しなくてよい)
SID S-1-5-18 S-1-5-19 S-1-5-20
レジストリハイブ「HKEY_CURRENT_USER」の参照先 HKEY_USERS\
.DEFAULT
または
HKEY_USERS\
S-1-5-18
HKEY_USERS\
S-1-5-19
HKEY_USERS\
S-1-5-20
3種類のサービス用アカウントの違い
SID」については、Tech TIPS「オブジェクトを識別するSIDとは?」を参照していただきたい。

●System(システムまたはローカル システム)アカウント

 「System」はAdministratorsグループのメンバと同等の権限を持つアカウントで、システムへのフルアクセスが可能だ。ネットワークリソース(ネットワークを経由して利用するリソース)にも、ローカルのコンピュータアカウントの資格情報でアクセスできることから、Active Directoryのディレクトリサービスなどネットワーク系のサービスにも多用されている。ドメインコントローラ上でSystemアカウントによって起動されたサービスは、そのドメイン全体にアクセスできる。

 このようにSystemアカウントは強力な権限を持つため、攻撃者にサービスの脆弱(ぜいじゃく)性を突かれて乗っ取られた際、被害が甚大になりかねない。特に必要がなければ、より権限の少ない「Local Service」「Network Service」などのアカウントでサービスを実行することが推奨されている。

●Local Service(ローカル サービス)アカウント

 「Local Service」はUsersグループのメンバと同じ権限しか持たないサービス用アカウントだ。ネットワークリソースへのアクセスも、特定アカウントではなく匿名の資格情報に制限される。デフォルトでは、ローカルとネットワークのどちらのリソースに対しても、Systemほど強力な権限を必要としないサービスで利用されている。

●Network Service(ネットワーク サービス)アカウント

 「Network Service」は、Local Service同様、Usersグループのメンバと同じ権限しか持たないサービス用アカウント。ただしネットワークリソースには、Systemと同じくローカルのコンピュータアカウントの資格情報でアクセスできることから、Systemほど強力な権限を必要としないネットワーク系サービスで利用されている。

サービス用アカウントの指定時に注意すべき「名称」と「パスワード」

 Windows OSの設定をしていると、サービスを正常に実行するために、サービス用アカウントにファイル/フォルダのアクセス権限を与える、といった作業をすることがある。

 ところが前出のサービス用アカウントは特殊なビルトインアカウントのせいなのか、GUIでアカウントを指定する際、そのアカウント名称とパスワードについて戸惑うことがある。

●指定するアカウント名

 サービス用アカウントには前出の表のようにいくつかの名称がある。このうち、「Local System」「LocalService」「NetworkService」といった名称だと、ユーザーアカウントの選択画面でエラーが生じる。指定すべきアカウント名は以下のとおりだ(大文字小文字の区別はない)。

  • Systemアカウント: 「system
  • Local Serviceアカウント: 「local service
  • Network Serviceアカウント: 「network service

Copyright© Digital Advantage Corp. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。