Механизм безопасности. Аудит и ведение журналов | Устранение проблем
Продукт или служба | Статья |
---|---|
Dynamics CRM | |
Веб-приложение |
|
База данных | |
Хранилище Azure | |
WCF | |
Веб-интерфейс API | |
Полевой шлюз Интернета вещей | |
Облачный шлюз Интернета вещей |
Определение конфиденциальных сущностей в решении и реализация аудита изменений
Title | Сведения |
---|---|
Компонент | Dynamics CRM |
Этап SDL | Сборка |
Применимые технологии | Универсальный шаблон |
Атрибуты | Недоступно |
Справочные материалы | Недоступно |
Шаги | Определите в решении сущности с конфиденциальными данными и реализуйте аудит изменений в этих сущностях и полях. |
Проверка принудительного применения аудита и ведения журнала в приложении
Title | Сведения |
---|---|
Компонент | Веб-приложение |
Этап SDL | Сборка |
Применимые технологии | Универсальный шаблон |
Атрибуты | Недоступно |
Справочные материалы | Недоступно |
Шаги | Включите аудит и ведение журнала во всех компонентах. Журналы аудита должны записывать контекст пользователя. Определите все важные события для их регистрации в журнале. Реализуйте централизованное ведение журнала. |
Проверка разделения и чередования журналов
Title | Сведения |
---|---|
Компонент | Веб-приложение |
Этап SDL | Сборка |
Применимые технологии | Универсальный шаблон |
Атрибуты | Недоступно |
Справочные материалы | Недоступно |
Шаги | Чередование журналов — автоматизированный процесс, используемый в системном администрировании при архивации устаревших файлов журналов. Серверы, на которых выполняются крупные приложения, часто регистрируют каждый запрос. Следовательно, создаются огромные журналы, и чередование журналов — это способ ограничить общий размер журналов с возможностью анализа последних событий. Разделение журналов по сути означает, что хранить файлы журналов следует в отдельной секции, в которой выполняется ОС или приложения. Это необходимо, чтобы предотвратить DoS-атаки (отказ в обслуживании) или снижение производительности приложения. |
Проверка запрета записи в журнал приложением конфиденциальных сведений о пользователях
Title | Сведения |
---|---|
Компонент | Веб-приложение |
Этап SDL | Сборка |
Применимые технологии | Универсальный шаблон |
Атрибуты | Недоступно |
Справочные материалы | Недоступно |
Шаги | Проверьте, не записываете ли вы в журнал конфиденциальные данные, которые пользователь отправляет на ваш сайт. Проверьте, не настроено ли ведение журнала, а также нет ли каких-либо побочных эффектов, вызванных недостатками разработки. К конфиденциальным данным относятся:
|
Проверка ограниченного доступа к функциям аудита и ведения журнала
Title | Сведения |
---|---|
Компонент | Веб-приложение |
Этап SDL | Сборка |
Применимые технологии | Универсальный шаблон |
Атрибуты | Недоступно |
Справочные материалы | Недоступно |
Шаги | Проверьте, настроены ли права доступа к файлам журнала соответствующим образом. Учетным записям приложения следует назначить доступ только для записи, а доступ только для чтения должен быть назначен (при необходимости) операторам и сотрудникам службы поддержки. Учетными записями администраторов являются только те учетные записи, которые предполагают полный доступ. Проверьте правильное ограничение файлов журнала с помощью Windows ACL:
|
Проверка записи в журнал событий управления пользователями
Title | Сведения |
---|---|
Компонент | Веб-приложение |
Этап SDL | Сборка |
Применимые технологии | Универсальный шаблон |
Атрибуты | Недоступно |
Справочные материалы | Недоступно |
Шаги | Убедитесь, что приложение отслеживает следующие события управления пользователями: успешные и неудачные операции входа в систему, сброс пароля, изменение пароля, блокировка учетной записи, регистрация пользователей. Это помогает обнаруживать потенциально опасное поведение и реагировать на него, а также собирать данные об операции, например, чтобы отслеживать пользователей, получивших доступ к приложению. |
Проверка наличия в системе встроенных защит от несанкционированного использования
Title | Сведения |
---|---|
Компонент | Веб-приложение |
Этап SDL | Сборка |
Применимые технологии | Универсальный шаблон |
Атрибуты | Недоступно |
Справочные материалы | Недоступно |
Шаги | Должны присутствовать элементы управления, которые выдают исключения системы безопасности в случае несанкционированного использования приложения. Например, если выполняется проверка ввода и злоумышленник пытается ввести вредоносный код, который не соответствует регулярному выражению, может быть выдано исключение системы безопасности, указывающее на несанкционированные операции в системе. При этом рекомендуется регистрировать исключения системы безопасности в журнале, а также выполнить действия для устранения следующих проблем:
|
Включение ведения журнала диагностики для веб-приложений в службе приложений Azure
Title | Сведения |
---|---|
Компонент | Веб-приложение |
Этап SDL | Сборка |
Применимые технологии | Универсальный шаблон |
Атрибуты | EnvironmentType: Azure |
Справочные материалы | Недоступно |
Шаги | В Azure доступны встроенные средства диагностики для отладки веб-приложений службы приложений. Это также относится к приложениям API и мобильным приложениям. Веб-приложения службы приложений включают функции диагностики для записи в журнал информации как с веб-сервера, так и из веб-приложения. Используется следующее логическое разделение: диагностика веб-сервера и диагностика приложений. |
Проверка включения на сервере SQL Server аудита входа в систему
Title | Сведения |
---|---|
Компонент | База данных |
Этап SDL | Сборка |
Применимые технологии | Универсальный шаблон |
Атрибуты | Недоступно |
Справочные материалы | Настройка аудита входа |
Шаги | Для обнаружения и подтверждения атак методом подбора пароля следует включить аудит входа в систему для сервера базы данных. Очень важно зарегистрировать неудачные попытки входа. Запись успешных и неудачных попыток входа предоставляет дополнительные преимущества во время судебного разбирательства. |
Включение обнаружения угроз в Azure SQL
Title | Сведения |
---|---|
Компонент | База данных |
Этап SDL | Сборка |
Применимые технологии | SQL Azure |
Атрибуты | Версия SQL: 12 |
Справочные материалы | Get Started with SQL Database Threat Detection (Приступая к работе с системой обнаружения угроз базы данных SQL) |
Шаги | Система обнаружения угроз обнаруживает подозрительную активность в базе данных, указывающую на наличие потенциальных угроз безопасности. Таким образом система обнаружения угроз формирует дополнительный уровень безопасности, позволяющий клиентам обнаруживать потенциальные угрозы по мере возникновения, а также реагировать на них. Пользователи могут анализировать подозрительные события с помощью функции аудита базы данных SQL Azure, которая позволяет определить причину таких событий (включая попытки получить доступ к данным в базе данных, испортить или использовать их). Система обнаружения угроз упрощает устранение потенциальных угроз безопасности базы данных. Для этого пользователю не нужно быть специалистом в сфере обеспечения безопасности или иметь опыт работы со сложными системами отслеживания угроз. |
Использование аналитики службы хранилища для аудита доступа к службе хранилища Azure
Title | Сведения |
---|---|
Компонент | Хранилище Azure |
Этап SDL | Развертывание |
Применимые технологии | Универсальный шаблон |
Атрибуты | Недоступно |
Справочные материалы | Отслеживание типа авторизации с помощью аналитики хранилища |
Шаги | Для каждой учетной записи хранения можно включить аналитику службы хранилища Azure Storage Analytics, обеспечив возможность ведения журнала и хранения данных метрик. Кроме того, в журналах аналитики хранилища содержится важная информация о способе выполнения аутентификации, примененном пользователем для доступа к хранилищу. Это может быть очень полезным, если вы строго контролируете доступ к хранилищу. Например, в хранилище BLOB-объектов можно настроить все контейнеры как частные и реализовать использование службы SAS во всех приложениях. Затем можно регулярно проверять журналы для определения того, не осуществлялся ли доступ к BLOB-объектам с помощью ключей учетной записи хранения, что может свидетельствовать о нарушении безопасности. Таким образом также можно установить, что BLOB-объект является общедоступным, хотя он не должен быть таковым. |
Реализация надлежащего ведения журнала
Title | Сведения |
---|---|
Компонент | WCF |
Этап SDL | Сборка |
Применимые технологии | .NET Framework |
Атрибуты | Недоступно |
Справочные материалы | MSDN, Fortify Kingdom |
Шаги | Отсутствие правильного журнала аудита после инцидента безопасности может лишить вас преимуществ в ходе судебного разбирательства. Технология Windows Communication Foundation (WCF) позволяет регистрировать успешные и неудачные попытки аутентификации. Использование журнала неудачных попыток аутентификации поможет администраторам узнать о потенциальных атаках методом подбора. Аналогично, ведение журнала событий успешной аутентификации позволяет получить полезные данные аудита при компрометации подлинной учетной записи. Включите функцию аудита безопасности WCF. |
Пример
Ниже приведен пример конфигурации с включенной функцией аудита.
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name=""NewBehavior"">
<serviceSecurityAudit auditLogLocation=""Default""
suppressAuditFailure=""false""
serviceAuthorizationAuditLevel=""SuccessAndFailure""
messageAuthenticationAuditLevel=""SuccessAndFailure"" />
...
</behavior>
</servicebehaviors>
</behaviors>
</system.serviceModel>
Реализация надлежащей обработки сбоя аудита
Title | Сведения |
---|---|
Компонент | WCF |
Этап SDL | Сборка |
Применимые технологии | .NET Framework |
Атрибуты | Недоступно |
Справочные материалы | MSDN, Fortify Kingdom |
Шаги | Разработанное решение не настроено для выдачи исключения при возникновении ошибки записи в журнал аудита. Если служба WCF не настроена выдавать исключения при ошибке записи в журнал аудита, программа не будет уведомлена о сбое и аудит критических событий безопасности может не произойти. |
Пример
Элемент <behavior/>
файла конфигурации WCF ниже указывает службе WCF уведомлять приложению о неудачной попытке службы записать событие в журнал аудита.
<behaviors>
<serviceBehaviors>
<behavior name="NewBehavior">
<serviceSecurityAudit auditLogLocation="Application"
suppressAuditFailure="true"
serviceAuthorizationAuditLevel="Success"
messageAuthenticationAuditLevel="Success" />
</behavior>
</serviceBehaviors>
</behaviors>
Настройте службу WCF уведомлять программу всякий раз, когда не удается выполнить запись в журнал аудита. Для программы следует разработать альтернативную схему оповещения, чтобы уведомлять организации, в которых ведение журналов аудита не поддерживается.
Проверка принудительного применения аудита и ведения журнала в веб-API
Title | Сведения |
---|---|
Компонент | Веб-API |
Этап SDL | Сборка |
Применимые технологии | Универсальный шаблон |
Атрибуты | Недоступно |
Справочные материалы | Недоступно |
Шаги | Включите аудит и ведение журнала в веб-API. Журналы аудита должны записывать контекст пользователя. Определите все важные события для их регистрации в журнале. Реализуйте централизованное ведение журнала. |
Проверка включения надлежащих аудита и ведения журнала в полевом шлюзе
Title | Сведения |
---|---|
Компонент | Полевой шлюз Интернета вещей |
Этап SDL | Сборка |
Применимые технологии | Универсальный шаблон |
Атрибуты | Недоступно |
Справочные материалы | Недоступно |
Шаги | При подключении нескольких устройств к полевому шлюзу убедитесь, что попытки подключения и состояние аутентификации (успешно выполненной или нет) для отдельных устройств регистрируются в журнале и хранятся в полевом шлюзе. Кроме того, если в полевом шлюзе хранятся учетные данные Центра Интернета вещей для отдельных устройств, проверьте, выполняется ли аудит при извлечении этих учетных данных. Для долгосрочного хранения следует разработать процесс периодической загрузки журналов в Центр Интернета вещей или хранилище Azure. |
Проверка включения надлежащих аудита и ведения журнала в облачном шлюзе
Title | Сведения |
---|---|
Компонент | Облачный шлюз Интернета вещей |
Этап SDL | Сборка |
Применимые технологии | Универсальный шаблон |
Атрибуты | Недоступно |
Справочные материалы | Вводные сведения о мониторинге операций Центра Интернета вещей |
Шаги | Разработайте процесс сбора и хранения данных аудита, собранных в ходе мониторинга операций Центра Интернета вещей. Включите следующие категории мониторинга:
|