WindowsのSecurity Auditingで共有フォルダーへのアクセス元コンピューターを特定する方法

職場や自宅などで複数人が利用するネットワークドライブや共有フォルダーでは、誰がいつどのようにアクセスしているのかを把握することが重要です。特に、万が一の情報漏えい対策やアクセス権限の見直しを行う際、アクセス元のコンピューター名まで確認できると原因究明や改善がスムーズになります。本記事では、WindowsのSecurity Auditing(セキュリティ監査)を活用して、共有フォルダーへアクセスしてきたコンピューターを特定するための具体的な手順やポイントを詳しく解説します。

Security Auditingとは

Security Auditing(セキュリティ監査)とは、Windowsをはじめとする多くのシステムで提供されている監査機能の総称です。ファイル・フォルダー・レジストリなどへのアクセス記録を取り、特定の操作が行われた際にイベントログに情報を残すことができます。
この機能を適切に活用することで、「どのユーザーが」「どのファイルやフォルダーに」「どのコンピューターから」アクセスしたのかを追跡できるため、セキュリティ強化や問題発生時のトラブルシューティングに大いに役立ちます。

Security Auditingを使うメリット

  • アクセス履歴の可視化: 共有フォルダーに対する読み取り・書き込みなどの操作をログに残すため、不正アクセスや誤った運用がないかを検証しやすいです。
  • 原因追及の迅速化: 万が一のデータ改ざんや削除が起きた場合、イベントログを追うことでアクセスしたユーザーやマシンを特定しやすくなります。
  • コンプライアンス対応: 情報セキュリティの国際規格(ISO/IEC 27001)や各種法規制で求められる監査要件を満たすためにも活用されます。

共有フォルダーのアクセス元コンピューターを特定するための準備

共有フォルダーでのSecurity Auditingを正しく動作させ、アクセスしたコンピューターを特定するにはいくつかの手順が必要です。まずは事前準備として、監査ポリシーを有効にし、監査対象のフォルダーに設定を加えます。

手順1:オブジェクトアクセスの監査を有効にする

監査を行う前提として、Windowsのローカルまたはドメインのグループポリシーで「オブジェクトアクセスの監査」を有効にする必要があります。

  1. グループ ポリシー エディターを開く
  • キーボードの「Win + R」キーを同時に押して「ファイル名を指定して実行」を開き、gpedit.msc と入力後、Enterキーを押します。
  • ローカル環境では「ローカルグループポリシーエディター」、ドメイン環境では「グループポリシー管理コンソール(GPMC)」を使用します。
  1. 監査ポリシーを編集する
  • 「コンピューターの構成」→「Windowsの設定」→「セキュリティの設定」→「ローカル ポリシー」→「監査ポリシー」と進みます。
  • 「オブジェクトアクセスの監査(Audit Object Access)」をダブルクリックして開きます。
  1. 成功と失敗の監査を有効にする
  • 監査の対象としては、通常「成功」「失敗」の両方にチェックを入れることが多いです。
  • 監査結果をより細かく取りたい場合は、高度な監査ポリシーを利用して「ファイルシステムの詳細監査」などを設定すると、より詳細なログを取得できます。
  1. 設定を適用する
  • チェックを入れたら「適用」→「OK」を選択して設定を反映させます。
  • ドメインでポリシーを編集している場合は、グループポリシーが適用されるタイミング(デフォルトでは約90分おき)か、コマンドでgpupdate /forceを実行してすぐに反映させることが可能です。

手順2:監査対象の共有フォルダーに監査設定を追加

