Аудит событий безопасности
Приложения, созданные с помощью Windows Communication Foundation (WCF), могут регистрировать в журнале события, связанные с безопасностью (успешно, сбой или оба), используя функцию аудита. События записываются в журнал системных событий Windows, и их можно просматривать при помощи средства просмотра событий.
Аудит позволяет администраторам обнаруживать уже законченную или происходящую атаку. Кроме того, аудит может помочь разработчику при отладке неполадок, связанных с безопасностью. Например, если в результате ошибки в конфигурации авторизации или политики проверки авторизованному пользователю было отказано в доступе, разработчик может быстро найти и понять причину такой ошибки, изучив журнал событий.
Дополнительные сведения WCF безопасности см. в разделе Общие сведения о безопасности. Дополнительные сведения программировании WCF см. в разделе Базовое программирование WCF.
Уровень и поведение аудита
Предусмотрены два уровня аудита безопасности.
Уровень авторизации службы, на котором производится авторизация вызывающего абонента.
Уровень сообщений, на котором WCF проверяет допустимость сообщений и проверяет подлинность вызывающего абонента.
Можно проверить результаты аудита обеих уровней (успех или ошибка), что называется поведением аудита.
Расположение журнала аудита
После определения уровня и поведения аудита, вы (или администратор) можете задать расположение журнала аудита. Доступны три варианта: журнал по умолчанию, журнал приложения и журнал безопасности. Если задано журнал по умолчанию, фактический журнал зависит от используемой системы и от того, поддерживает ли система запись в журнал безопасности. Дополнительные сведения см. в разделе в подразделе "Операционная система" ниже в этом разделе.
Для записи в журнал безопасности требуются привилегии SeAuditPrivilege. По умолчанию этой привилегией обладают только учетные записи Local System и Network Service. Для управления функциями read и delete журнала безопасности требуются привилегии SeSecurityPrivilege. По умолчанию эту привилегию имеют только администраторы.
Напротив, чтение и запись журнала приложения разрешена авторизованным пользователям. По умолчанию Windows XP записывает события аудита в журнал приложения. Этот журнал может также содержать персональный сведения, видимые всем авторизованным пользователям.
Подавление сбоев аудита
При аудите можно также выбрать, следует ли подавлять сбои аудита. По умолчанию сбой аудита не влияет на приложение. Однако при необходимости можно задать для этого параметра значение false, что приводит к возникновению исключения.
Программирование аудита
Поведение аудита можно задавать либо путем программирования, либо через конфигурацию.
Классы аудита
В приведенной ниже таблице описаны классы и свойства, используемые для программирования поведения аудита.
Класс | Описание |
---|---|
Позволяет задавать параметры аудита в виде поведения службы. |
|
Перечисление для задания журнала, в который требуется производить запись. Предусмотрены значения Default, Application и Security. Если выбрано значение Default, фактическое расположение журнала определяется операционной системой. См. подраздел "Выбор журнала приложения или журнала безопасности" ниже в этом разделе. |
|
Задает тип событий проверки подлинности сообщений для аудита на уровне сообщения. Предусмотрены варианты None, Failure, Success и SuccessOrFailure. |
|
Задает тип событий авторизации службы для аудита на уровне службы. Предусмотрены варианты None, Failure, Success и SuccessOrFailure. |
|
Задает, что происходит с запросом клиента в случае сбоя аудита. Например, если служба пытается произвести запись в журнал безопасности, но не имеет привилегий SeAuditPrivilege. Значение по умолчанию true означает, что сбои игнорируются и запрос клиента обрабатывается обычным образом. |
Пример настройки приложения для регистрации событий аудита см. в разделе Практическое руководство. Аудит событий безопасности Windows Communication Foundation.
Конфигурация
Для задания поведения аудита можно также использовать конфигурацию, добавив serviceSecurityAudit element в Behaviors element. Этот элемент должен быть добавлен в Behavior element, как показано в следующем коде.
<configuration>
<system.serviceModel>
<behaviors>
<behavior>
<!— auditLogLocation="Application" or "Security" -—>
<serviceSecurityAudit
auditLogLocation="Application"
suppressAuditFailure="true"
serviceAuthorizationAuditLevel="Failure"
messageAuthenticationAuditLevel="SuccessOrFailure" />
</behavior>
</behaviors>
</system.serviceModel>
</configuration>
Если аудит включен и параметр auditLogLocation не задан, для систем, поддерживающих запись в журнал безопасности, по умолчанию используется журнал "Security"; в противном случае используется журнал "Application". Запись в журнал безопасности поддерживается только операционными системами Windows Server 2003 и Windows Vista. Дополнительные сведения см. в разделе в подразделе "Операционная система" далее в этом разделе.
Вопросы безопасности
Если злоумышленник знает о том, что включен аудит, он может отправить недопустимые сообщения, приводящие к внесению записей аудита в журнал. Если это приводит к заполнению журнала аудита, система аудита дает сбой. Для противодействия установите для свойства SuppressAuditFailure значение true и используйте свойства оснастки «Просмотр событий» для управления поведением аудита. Дополнительные сведения см. в разделе в статье службы поддержки Майкрософт, посвященной просмотру и управлению журналами событий с помощью оснастки «Просмотр событий» в Windows XP, по ссылке Просмотр и управление журналами событий в средстве просмотра событий Windows XP.
События аудита, записанные в журнал приложения в Windows XP, видны всем авторизованным пользователям.
Выбор журнала событий приложения или журнала событий безопасности
В приведенной ниже таблице приведены сведения, помогающие выбрать журнал для записи событий — журнал событий приложения или журнал событий безопасности.
Операционная система
Система | Журнал приложения | Журнал безопасности |
---|---|---|
Windows XP с пакетом обновления 2 (SP2) или более поздняя версия |
Поддерживается |
Не поддерживается |
Windows Server 2003 с пакетом обновления 1 (SP1) и Windows Vista |
Поддерживается |
Контекст потока должен обладать привилегиями SeAuditPrivilege |
Прочие факторы
В дополнение к операционной системе, в следующей таблице описываются другие параметры, влияющие на разрешение регистрации.
Фактор | Журнал приложения | Журнал безопасности |
---|---|---|
Управление политикой аудита |
Неприменимо. |
Помимо конфигурации, журнал безопасности управляется также политикой администратора локальной безопасности (LSA). Необходимо также разрешить категорию "Аудит доступа к объектам". |
Взаимодействие с пользователем по умолчанию |
Все авторизованные пользователи могут производить запись в журнал приложения, поэтому для процессов приложения никакие дополнительные шаги, связанные с разрешениями, не требуются. |
Процесс приложения (контекст) должен иметь привилегии SeAuditPrivilege. |
См. также
Задачи
Практическое руководство. Аудит событий безопасности Windows Communication Foundation
Справочник
ServiceSecurityAuditBehavior
AuditLogLocation
Основные понятия
Другие ресурсы
Базовое программирование WCF
serviceSecurityAudit element
Behaviors element
Модель безопасности для Windows Server App Fabric