Windows のセキュリティログで「アカウントが正常にログオンしました」(イベント ID 4624)を開くと、「ログオンの種類」という欄に 2、3、10 といった番号が入っています。この番号は、そのアカウントがどうやってコンピュータに入ってきたかを表しています。その場でサインインしたのか、共有フォルダを開いただけなのか、リモートデスクトップで入ってきたのかが分かります。この記事では、ログオンの種類ごとの意味と、イベントログでの見方、種類ごとに決まっているユーザー権利、「要求された種類のログオンは許可されていません」というエラーの直し方を説明します。
- ログオンの種類(2・3・4・5・7・10 など)の意味と使われる場面
- イベント 4624・4625 で、ログオンの種類をどう読むか
- ログオンの種類とユーザー権利の関係と、許可されていないときの直し方
ログオンの種類とは
Windows では、アカウントがコンピュータを使い始めるたびに「ログオン」が起きます。キーボードの前に座ってサインインするときだけでなく、別の PC から共有フォルダを開いたとき、タスクスケジューラのタスクが動いたとき、サービスが起動したときも、それぞれログオンが起きています。Windows は、このログオンを入り方によって分類していて、それぞれに番号を付けています。これがログオンの種類です。
主なログオンの種類は次のとおりです。
| 番号 | 名前 | どんなときか |
|---|---|---|
| 2 | 対話型 (Interactive) | そのコンピュータのキーボードと画面でサインインした。runas で別のユーザーとしてプログラムを起動したときも |
| 3 | ネットワーク (Network) | ネットワーク越しに資源を使った。共有フォルダを開く、リモートの管理ツール(コンピュータの管理、イベントビューアー)、PowerShell のリモート操作など |
| 4 | バッチ (Batch) | タスクスケジューラのタスクが、登録したユーザーとして動いた |
| 5 | サービス (Service) | サービスが、設定したアカウントで起動した |
| 7 | ロック解除 (Unlock) | ロックしていた画面を解除した |
| 8 | ネットワーク平文 (NetworkCleartext) | ネットワーク越しのログオンで、パスワードがそのままの形でサーバに渡された(IIS の基本認証など) |
| 9 | 新しい資格情報 (NewCredentials) | 手元では今のユーザーのまま、ネットワークの接続だけ別のアカウントを使う(runas /netonly) |
| 10 | リモート対話型 (RemoteInteractive) | リモートデスクトップでサインインした |
| 11 | キャッシュされた対話型 (CachedInteractive) | DC に届かないときに、前回のサインインの記録を使ってサインインした(社外に持ち出したノート PC など) |
対話型とネットワークの違い
いちばんよく見るのは、2(対話型)と 3(ネットワーク)です。2つの違いは、そのコンピュータの画面を使うかどうかです。
PC01 から FS01 の共有フォルダを開くと、FS01 には「user01 がネットワーク(3)でログオンした」と記録されます。user01 は FS01 の画面を使っていないので、対話型ではありません。いっぽう、PC01 の前に座ってサインインしたときは、PC01 に「user01 が対話型(2)でログオンした」と記録されます。同じ user01 の動きでも、記録されるコンピュータとログオンの種類が違う点に注意してください。
イベント 4624 は、ログオンされた側のコンピュータに記録されます。共有フォルダなら FS01、リモートデスクトップなら接続先のサーバです。DC には、Kerberos のチケットの発行(4768・4769)や NTLM の確認(4776)が記録されます。ドメインのユーザーのサインインを追うときは、DC の記録と、ログオンされたコンピュータの記録を組み合わせて見ます。
イベントログでログオンの種類を見る
ログオンの記録は、セキュリティログのイベント ID 4624(成功)と 4625(失敗)です。記録するには、監査ポリシーの「ログオンの監査」(Audit Logon)で成功と失敗を有効にしておきます。
4624 を見るときは、まずログオンの種類で入り方を確かめ、次にアカウント名でだれが、ネットワーク情報でどこからログオンしたかを見ます。ログオン ID は、そのログオンのセッションに付く番号です。ログオフのイベント(4634)にも同じログオン ID が記録されるので、2つを組み合わせると、いつからいつまでログオンしていたかが分かります。
| やったこと | 記録されるコンピュータ | ログオンの種類 |
|---|---|---|
| PC01 の前でサインインした | PC01 | 2(対話型) |
| PC01 の画面のロックを解除した | PC01 | 7(ロック解除) |
| PC01 から FS01 の共有フォルダを開いた | FS01 | 3(ネットワーク) |
| PC01 から FS01 にリモートデスクトップで入った | FS01 | 10(リモート対話型) |
| FS01 のタスクスケジューラのタスクが動いた | FS01 | 4(バッチ) |
| FS01 でサービスが専用のアカウントで起動した | FS01 | 5(サービス) |
パソコンを起動しただけでも、SYSTEM やコンピュータのアカウント(PC01$)による 4624 がたくさん記録されます。人の操作を追いたいときは、アカウント名とログオンの種類で絞り込むと見やすくなります。
ログオンの種類とユーザー権利
ログオンの種類ごとに、「だれがその種類でログオンしてよいか」を決めるユーザー権利があります。許可する権利と拒否する権利が対になっていて、どちらもグループポリシーやローカルセキュリティポリシーで設定します。
たとえば、ふつうのユーザーが DC の前に座ってサインインしようとしても、ログオンできません。DC では「ローカル ログオンを許可」が既定で管理者などのグループに限られているからです。また、共有フォルダを開くには、ファイルの権限とは別に、サーバ側で「ネットワーク経由でコンピューターへアクセス」の権利が必要です。既定では Everyone や Users などに与えられているので、ふだん意識することはありません。
拒否が優先される
同じアカウントが許可と拒否の両方に当てはまるときは、拒否が優先されます。アカウントそのものではなく、グループで指定されていることが多いので、どのグループで拒否に当てはまっているかを確かめます。
リモートデスクトップの場合
リモートデスクトップで入るには、ユーザー権利のほかにもいくつか条件があります。メンバーサーバでは、ローカルの Remote Desktop Users グループに既定でこの権利が与えられているので、ユーザーをこのグループに入れるのが一般的です。
「要求された種類のログオンは許可されていません」の直し方
ユーザー権利でログオンの種類が許可されていないと、ログオンに失敗します。エラーの表示は場面によって違いますが、中身は同じです。
| 場面 | 表示や記録の例 |
|---|---|
| サインインやプログラム | エラー 1385(ERROR_LOGON_TYPE_NOT_GRANTED):ユーザーはこのコンピュータで要求された種類のログオンを許可されていない |
| リモートデスクトップ | 「システム管理者がログオンの種類を制限している」といった内容のメッセージ |
| セキュリティログ | イベント 4625(失敗)の状態またはサブ状態が 0xC000015B |
調べる手順は次のとおりです。
- ログオンされる側のコンピュータで、4625 のログオンの種類とアカウント名を確かめる
- その種類に対応するユーザー権利(図4)で、アカウントか、アカウントが入っているグループが「許可」に入っているかを見る
- 同じ種類の「拒否」に、アカウントやグループが入っていないかを見る
- 設定を直すときは、ローカルの設定ではなく、グループポリシーで上書きされていないかを先に確かめる(
gpresult /hで、実際に効いている設定と、どの GPO から来たかが分かる)
よくあるのは、セキュリティの強化でグループポリシーのユーザー権利を書き換えたときに、必要なアカウントが抜けてしまうケースです。たとえば「サービスとしてログオン」をポリシーで指定すると、指定しなかったアカウントからはその権利が外れます。その結果、そのアカウントで動いていたサービスが起動できなくなります。ユーザー権利のポリシーは、追加ではなく「この一覧に置き換える」動きになる点に気をつけてください。
確認に使うコマンド
サーバ(PowerShell・管理者):リモートデスクトップ(ログオンの種類 10)の成功ログオンを新しい順に20件表示する
Get-WinEvent -LogName Security -FilterXPath "*[System[EventID=4624] and EventData[Data[@Name='LogonType']='10']]" -MaxEvents 20
サーバ(PowerShell・管理者):ログオンの失敗(4625)を新しい順に20件表示する
Get-WinEvent -FilterHashtable @{LogName='Security'; Id=4625} -MaxEvents 20
サーバ(コマンドプロンプト・管理者):「ログオンの監査」の設定を表示する
auditpol /get /subcategory:{0CCE9215-69AE-11D9-BED3-505054503030}
サーバ(コマンドプロンプト・管理者):実際に効いているグループポリシーを HTML で書き出す
gpresult /h C:\temp\gpresult.html
サーバ(コマンドプロンプト・管理者):今のユーザー権利の割り当てをファイルに書き出す
secedit /export /areas USER_RIGHTS /cfg C:\temp\user_rights.inf
サーバ(PowerShell・管理者):Remote Desktop Users グループのメンバーを表示する
Get-LocalGroupMember -SID S-1-5-32-555
auditpol は、サブカテゴリーを GUID で指定しているので、日本語版の Windows でもそのまま使えます。secedit で書き出したファイルでは、ユーザー権利が SeInteractiveLogonRight(ローカル ログオンを許可)や SeDenyNetworkLogonRight(ネットワーク経由のアクセスを拒否)のような名前で並び、アカウントは SID で書かれています。SID については「SIDとは?」の記事で説明しています。
| secedit の名前 | ユーザー権利 |
|---|---|
| SeInteractiveLogonRight | ローカル ログオンを許可(2) |
| SeNetworkLogonRight | ネットワーク経由でコンピューターへアクセス(3) |
| SeBatchLogonRight | バッチ ジョブとしてログオン(4) |
| SeServiceLogonRight | サービスとしてログオン(5) |
| SeRemoteInteractiveLogonRight | リモート デスクトップ サービスを使ったログオンを許可(10) |
| SeDeny… | それぞれの「拒否」(例:SeDenyInteractiveLogonRight) |
まとめ
| 項目 | ひとことで |
|---|---|
| ログオンの種類 | アカウントがどうやって入ってきたかを表す番号。2 は対話型、3 はネットワーク、10 はリモートデスクトップ |
| 記録される場所 | 4624・4625 は、ログオンされた側のコンピュータのセキュリティログに残る |
| 見方 | ログオンの種類 → アカウント名 → ネットワーク情報の順に見る。ログオン ID で 4634 と組み合わせる |
| ユーザー権利 | 種類ごとに許可と拒否の権利がある。拒否が優先される |
| 許可されていないとき | 4625 の 0xC000015B。種類に対応する権利と、グループポリシーでの上書きを確かめる |
ログオンの種類を知っておくと、イベントログの 4624 が並んでいても「これは共有フォルダのアクセス」「これはリモートデスクトップ」と読み分けられます。ログオンできないときも、どのユーザー権利を見ればよいかがすぐに分かります。
- SECURITY_LOGON_TYPE enumeration(Microsoft Learn)
- Win32_LogonSession class(Microsoft Learn)
- Administrative tools and logon types(Microsoft Learn)
- Invalid client IP address in security event ID 4624(イベント 4624 の各欄の説明)(Microsoft Learn)
- Windows security baseline(Audit Logon、Deny log on locally)(Microsoft Learn)
- System Error Codes (1300-1699)(Microsoft Learn)
- “Logon type has not been granted” error(Microsoft Learn)
- “The system administrator has restricted the types of logon” error(Microsoft Learn)
- Policy CSP – UserRights(Microsoft Learn)
- Appendix L: Events to monitor(Microsoft Learn)
コメント