監査ポリシーが有効になっていても、実際に監査したいフォルダーごとに監査の設定をする必要があります。

  1. 対象フォルダーのプロパティを開く
  • 監査したい共有フォルダーを右クリックし、「プロパティ」を選択します。
  • 「セキュリティ」タブから「詳細設定(Advanced)」をクリックし、「監査(Auditing)」タブを開きます。
  1. 監査のエントリを追加する
  • 「追加(Add)」ボタンをクリックし、「プリンシパルの選択(Select a Principal)」で監査対象のユーザーやグループ(例:Everyone)を指定します。
  • 特定ユーザーだけ監査したい場合は、そのユーザーアカウントを選択しても構いません。
  1. 監査したいアクセス権を指定
  • 「監査のエントリ」のウィンドウで、ファイル/フォルダーに対する「読み取り」「書き込み」「削除」など、監査したい操作に対して「成功(Success)」「失敗(Failure)」のチェックを入れます。
  • 全アクセスを監査するとログが膨大になるため、必要に応じて範囲を絞ると管理しやすいです。
  1. 設定を保存する
  • 設定が完了したら「OK」→「適用」をクリックしてダイアログを閉じます。
  • 監査タブに指定が追加され、これ以降そのフォルダーへのアクセス情報がイベントログに記録されるようになります。

監査ログ(イベントログ)の確認方法

設定が完了すると、実際のアクセスが行われたタイミングでWindowsのイベントログに記録が残ります。ここから、「どのユーザー」「どのコンピューター」からアクセスがあったかを調べることが可能です。

Event Viewerを使ってログを調べる

  1. イベントビューアーを開く
  • 「Win + R」キーで「ファイル名を指定して実行」を呼び出し、eventvwr.msc と入力してEnterキーを押します。
  1. セキュリティログをチェックする
  • イベントビューアーの左ペインで「Windowsログ」→「セキュリティ」をクリックします。
  • 監査ログは基本的にセキュリティログに記録されます。
  1. 関連イベントIDを探す
  • 「オブジェクトアクセス」に関するログは主にイベントID「4663」に記録されます。
  • 詳細監査を有効にしている場合、より多くのイベントIDが表示される場合もあります。
  1. イベント詳細を確認する
  • イベントをダブルクリックすると、アクセスしたユーザーアカウントやドメイン名、さらにアクセス元のコンピューター名が表示されます。
  • ここで「どのマシンからアクセスしたのか」を追跡する情報が得られます。

イベントビューアーのフィルター活用

セキュリティログには膨大な数のイベントが蓄積されるため、目的のイベントを探すにはフィルター機能を活用すると便利です。

  • イベントIDでフィルター: イベントID「4663」など、対象のイベントIDを絞り込むことで、関連ログをすばやく見つけられます。
  • 日時やキーワードでフィルター: 事象の発生日時や、ユーザー名をキーワードとして検索することでさらに効率的に絞り込めます。

下記は簡易的なフィルター設定の例です。イベントビューアー上部の「現在のログのフィルター」画面で設定できます。

フィールド入力例
Logged過去7日間
Event levelAll (すべて)
Event sourcesSecurity
Event IDs4663
Keywords(空欄)
User特定のユーザー名

フィルターを設定したら「OK」をクリックすると、該当するイベントだけが表示されるようになります。

PowerShellを使ったイベントログの分析例

イベントビューアーでも十分ですが、より効率的に大量のイベントログを解析する場合はPowerShellを使う方法もあります。以下に簡単な例を示します。

# イベントID 4663 のログを最新100件取得して表示する例
Get-WinEvent -LogName Security `
             -FilterXPath "*[System[(EventID=4663)]]" `
             -MaxEvents 100 |
    ForEach-Object {
        # イベント本文からアクセスしたユーザー名やコンピューター名を抽出
        # ここではMessageプロパティを出力して確認
        Write-Host $_.Message
    }
  • Get-WinEventコマンドレットを使うことで、特定のイベントログをプログラム的に抽出できます。
  • -FilterXPathパラメータで条件を指定し、イベントIDなどを絞り込むとスピーディーに検索できます。
  • 抽出したログをテキスト処理や正規表現で加工すれば、ExcelやCSVにエクスポートしてさらに分析しやすくなります。

