Контроль целостности записей аудита
Сервис Аудита КриптоПро DSS позволяет обеспечивать контроль целостности записей аудита, хранящихся в его БД. Это достигается путем создания подписи записей аудита при помощи криптопровайдера, зарегистрированного в рамках настройки экземпляра Сервиса Аудита.
Регистрация криптопровайдеров на Сервисе Аудита осуществляется при помощи набора командлетов.
Для включения функций контроля целостности записей аудита на Сервисе Аудита необходимо:
- Зарегистрировать криптопровайдер подписи записей аудита при помощи командлета Add-DssAnalyticsCryptoProvider.
- Задать имя узла, для которого зарегистрирован криптопровайдер подписи записей аудита при помощи командлета Set-DssAnalyticsCryptoProvider, параметр
-NodeId
. - Настроить при помощи командлета Set-DssAnalyticsServiceProperties следующие параметры Сервиса Аудита:
-SignatureTimerInterval
(частоту создания подписи блока событий) и-SignatureBlockLength
(размер подписываемого блока (сегмента) событий).
Пример:
### Добавление криптопровайдера
Add-DssAnalyticsCryptoProvider -DisplayName <Имя экземпляра Сервиса Аудита> -TypeId AuditIntegrity -ProviderName "Crypto-Pro GOST R 34.10-2012 Cryptographic Service Provider" -ProviderType 80
### Нацеливание криптопровайдера на определенный узел Сервиса Аудита
Set-DssAnalyticsCryptoProvider -ID <Идентификатор криптопровайдера> -NodeId $env:COMPUTERNAME -DisplayName <Имя экземпляра Сервиса Аудита>
### Настройка параметров контроля целостности
Set-DssAnalyticsServiceProperties -SignatureTimerInterval 1 -SignatureBlockLength 10 -DisplayName <Имя экземпляра Сервиса Аудита>
Примечание
Параметр -NodeId
должен быть настроен вне зависимости от использования
Сервиса Аудита самостоятельно или в кластере. Данный параметр может содержать
только имя узла, получить которое можно из переменной среды $env:COMPUTERNAME
.
После выполнения описанных действий Сервис Аудита начнет формирование блоков записей аудита заданного размера, которые впоследствии будут подписаны при помощи криптопровайдера, зарегистрированного на Сервисе Аудита. Вся информация о блоке и подписи затем помещается в БД Сервиса Аудита и может быть просмотрена позднее.
Ключи подписи событий аудита
Ключи электронной подписи, используемые при подписи событий аудита, имеют ограниченный срок действия. Поэтому после окончания действия данного ключа контроль целостности на данном экземпляре Сервиса Аудита осуществляться не будет. Необходимо создать и настроить новый экземпляр Сервиса Аудита, в то время как старый экземпляр можно заархивировать, чтобы работать с записями аудита в дальнейшем.
Настройка контроля целостности записей аудита в кластере
Контроль целостности записей аудита при работе нескольких экземпляров Сервиса Аудита требует наличия отдельного ключа подписи для каждого экземпляра. Если экземпляры Сервиса Аудита раположены в кластере, для каждого узла кластера должен быть зарегистрирован собственный криптопровайдер при помощи командлета Add-DssAnalyticsCryptoProvider.
Для нацеливания криптопровайдера на определенный узел Сервиса Аудита
необходимо ввести строковый идентификатор в параметр -NodeId
командлета Set-DssAnalyticsCryptoProvider.
Идентификатор представляет собой значение $env:computername
для каждого
узла в кластере.
Настройка контроля целостности также должна выполняться для каждого узла в кластере.
Таким образом, настройка контроля целостности записей аудита в кластере сводится к выполнению описанных выше действий для каждого узла кластера. При этом все указанные действия могут быть выполнены на одном узле.
Проверка целостности аудита
Проверка целостности аудита осуществляется при помощи утилиты
auditverify.exe
.
Утилита имеет следующие режимы работы:
- Проверка целостности сегмента (параметр
-m
со значениемSegment
), ограниченного индексамиs
иe
записей журнала целостности; - Проверка целостности записей (параметр
-m
со значениемFull
), созданных не позднее чем заd
дней до текущей (последней) записи журнала целостности.
Все параметры утилиты:
-m
: режим работы утилиты. Может принимать значенияFull
илиSegment
;-s
: Индекс начала сегмента при работе в режиме проверки целостности сегмента;-e
: Индекс конца сегмента при работе в режиме проверки целостности сегмента;-d
: Количество дней, за которое следует проверять записи аудита, начиная от текущей даты;-v
: Параметр, наличие которого указывает, следует ли проверять подпись каждой записи журнала Аудита;
Примеры вызова утилиты в различных режимах:
# Проверка целостности сегмента:
-m Segment -s 30 -e 60 [-v]
# Проверка целостности всех записей за 30 дней:
-m Full -d 30 [-v] или
Утилита подключается напрямую к БД Аудита, строка подключения указывается в
app.config
утилиты в секции AppSettings
.
Архивирование аудита
Примечание
Скорость увеличения размера БД Сервиса Аудита зависит от текущих настроек аудита, что необходимо учитывать при планировании архивирования. Приблизительные размеры записей:
- 1 запись ~ 2 Кбайт.
- 1 000 000 записей ~ 1 Гбайт.
- Аудит (Аутентификация Пользователя + Подпись документа + Подтверждение операции) ~ 5-10 событий.
Если аппаратные возможности сервера, на котором расположена БД Сервиса Аудита, превышены (к примеру, закончилось место на диске), следует прибегнуть к архивации аудита. Для этого необходимо выполнить следующие действия.
- Создать и настроить новый экземпляр Сервиса Аудита. ВАЖНО: Для каждого компонента DSS потребуется зарегистрировать еще по одному плагину аудита. При этом начнется запись событий аудита сразу в две БД.
- Убедившись в работоспособности нового сервиса, вывести старый из эксплуатации.
- Архивировать БД старого Сервиса Аудита любыми доступными средствами и перенести (при необходимости) в другое место для хранения.
- (необязательно) Удалить старый экземпляр Сервиса Аудита. Старый экземпляр Сервиса Аудита можно не удалять и использовать в дальнейшем для обращения к архивным сведениям. В этом случае достаточно остановить соответствующее Сервису веб-приложение.