ユーザーおよびログオンタイプによるセキュリティログのフィルタリング


17

先週、ユーザーがいつシステムにログオンしたかを知るように頼まれました。これで、Windowsの監査ログに必要な情報がすべて含まれるようになります。特定のADユーザーとログオンタイプ2(インタラクティブログオン)でイベントID 4624(ログオン成功)を検索すると、必要な情報が得られるはずだと思いますが、実際にフィルタリングする方法はわかりませんこの情報を取得するには、イベントログをご覧ください。イベントビューア内で可能ですか、それともこのレベルまで解析するために外部ツールを使用する必要がありますか?

私はhttp://nerdsknowbest.blogspot.com.au/2013/03/filter-security-event-logs-by-user-in.htmlを見つけましたが、これは必要なものの一部のようです。最後の7日間だけの価値があるように、わずかに変更しました。以下は私が試したXMLです。

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">*[System[(EventID=4624) and TimeCreated[timediff(@SystemTime) &lt;= 604800000]]]</Select>
    <Select Path="Security">*[EventData[Data[@Name='Logon Type']='2']]</Select>
    <Select Path="Security">*[EventData[Data[@Name='subjectUsername']='Domain\Username']]</Select>
  </Query>
</QueryList>

最後の7日間だけが与えられましたが、残りは機能しませんでした。

誰もこれで私を助けることができますか?

編集

Lucky Lukeの提案のおかげで、私は進歩を遂げてきました。以下は私の現在のクエリですが、説明するように結果を返していません。

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
     *[System[(EventID='4624')]
     and
     System[TimeCreated[timediff(@SystemTime) &lt;= 604800000]]
     and
     EventData[Data[@Name='TargetUserName']='john.doe']
     and
     EventData[Data[@Name='LogonType']='2']
     ] 
    </Select>
  </Query>
</QueryList>

私が述べたように、それは結果を返さなかったので、少しいじっていました。LogonType行を追加するまで、結果を正しく生成することができます。その後、結果は返されません。なぜこれが考えられるのでしょうか?

編集2

LogonType行を次のように更新しました。

EventData[Data[@Name='LogonType'] and (Data='2' or Data='7')]

これにより、ワークステーションログオンおよびワークステーションロック解除がキャプチャされますが、それでも何も表示されません。次に、3や8などの多くの種類のログオンタイプを検索するように変更します。これにより、クエリが正常に機能すると信じるようになりますが、何らかの理由で、ログオンタイプが2のイベントログにエントリがなく、これは意味がありません。これをオフにすることは可能ですか?


他のログオンタイプで結果を取得している場合、クエリは機能しているようです。他のログオンタイプ、特にVista以降のログオンタイプ2の代わりによく使用されるログオンタイプ11を調べる必要がある場合があります。すべてのログオンタイプは、myeventlog.com / search / show / 799で確認できます。ログオンのタイプは11に違いない。
ラッキールーク14

興味深いことに、私が得た唯一の3以外の結果は、私が特定した8です。何らかの理由で、2、7、または11が表示されることはありません。
Trido

すべてのログオンが監査されていることを確認するために、ローカルセキュリティポリシー(またはドメインの一部である場合はドメインポリシー)の監査設定を確認しましたか?さらに情報が必要な場合はお知らせください。
ラッキールーク

これは確かに問題でした。グループポリシーに移行しましたが、無効になりました。
Trido

面白い。どの正確な設定をオンにしましたか?少し奇妙なのは、コンソールログオンではなく、他のログオンイベントが表示されていることです。それらはすべて同じ設定で構成されているという印象を受けました。
ラッキールーク14

回答:


17

あなたは正しい軌道に乗っています-あなたのクエリの間違いの1つは「ログオンタイプ」のスペースです、それは単に「ログオンタイプ」でなければなりません。

作品を確認したばかりのクエリを貼り付けました。少し簡略化されていますが、アイデアは得られます。ユーザー 'john.doe'からのログオンタイプ2の4624イベントすべてが表示されます。

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
      *[
        EventData[Data[@Name='LogonType']='2']
        and
        EventData[Data[@Name='TargetUserName']='john.doe']
        and
        System[(EventID='4624')]
      ] 
    </Select>
  </Query>
</QueryList>

イベントビューアでXMLクエリの詳細については、http//blogs.technet.com/b/askds/archive/2011/09/26/advanced-xml-filtering-in-the-windows-event-をご覧ください。viewer.aspx

:あなたはwevtutil.exeと、コマンドラインからイベントを照会することができますhttp://technet.microsoft.com/en-us/magazine/dd310329.aspx


うーん、これは奇妙です。実行すると、0件の結果が返されます。ログオンタイプだけにクエリを簡略化しても。なぜ機能していないのか本当に分かりません。
Trido

現在のクエリと問題で質問を更新しました。
Trido

これは、RDPを介してサーバーの1つに接続しているユーザーを見つけるために必要なものです。LogonTypeを「10」に変更する必要がありました(そして、ユーザー名に関する部分を削除しました)。
チャールズバージ

1

この質問を見つけて、受け入れられた回答と質問の更新からコンテンツを一緒に解析して、機能的な解決策を得るために少し作業をしなければなりませんでした。将来の参考のために、ここに完全で実用的なクエリ構文を投稿すると思いました。

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
    *[System[(EventID=4624)
    and
    TimeCreated[timediff(@SystemTime) &lt;= 2592000000]]
    and
    EventData[Data[@Name='TargetUserName'] and (Data='john.doe')]
    and
    EventData[Data[@Name='LogonType'] and (Data='10')]]
    </Select>
  </Query>
</QueryList>

上記のクエリは、次のパラメータに従ってイベントを絞り込むために機能するはずです。

  • セキュリティログのイベント。
  • イベントID 6424で
  • 過去30日以内に発生します。
  • ユーザーjohn.doeに関連付けられています。
  • LogonType 10を使用。

(Data='10')上記のコードを変更することにより、フィルターのLogonTypesを変更できます。たとえば、(Data='2')またはを実行でき(Data='10' or Data='2')ます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.