Фільтрування журналів безпеки за користувачем та типом входу


17

Мене попросили дізнатися, коли користувач увійшов до системи за останній тиждень. Тепер журнали аудиту в Windows повинні містити всю необхідну мені інформацію. Я думаю, якщо я шукаю ID події 4624 (Logon Success) у конкретного користувача AD та Logon Type 2 (Interactive Logon), він повинен дати мені потрібну інформацію, але я не можу зрозуміти, як насправді фільтрувати журнал подій, щоб отримати цю інформацію. Чи це можливо в "Переглядачі подій" або вам потрібно використовувати зовнішній інструмент для розбору його до цього рівня?

Я знайшов 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 днів, але решта не вийшла.

Хтось може мені допомогти у цьому?

EDIT

Завдяки пропозиціям Лаки Луки я просунувся. Нижче - мій поточний запит, хоча, як я поясню, він не дає результатів.

<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. Після цього він не дає результатів. Будь-яка ідея, чому це може бути?

EDIT 2

Я оновив рядок LogonType до наступного:

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

Це повинно захоплювати логотипи Workstation, а також Workstation Unlocks, але я все одно нічого не отримую. Потім я модифікую його для пошуку інших типів входу, таких як 3, або 8, яких він знаходить в достатній кількості. Це змушує мене вважати, що запит працює правильно, але чомусь у Журналах подій із типом входу в систему немає рівних 2, і це не має для мене сенсу. Чи можна це вимкнути?


Схоже, ваш запит працює, якщо ви отримуєте результати з іншими типами входу. Можливо, вам потрібно переглянути інші типи входу, зокрема тип входу 11, який часто використовується замість входу типу 2 на Vista та пізніших версіях. Ви можете переглянути всі типи входу тут: myeventlog.com/search/show/799 . Б'юсь об заклад, що ваші логотипи мають тип 11. Повідомте мене.
Lucky Luke

Цікаво, що єдиний результат, який я отримую не 3, - це 8, які я визначив. Чомусь немає 2, 7 або 11, які я б очікував побачити.
Трідо

Ви перевірили налаштування аудиту в локальній політиці безпеки (або політиці домену, якщо вона є частиною домену), щоб забезпечити аудит усіх логотипів? Повідомте мене, якщо вам потрібна додаткова інформація.
Лаки Лука

Це справді була проблема. Я зайшов у групову політику, і її було вимкнено.
Трідо

Цікаво. Яку точну настройку ви ввімкнули? Що дивно, що ви бачили інші події входу, але не логотипи консолі. У мене було враження, що всі вони налаштовані однаково.
Щасливий Люк

Відповіді:


17

Ви на правильному шляху - одна з помилок у вашому запиті - це простір у "Logon Type", він повинен бути просто "LogonType".

Нижче я вставив запит про те, що я щойно перевірив роботи. Це трохи спрощено, але ви розумієте. На ньому показано всі 4624 події з входом типу 2, від користувача 'john.doe'.

<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 результатів. Навіть коли я спрощую запит лише до типу входу. Я не дуже розумію, чому це не працює.
Трідо

Я оновив своє запитання своїм поточним запитом та проблемою.
Трідо

Це саме те, що мені потрібно було з’ясувати, хто підключився до одного з моїх серверів через RDP. Мені просто довелося змінити 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>

Наведений вище запит повинен працювати над звуженням подій відповідно до таких параметрів:

  • Події в журналі безпеки.
  • Ідентифікатор події 6424
  • Відбувається протягом останніх 30 днів.
  • Пов’язаний з користувачем john.doe.
  • З LogonType 10.

Ви можете змінити LogonTypes у фільтрі, змінивши вказаний (Data='10')вище код. Наприклад, ви можете захотіти зробити (Data='2')або (Data='10' or Data='2').

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.