PCの管理を1人で、しかもほかの仕事と兼任で受け持っている会社は少なくありません。そうした会社では、夜中や休みの日にPCで何か起きても、気づくのは翌朝や週明けになりがちです。かといって、休みの日にPCの画面を見張り続けるわけにもいきません。
この記事では、夜間・休日にどんな異変に気づければよいか、Windowsの標準機能で通知を作る手順とその限界、担当者が1人でも見張らずに済む仕組みを順に説明します。
見張らずに気づくための順番
- 1
動いているPCを知る
夜間・休日も電源が入っているか
- 2
見る異変を決める
5つに絞る
- 3
届く仕組みを作る
スマホで受け取る
- 4
届いたときの動きを決める
確かめる・止める
夜間・休日に気づきたい5つの異変
ふだんの業務ではあまり起きない動きに絞ると、通知が多すぎて見なくなることがありません。
| 異変 | どこに残るか | なぜ気にするか |
|---|---|---|
| 深夜・休日のログオン | セキュリティログ 4624(種類2・10) | 誰も働いていない時間に入った人がいる |
| ログオンの連続失敗 | セキュリティログ 4625 | パスワードを次々に試されている |
| Defenderの停止 | Windows Defender/Operational 5001 | ウイルス対策のリアルタイム保護が止められた |
| ログの消去 | セキュリティログ 1102、システムログ 104 | 記録を消して、跡を残さないようにしている |
| シャドウコピーの削除 | プロセス作成 4688(設定が必要) | ファイルを元に戻せないようにしている |
後ろの3つは、ランサムウェアの被害の前に見られることが多い動きです。前兆の見分け方はランサムウェアの前兆に気づく方法にまとめています。
PC版 月1,800円/台(初期費用0円)・サーバー版 月20,000円/台。初月無料ではじめられます(税別・目安)
Windows標準でできること
手順1:記録が残る設定にする
4624・4625は「ログオンの監査」、4688は「プロセス作成の監査」が有効なときに記録されます。グループポリシー(gpedit.msc)の「コンピューターの構成 > Windows の設定 > セキュリティの設定 > 監査ポリシーの詳細な構成」で、次の2つを有効にします。
- ログオン/ログオフ > ログオンの監査(成功と失敗)
- 詳細追跡 > プロセス作成の監査(成功)
シャドウコピーの削除に気づくには、どんなコマンドが実行されたかも残す必要があります。「コンピューターの構成 > 管理用テンプレート > システム > プロセス作成の監査 > プロセス作成イベントにコマンド ラインを含める」を有効にすると、4688に vssadmin delete shadows のようなコマンドが残ります。
手順2:過去の夜間・休日のログオンを確かめる
まず、今までに夜間・休日のログオンがあったかを見ておきます。PowerShellを管理者として開き、次を実行すると、直近30日のうち22時〜6時と土日のログオンが出ます。
Get-WinEvent -FilterHashtable @{ LogName = 'Security'; Id = 4624; StartTime = (Get-Date).AddDays(-30) } |
Where-Object {
($_.Properties[8].Value -in 2, 10) -and
($_.TimeCreated.Hour -ge 22 -or $_.TimeCreated.Hour -lt 6 -or $_.TimeCreated.DayOfWeek -in 'Saturday', 'Sunday')
} |
Select-Object TimeCreated, @{ n = '利用者'; e = { $_.Properties[5].Value } }, @{ n = '接続元IP'; e = { $_.Properties[18].Value } }時間帯は、自社の勤務時間に合わせて変えてください。
手順3:イベントが記録されたら通知する
タスクスケジューラの「タスクの作成」で、トリガーを「イベント時」にすると、特定のイベントが記録されたときに処理を動かせます。例えば、ログの消去なら「ログ:セキュリティ、ソース:Microsoft-Windows-Eventlog、イベント ID:1102」、Defenderの停止なら「ログ:Microsoft-Windows-Windows Defender/Operational、イベント ID:5001」を指定します。全般タブで「ユーザーがログオンしているかどうかにかかわらず実行する」「最上位の特権で実行する」を選びます。
タスクスケジューラの「電子メールの送信」の操作は今のWindowsでは使えないため、操作には通知用のPowerShellスクリプトを指定します。ログオンの連続失敗なら、10分ごとに動くタスクで次のようなスクリプトを実行します。
$count = @(Get-WinEvent -FilterHashtable @{ LogName = 'Security'; Id = 4625; StartTime = (Get-Date).AddMinutes(-10) } -ErrorAction SilentlyContinue).Count
if ($count -ge 5) {
Send-MailMessage -To 'admin@example.co.jp' -From 'pc-alert@example.co.jp' -SmtpServer 'smtp.example.co.jp' -Port 587 -UseSsl -Subject "$env:COMPUTERNAME でログオンの失敗が $count 回" -Body '直近10分のログオンの失敗が多くなっています。' -Encoding UTF8
}メールサーバーが送信時の認証を求める場合は、送信用のIDとパスワードを各PCに置くことになります。なお、Send-MailMessage はMicrosoftが今後の利用を勧めていないコマンドです。
通知は「多すぎない」ことがいちばん大事
1台ずつ仕組みを作るときの限界
手順1〜3は、どれもPC1台ごとの設定です。担当者が1人だと、次の点が負担になります。
- 全PCに同じ設定をするのに時間がかかる。PCを入れ替えるたびに、設定し直す必要があります。
- 監査の設定が無効なPCでは、そもそも記録が残らない。
- メールに届いても、休日は気づきにくい。ほかのメールに埋もれます。
- 届いても、その場で止められない。ネットワークから外すには会社に行くか、リモートで入る必要があります。
- 侵入した相手に、タスクごと消されることがある。通知の仕組みがPCの中にあるためです。
スマホに届きその場で止められる仕組みにする
1台ずつ仕組みを作る場合と、1か所で管理する場合
1台ずつ作る
- 全PCに監査とタスクを設定する
- 通知はメールで届き、休日は埋もれやすい
- 止めるには会社に行くか、リモートで入る
1か所で管理する
- 監査の設定が無効なPCでも検知できる
- 異変は管理者ご本人が登録したLINEに届く
- LINEのボタンから画面の確認・ネットワーク分離・電源オフができる
アプリップリキーを使うと、アプリップリキーを入れた全PC・サーバーについて、次のことができます。
- 異変がLINEに届く:ランサムウェアの前兆(偵察・パスワードの盗み出し・防御の無効化・バックアップの破壊)や、ログインの連続失敗を検知すると、管理者ご本人が登録したLINEに届きます。送信先は10件まで登録でき、担当者が休みの日はほかの人にも届くようにできます。監査ポリシーが無効なPCでも検知できます。
- 連続して失敗した相手を自動で遮断:ログインに連続して失敗した相手のIPアドレスは、自動で遮断されます。
- スマホからその場で止められる:LINEのボタンから、そのPCの画面の確認、ネットワークからの分離、電源オフができます(確認付き)。電源を切ったあとは、遠隔で起動できないので注意してください。
- 翌朝、記録を確かめられる:ログイン記録を日時・利用者・接続元のPC名とIPアドレスで絞り込み、CSVで出せます。ログは10年間残ります。
入れたあと、休みの日の過ごし方で変わること
これまでは、休み明けにメールやログを順に見て「何もなかったか」を確かめていたかもしれません。異変があるときだけLINEに届く仕組みにしておくと、通知が来ていなければ、検知の対象になる異変は起きていなかったと分かります。休みの日にPCの様子を見に行ったり、気になって会社に出たりする必要がなくなり、通知が来たときもスマホから止めて、続きは翌朝に記録を見れば済みます。担当者が1人・兼任でも、安心して休めるようになります。
さらに、アプリップリキーはPC及びサーバーのログインを本人のスマホを鍵にしたワンタッチログインにします(PC版・サーバー版。リモートデスクトップでのログインも対象)。VPNや社内Wi-Fiの先にあるPC・サーバーでも、鍵になる本人のスマホがなければログインできません。毎回の操作はスマホでワンタッチなので、社員の手間はほとんど増えません。ADは要りません。
対象は、アプリップリキーを入れたPC・サーバーで、インターネットにつながっていないPCは対象外です。
よくある質問
Q. 夜間・休日に、PCのどんな動きに気づければよいですか?
A. まずは5つです。ふだん使わない時間のログオン、ログオンの連続した失敗(イベントID 4625)、Microsoft Defenderのリアルタイム保護の停止(5001)、セキュリティログの消去(1102)、シャドウコピーの削除です。どれも、ふだんの業務ではあまり起きない動きです。
Q. Windowsの標準機能だけで通知できますか?
A. タスクスケジューラで、特定のイベントが記録されたときにスクリプトを動かし、メールを送る仕組みは作れます。ただし、PC1台ずつに設定が必要で、メール送信の設定も各PCに置くことになります。通知を受け取っても、その場でPCを止めるには会社に行くか、リモートで入る必要があります。
Q. 通知が来たら、まず何をすればよいですか?
A. 本人の作業かどうかを確かめます。夜間の作業の予告があった、本人が自宅からつないでいた、といった理由なら問題ありません。説明がつかない場合は、そのPCをネットワークから外し、パスワードを変え、翌朝に記録を詳しく見ます。
Q. 休日はPCの電源を切っています。それでも必要ですか?
A. 電源が切れているPCは動きません。ただし、サーバーや、電源を入れたままのPC、リモートで使うためにスリープにしているPCがあれば、そこが対象になります。どのPCが休日も動いているかを先に確かめておくと、見る範囲を絞れます。
参考
- Microsoft Learn「4625(F): An account failed to log on.」
- Microsoft Learn「1102(S): The audit log was cleared.」
- Microsoft Learn「4688(S): A new process has been created.」
- Microsoft Learn「Microsoft Defender ウイルス対策の問題をトラブルシューティングするためのイベント ログとエラー コードを確認する」
- IPA「中小企業の情報セキュリティ対策ガイドライン」