アクセス元コンピューター情報を正確に取るためのポイント

Security Auditingのログにはアクセス元のコンピューター名が入ることがありますが、環境によっては名前ではなくIPアドレスやドメインコントローラー上での記載になる場合もあります。以下の点を押さえておきましょう。

NetBIOS名とDNS名の違い

Windows環境ではホスト名としてNetBIOS名とDNS名が存在します。イベントログに記載されるマシン名はNetBIOS名となるケースが多いですが、設定やネットワーク構成によってDNS名やFQDN(完全修飾ドメイン名)で記録される場合もあります。

  • ネットワークによってはWINSやDNSの設定が正しくないと名前解決に不備が生じるため、コンピューター名が期待どおりに記録されないことがあります。
  • IPアドレスベースで記録されるケースもあるため、DNSの逆引き設定やイベントログのメッセージの詳細を確認するとよいでしょう。

ドメイン環境での注意点

ドメイン環境の場合、ローカルポリシーではなくドメインポリシーが優先されることがあります。

  • グループポリシー管理(GPMC)で確認し、競合する設定がないかチェックすることが大切です。
  • 一部の監査設定はドメイン全体に影響を与えるため、実際に運用する前にテスト環境などで確認することをおすすめします。

ログが大量になる場合の対策

監査を有効にすると、アクセス頻度の高いフォルダーほど多量のログが生成されます。イベントログがすぐに上書きされたり、ディスク容量を圧迫したりする恐れがあるため、以下の対策を検討してください。

  1. 監査の範囲を限定する
  • 本当に必要なフォルダーや操作だけに対象を絞ることで、ログの生成量をコントロールします。
  1. イベントログのサイズ設定を見直す
  • 「イベントビューアー」→「セキュリティ」の「プロパティ」で最大ログサイズを大きめに設定しておくと、古いログがすぐに上書きされるのを防ぎます。
  1. サードパーティ製ツールやSIEMの活用
  • SplunkやAzure SentinelなどのSIEM(Security Information and Event Management)ソリューションを導入することで、大量ログの集約・検索・分析を効率化できます。
  1. ログの定期保存・アーカイブ
  • イベントログを定期的にバックアップするか、Exportして長期保存し、必要があれば過去ログを参照できるようにしておくと、調査が必要な際に安心です。

共有フォルダー監査をさらに活用するアイデア

せっかくログが取れるようになったら、ただ閲覧するだけでなく、運用やセキュリティ改善のために有効活用しましょう。

アクセス頻度の可視化

  • PowerShellやスクリプトを使ってイベントログを定期的に集計し、どの共有フォルダーにアクセスが多いか、どのユーザーが頻繁に操作しているかをレポート化すると、運用改善に役立ちます。

権限の見直し

  • 誰も使っていないフォルダーへのアクセス権限がフルコントロールになっていないか、定期的にチェックする習慣を作ることで、セキュリティリスクを下げられます。
  • アクセスが不要なユーザーやグループが付与されている場合は、適切に削除や変更を行いましょう。

インシデント発生時のフォレンジック調査

  • 重要ファイルが突然消えた、改ざんされたなど、セキュリティ インシデントが起きた際に、イベントログを参照することで詳細なアクセス経路や操作を把握できます。
  • OS側のログだけでなく、ネットワーク機器やアプリケーションログも併せて調査すると、より正確に事象を追跡できます。

まとめ

WindowsのSecurity Auditingを活用すると、共有フォルダーへのアクセスログを詳細に記録し、どのコンピューターからアクセスがあったのかを含めた全体像を把握できます。システムの安全性を高めるだけでなく、トラブルシューティングやコンプライアンス対応にも効果的です。
特に、業務上重要なデータが格納されているフォルダーに対して監査を行うことで、不正アクセスや権限設定ミスの早期発見につながります。日頃から適切にログを管理・分析し、問題発生時にすぐ対処できるように備えておくことが大切です。

コメント

コメントする