(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

AuditObjectAccess (служба Windows)

Источник: t-sql

Аудит доступа к объектам на файловых серверах - это одна из головных болей администратора. Как часто к вам вбегает взлохмаченный пользователь и в панике спрашивает, кто удалил важный файл с сетевого ресурса? Думаю, бывает…
Я предлагаю свой способ логирования этих событий, в виде службы Windows и хранением истории в БД MS SQL Server.

Сперва в политиках включаем Аудит на доступ к объектам ("Control Panel -> Administrative Tools - > Local Security Settings")

Затем на папках, за которыми мы будем "следить", включаем аудит (допустим только удаление)

После этого, при удалении файла, в журнале событий Windows (Security) появляется соответствующая запись (EventID=560)

Прежде, чем приступить к установке моей службы, опишу на какой параметр необходимо смотреть (http://support.microsoft.com/kb/299475/ru):

   Код события: 560 (0x0230)
       Тип: Аудит успехов
Описание: Открытие объекта
             Сервер объекта: %1         Тип объекта: %2
             Имя объекта: %3            Код дескриптора: %4
             Код операции:{%5,%6}       Код процесса: %7
             Основной пользователь: %8     Основной домен: %9
             Основной код входа: %10       Пользователь-клиент: %11
             Домен клиента: %12         Код входа клиента: %13
             Доступ %14               Привилегии %15
 

Нам необходимо отслеживать 15-ый параметр "Привилегии". Вот список основных значений этого параметра:
1537 = Delete
1538 = Read_CONTROL
1541 = synchronize
4416 = ReadData(or List Directory)
4417 = WriteData(or Add File)
4418 = AppendData (or AddSubdirectory or CreatePipeInstance)
4419 = ReadEA
4420 = WriteEA
4423 = ReadAttributes
4424 = WriteAttributes.

На этом теории хватит. Приступаем к установке службы:
1) Создаём БД для аудита:

 
01.USE master
02.GO
03.  
04.IF DB_ID('AuditObjectAccess') IS NOT NULL DROP DATABASE AuditObjectAccess
05.GO
06.  
07.CREATE DATABASE AuditObjectAccess
08.GO
09.  
10.USE AuditObjectAccess
11.GO
12.  
13.IF OBJECT_ID('Events', 'U') IS NOT NULL DROP TABLE Events
14.GO
15.  
16.--Таблица Аудита
17.CREATE TABLE Events
18.(
19.id INT IDENTITY,
20.[Index] INT,
21.TimeGenerated DATETIME,
22.Source VARCHAR(255),
23.Category VARCHAR(255),
24.EventID VARCHAR(255),
25.UserName VARCHAR(255),
26.MachineName VARCHAR(255),
27.Message VARCHAR(max),
28.Mask VARCHAR(max),
29.DateAt DATETIME default GETDATE(),
30.HostAt VARCHAR(255) default HOST_NAME(),
31.UserAt VARCHAR(255) default ORIGINAL_LOGIN()
32.)
33.GO
34.  
35.IF OBJECT_ID('AddEvent', 'P') IS NOT NULL DROP PROCEDURE AddEvent
36.GO
37.  
38.--Процедура на добавление новой записи-события
39.CREATE PROCEDURE AddEvent
40.(
41.@index INT =null,
42.@TimeGenerated DATETIME =null,
43.@Source VARCHAR(255) =null,
44.@Category VARCHAR(255) =null,
45.@EventID VARCHAR(255) =null,
46.@UserName VARCHAR(255) =null,
47.@MachineName VARCHAR(255)= null,
48.@Message VARCHAR(max)= null,
49.@Mask VARCHAR(max)=null
50.)
51.  
52.AS
53.  
54.SET NOCOUNT ON
55.  
56.INSERT INTO Events
57.(
58.[Index],
59.TimeGenerated,
60.Source,
61.Category,
62.EventID,
63.UserName,
64.MachineName,
65.[Message],
66.Mask
67.)
68.  
69.SELECT
70.@Index,
71.@TimeGenerated,
72.@Source,
73.@Category,
74.@EventID,
75.@UserName,
76.@MachineName,
77.@Message,
78.@Mask
79.  
80.GO

2) Теперь создадим в реестре несколько записей для работы службы (settings.reg-файл находится в архиве вместе с ЕХЕ-шником службы):
TimeOut-время (мс), через которое служба читает журнал
EventID-событие, у нас это значение = 560
Mask тот самый 15-ый параметр, если значение равно нулю (0), то записываем все привилегии.
MachineName-имя сервера на котором читаем журнал (. - локальный компьютер)
ConnectionString-строка коннекции к серверу БД, где храним наши записи.

3) Устанавливаем саму службу:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\installutil AuditObjectAccess.exe

Ссылки по теме

Файлы для загрузки


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 01.12.2009 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год.
Microsoft 365 Apps for business (corporate)
Microsoft Office 365 для Дома 32-bit/x64. 5 ПК/Mac + 5 Планшетов + 5 Телефонов. Подписка на 1 год.
Microsoft 365 Business Basic (corporate)
Microsoft Office для дома и учебы 2019 (лицензия ESD)
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
Каждый день новые драйверы для вашего компьютера!
ЕRP-Форум. Творческие дискуссии о системах автоматизации
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100