Перейти к содержанию
Shell

Строим отчеты по доступу к файлам

Recommended Posts

Shell

Навеяно темой http://www.symantec.com/connect/downloads/...t-report-e-mail

Где то на форуме была политика для ведения лога по записанным и прочитанным файлам на съемных накопителях.

в этой теме покажу как получать отчеты о доступе к файлам на съемных устройствах с помощью простых манипуляций.

Будет рассмотрена связка SQL 2008 + SEPM 11.0.6005

Что нам понадобится. Во первых, настроить Database Mail согласно рекомендаций.

http://marslert.com/blog/2009/03/16/config...-database-mail/

С помощью запроса SQL Query получаем параметры которые нам будут нужны:

SELECT [profile_id]      ,[name]       ,[description]      ,[last_mod_datetime]      ,[last_mod_user]   ,'EXEC [email protected]_name = ''' + name + ''',@recipients = ''ваш_емайл@company.com'', @subject = ''Test'',@body  = ''Message'',  @body_format = ''HTML'';' AS TestSQL  FROM [msdb].[dbo].[sysmail_profile]

Получаем строку типа

EXEC msdb.dbo.sp_send_dbmail  @profile_name = 'Database Mail',  @recipients = 'ваш_емайл@company.com',   @subject = 'Test',  @body  = 'Message',    @body_format = 'HTML';

В SEPM на необходимую группу вешаем политику. Импорт из атача Log documents from-to removable drives.dat

В этой политике уже готово правило которое будет записывать в Client Management logs-->Control Log все операции с файлами с расширениями *.doc, *.docx, *.xls, *.xlsx,*.pst,*.xml,*.txt,*.xlt,*.pdf,*.csv,*.xml,*.mht,*.mhtml,*.rar,*.zip,*.7z,

*.0*

36fd53d7ebd2t.jpg

8c38f4f77194t.jpg

При это в логе на клиенте SEPM будет отображаться информация в формате ниже на скрине с указанием названия правила которое фигурирует выше в политике (важно!).

01a44d56d321t.jpg

Настраиваем в SEPM сроки хранения журнала на клиенте и его размер (в SEPM выбираем Clients-->группу-->в политиках Client log settings).

Нужные нам параметры - в control log. Обязательно ставим галку Upload to management server.

ee9f73c02dc8t.jpg

Устанавливаем в параметрах сервера SEPM настройки хранения логов.

Все логи с клиентов будут собираться в нашу базу в таблицы:

[Endpoint].[Endpoint].[AGENT_BEHAVIOR_LOG_1]

[Endpoint].[Endpoint].[AGENT_BEHAVIOR_LOG_2]

Endpoint - название БД. Что в них собирается - вы можете посмотреть сами и выбрать необходимые поля :)

По сути поля почти теже что и в логе на клиенте.

Обращение к этим двум таблицам сразу возможно через уже встроенную вьюшку [Endpoint].[Endpoint].[V_AGENT_BEHAVIOR_LOG] содержащую простейшее обращение к этим таблицам:

SELECT     *FROM         AGENT_BEHAVIOR_LOG_1UNION ALLSELECT     *FROM         AGENT_BEHAVIOR_LOG_2

Строим запрос к БД с нужными полями, преобразуем формат времени из bigint в удобоваримый.

Возьмем следующие поля:

FILE_NAME - имя файла с которым производятся операции

VAPI_NAME - операция Read\Write (к сожалению, другие операции не будут видны)

CALLER_PROCESS_NAME -- имя процесса которым читается\записывается файл

HOST_NAME,USER_NAME,DOMAIN_NAME - имя хоста (будет без домена), имя пользователя (будет без домена), имя конечного домена без сабдоменов.

EVENT_TIME - собственно время. Время в БД юниксовое, так что приводим его в удобоваримый вид.

select PARAMETER AS FILE_NAME,VAPI_NAME,CALLER_PROCESS_NAME,HOST_NAME,USER_NAME,DOMAIN_NAME, EVENT_TIME = DATEADD(SECOND, EVENT_TIME / 1000, '19700101 00:00'), RULE_NAMEfrom [Endpoint].[Endpoint].[V_AGENT_BEHAVIOR_LOG]where [rule_name] like '%Log documents from-to removable drives%'order by [EVENT_TIME];

Обращаю внимание на строку '%Log documents from-to removable drives%' - берем совпадения по названию правила. В БД оно несколько изменено на конце, поэтому построен запрос именно так.

Если правильно все сделали и журналы уже собраны в SEPM - в результате запроса увидите результат о доступе к файлам на устройстве.

Собрав данные в БД вы простым запросом за интересующий вас интервал по любым полям (пользователю\компу\домену\времени) можете сделать выборку.

Переходим к украшательствам.

Нужны автоматические письма? Делаем автоматический запуск SQL Agent (без него не работают джобы) и вешаем задание.

В задание вешаем скрипт:

DECLARE @xml NVARCHAR(MAX)DECLARE @body NVARCHAR(MAX)SET @xml = CAST(( select PARAMETER AS 'td',' ' FILE_NAME,VAPI_NAME AS 'td',' ',CALLER_PROCESS_NAME AS 'td',' ',HOST_NAME AS 'td',' ',USER_NAME AS 'td',' ',DOMAIN_NAME AS 'td',' ',DATEADD(SECOND, EVENT_TIME / 1000, '19700101 00:00') AS 'td',' 'from [Endpoint].[Endpoint].[V_AGENT_BEHAVIOR_LOG]where ([rule_name]like '%Log documents from-to removable drives%') and(DATEADD(SECOND, EVENT_TIME / 1000, '19700101 00:00') between DATEADD (HOUR, -24, getdate()) and GETDATE())order by [EVENT_TIME] FOR XML PATH ('tr'), ELEMENTS ) AS NVARCHAR(MAX))SET @body ='<html><H3><center><FONT COLOR="#7E2217">SEPM - Отчет за последние 24 часа по записи\чтению на съемные накопители USB</FONT></H3></center><body><table border = 1><tr><FONT COLOR="#736AFF"><th>Имя файла</th><th>Операция</th><th>Процесс</th><th>Имя ПК</th><th>Имя пользователя</th><th>Имя домена</th><th>Время (Мск)</th></tr>'SET @body = @body + '<style>' + 'td {font-size:8pt;} '+ '</style>'+ @xml +'</table></FONT></body></html>'EXEC msdb.dbo.sp_send_dbmail/*msdb.dbo.sp_send_dbmail*//*EXEC [msdb].[dbo].[sysmail_profile]*/@recipients=N'ваш_емйл@company.com',@body = @body,@body_format = 'HTML',@subject ='SEPM Application Control - USB Read\Write Attempts',@profile_name = 'Database Mail'

@profile_name = 'Database Mail' - здесь прописать то что получилось в результате запроса выше (EXEC msdb.dbo.sp_send_dbmail @profile_name = 'Database Mail', @recipients = 'ваш_емайл@company.com', @subject = 'Test', @body = 'Message', @body_format = 'HTML';)

Скрипт автоматом будет получать время запуска и строить отчет за последние 24 часа за счет

(DATEADD(SECOND, EVENT_TIME / 1000, '19700101 00:00') between DATEADD (HOUR, -24, getdate()) and GETDATE())

Если нужен другой срок - думаю, вы в состоянии будете изменить параметры.

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

Если есть какие то добавления\желания - все можно сделать на основе этой реализации.

Удачи :)

Log_documents_from_to_removable_drives.rar

Log_documents_from_to_removable_drives.rar

  • Upvote 10

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Shell

Опять кнопки редактировать нет)

Добавлю одно замечание:

Если время желаете по МСК в отчетах - выставьте

(DATEADD(SECOND, EVENT_TIME / 1000, '19700101 04:00')

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Сообщения

    • Moraband
      Да сейчас вот такие мошенники и взломщики очень продвинулись, с развитием технологий и различные мошеннические схемы развиваются. Обычные пользователи очень часто становятся жертвами взломов, обычно из-за того что слабо защищают аккаунт, думая, что их это никогда не коснется. Чтобы противостоять взлому необходимо знать определенные секреты защиты аккаунта, мне вот это пригодилось бы год назад, когда меня несколько раз взламывали и я не знал, что делать. Благо друг недавно скинул статью где детально расписано как обезопасить свой аккаунт  , только так смог уже поставить себе толковую защиту, теперь уже спокоен, что никто не взломает и не будет у моих друзей требовать деньги.
    • PR55.RP55
      Отслеживание активности любого расширения в браузере на примере хрома: Chrome https://xakep.ru/2014/06/16/62643/ Таким образом можно выявить левое расширение. т.е.  хорошо бы отслеживать активность расширений и прописывать данные в Инфо.
    • SemenovaI
      Отзывы читать надо путешественников и уже согласно их мнению ехать отдыхать. Мы так с мужем в Болгарию летом съездили, сначала я изучила впечатления туристов об отелях, кафе и уже тогда выбрала маршрут и забронировала гостиницу. На Букинг зайдите там много всего интересного почитать можно. Кстати, бронировала отель используя кэшбэк https://letyshops.com/shops/bookingcom мне понравилось. Недорого так заплатила за номер, который сняли на пару недель. 
    • Зотов Тимур
      Ой, понимаю, банька это сила. Тоже на даче хочу построить, а то так понравилось отдыхать с мужиками, с пивком и девочками http://prostitutkichelyabinskaxxx.com/ , после горячего отдыха еще и в бассейн прыгнуть... Красота.
    • demkd
      это просто id задачи в кэше он будет виден только в ссылках или не будет виден, я уже не помню, в любом случае оно не представляет интереса.
×