Строим отчеты по доступу к файлам - Вопросы по Symantec Endpoint Protection - Форумы Anti-Malware.ru Перейти к содержанию
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 msdb.dbo.sp_send_dbmail@profile_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')

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


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

Думаю стоит добавить в тему "Шаблоны политик"

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


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

  • Сообщения

    • PR55.RP55
      Изменения для драйверов Windows 11: новые сертификаты и отказ от метаданных https://www.comss.ru/page.php?id=16408
    • demkd
      Если нет пользовательского реестра для пользователя то будет сообщение в логе, остальное не надо видеть и тем более удалять - это дело пользователя.
    • PR55.RP55
      Увидит ли такое uVS И должно быть удаление ? O27 - Account: (Bad profile) Folder is not referenced by any of user SIDs: C:\Users\TEMP
      O27 - Account: (Bad profile) Folder is not referenced by any of user SIDs: C:\Users\Михаил Акаминов
      O27 - Account: (Hidden) User 'John' is invisible on logon screen
      O27 - Account: (Missing) HKLM\..\ProfileList\S-1-5-21-1832937462-987109255-1306349959-1002.bak [ProfileImagePath] = C:\Users\Михаил (folder missing)
    • santy
      Не увидел твое сообщение во время, а исправление до *.14 как раз было бы во время для решения проблемы с  dialersvc.
    • demkd
      Небольшое исправление, следующее обновление будет чисто интерфейсным и можно будет выпускать v5.0 ---------------------------------------------------------
       4.99.14
      ---------------------------------------------------------
       o Исправлена ошибка при подключении к удаленному компьютеру с Win11:
         в удаленную систему не передавалась база известных файлов.

       o Функция защиты от внедрения потоков работала неправильно если параметр bFixedName не был указан
         в settings.ini или он был равен 0.
       
×