Отчёт по событиям на Windows серверах домена

Удобно получать в почту ежедневный отчёт о событиях на серверах домена за предыдущий день. Можно и за текущий, не суть важно. Когда такие отчёты собираются за длительный промежуток времени (за несколько лет, например), можно найти, кто завёл определённого пользователя, кто пользователя добавил/удалил из группы, кто поменял пользователю пароль (или когда он сам себе поменял), логины на серверы, неудачные логины и так далее. В принципе, каждый сам для себя определяет набор событий для отчётов. Главное принцип.

Нам, например, в почту приходит вот такой отчёт:

otchet

 

Скрипт выполняется каждое утро в 4 часа. Для его работы на сервере надо установить LogParser http://www.microsoft.com/en-us/download/details.aspx?id=24659  и 7-ZIP (если файл отчёта больше 3 МБ, то он пакуется zip’ом).

На всякий случай ссылка на полезный документ по событиям 7-ки и 2008 сервера Vista_2008_Security_Event_Descriptions.xlsx.

У меня скрипт лежит на диске C в папке script. В папке script папка Tamplates для шаблонов. Плюс папки на F Logi_ForADReports для временных evt-файлов и Reports для html-файлов отчётов. В папке Reports также создаётся журнал работы скрипта.

Bat-файл запуска скрипта

net use Q: \\nas-srv\BACKUP
cscript //nologo "c:\script\LogParser_bat_4.vbs" %1 %2 %3
net use Q: /delete

 

Вспомагательные батники.

convert_evt_to_evtx.bat

copy %1 f:\Logi_ForADReports\%2
wevtutil epl f:\Logi_ForADReports\%2 f:\Logi_ForADReports\%2x /lf:true

copy_evtx.bat

copy %1 f:\Logi_ForADReports\%2

del_evtx.bat

del %1

Скрипт может запускаться без каких-либо ключей. В этом случае создаются все одиннадцать отчетов.

Скрипт может иметь три ключа.

Logparser_4.bat [список_отчетов] [адрес_электронной_почты] [дата]

 

[список_отчетов] — необязательный ключ. Перечень отчетов, которые надо выполнить. Указывается в формате: «1,1,0,0,1,0,1,0,1,0,0», то есть единица указывает, что отчет надо выполнить.

Можно сделать все отчеты, указав ключ all.

Выключает создание всех отчетов ключ nothing.

 

[адрес_электронной_почты] — необязательный ключ. Может принимать значения:

y — отправить отчеты на адрес по умолчанию (admin1@domain.com)

n — не отправлять отчеты на электронный ящик, а только сложить в папку отчетов f:\Reports.

адрес_электронной_почты — Указывает адрес электронной почты, на который будут отосланы отчеты.

 

[дата] — необязательный ключ. Указывает дату для работы с отчетами. Этот параметр указывается только тогда, когда надо отправить уже сделанные отчеты за дату в прошлом (Отчеты всегда выполняются за предыдущий день от даты запуска скрипта). Формат даты: YYYY.MM.DD

 

Отчеты:

1. Отчет поиска логинов администраторов
2. Отчет AccauntManage
3. Отчет создания статистики неудачных логинов
4. Отчет управления группами
5. Отчет поиска неудачных логинов
6. Отчет управления паролями
7. Отчет управления компьютерами
8. Отчет аудита по папке Top-Secret-Documents
9. Отчет статистики аудита по папке Top-Secret-Documents
10. Отчет поиска логинов к RDP
11. Отчет слежения за действиями над объектами в AD

 

Примеры.

 

Logparser_4.bat nothing «admin2@domain.com» 2013.01.01

Все уже сделанные отчеты за 1 января 2013 г. отсылает на «admin2@domain.com» (заново отчеты не выполняются).

 

Logparser_4.bat nothing y 2013.02.18

Все уже сделанные отчеты за 18 февраля 2013 г. отсылает на адрес по умолчанию (заново отчеты не выполняются).

 

Logparser_4.bat all «admin3@domain.com»

Создает все отчеты и отсылает на «admin3@domain.com».

 

Logparser_4.bat «1,0,0,0,0,0,0,0,0,1,0»

Создает только первый и последний отчёты и отсылает на адрес по умолчанию.

 

Logparser_4.bat «0,1,0,0,0,0,0,0,0,0,0» n

Создает только второй отчет, но никуда не отсылает, а складывет в папку f:\Reports.

 

Logparser_4.bat /?

Показывает помощь.

 

Примечание.

Сейчас скрипт ищет события в архивных журналах безопасности (те, что Archive-Security-*.evt) в централизованном хранилище. В скрипте это диск Q, подключенный в начале в батнике

net use Q: \\nas-srv\BACKUP

Но может искать в оперативных и архивных журналах на серверах. Для этого нужно в каждой их 11 функций изменить

lsFROM = fuCollectFileList(lArrServerList, false)

на

lsFROM = fuCollectFileList(lArrServerList, true)

 

Тут можно скачать архив со скриптом, батниками и шаблонами script_events_on_servers

 

В принципе, не обязательно использовать скрипт дословно. Главное понять принцип, как логпарсер ищет события и выгружает их в html-файл, используя шаблон. И пользоваться.

 

источник:

http://habrahabr.ru/post/205128/

(братюня, спасибо! ты спалил контору ))   )

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *