Поделиться через


Механизм безопасности. Аудит и ведение журналов | Устранение проблем

Продукт или служба Статья
Dynamics CRM
Веб-приложение
База данных
Хранилище Azure
WCF
Веб-интерфейс API
Полевой шлюз Интернета вещей
Облачный шлюз Интернета вещей

Определение конфиденциальных сущностей в решении и реализация аудита изменений

Title Сведения
Компонент Dynamics CRM
Этап SDL Сборка
Применимые технологии Универсальный шаблон
Атрибуты Недоступно
Справочные материалы Недоступно
Шаги Определите в решении сущности с конфиденциальными данными и реализуйте аудит изменений в этих сущностях и полях.

Проверка принудительного применения аудита и ведения журнала в приложении

Title Сведения
Компонент Веб-приложение
Этап SDL Сборка
Применимые технологии Универсальный шаблон
Атрибуты Недоступно
Справочные материалы Недоступно
Шаги Включите аудит и ведение журнала во всех компонентах. Журналы аудита должны записывать контекст пользователя. Определите все важные события для их регистрации в журнале. Реализуйте централизованное ведение журнала.

Проверка разделения и чередования журналов

Title Сведения
Компонент Веб-приложение
Этап SDL Сборка
Применимые технологии Универсальный шаблон
Атрибуты Недоступно
Справочные материалы Недоступно
Шаги

Чередование журналов — автоматизированный процесс, используемый в системном администрировании при архивации устаревших файлов журналов. Серверы, на которых выполняются крупные приложения, часто регистрируют каждый запрос. Следовательно, создаются огромные журналы, и чередование журналов — это способ ограничить общий размер журналов с возможностью анализа последних событий.

Разделение журналов по сути означает, что хранить файлы журналов следует в отдельной секции, в которой выполняется ОС или приложения. Это необходимо, чтобы предотвратить DoS-атаки (отказ в обслуживании) или снижение производительности приложения.

Проверка запрета записи в журнал приложением конфиденциальных сведений о пользователях

Title Сведения
Компонент Веб-приложение
Этап SDL Сборка
Применимые технологии Универсальный шаблон
Атрибуты Недоступно
Справочные материалы Недоступно
Шаги

Проверьте, не записываете ли вы в журнал конфиденциальные данные, которые пользователь отправляет на ваш сайт. Проверьте, не настроено ли ведение журнала, а также нет ли каких-либо побочных эффектов, вызванных недостатками разработки. К конфиденциальным данным относятся:

  • учетные данные пользователя;
  • номер социального страхования и другие идентификационные сведения;
  • номера кредитных карт и другие финансовые сведения;
  • сведения о работоспособности;
  • закрытые ключи и другие данные, которые могут использоваться для расшифровки зашифрованных данных;
  • сведения о системе или приложении, которые можно использовать для более эффективных атак на приложение.

Проверка ограниченного доступа к функциям аудита и ведения журнала

Title Сведения
Компонент Веб-приложение
Этап SDL Сборка
Применимые технологии Универсальный шаблон
Атрибуты Недоступно
Справочные материалы Недоступно
Шаги

Проверьте, настроены ли права доступа к файлам журнала соответствующим образом. Учетным записям приложения следует назначить доступ только для записи, а доступ только для чтения должен быть назначен (при необходимости) операторам и сотрудникам службы поддержки.

Учетными записями администраторов являются только те учетные записи, которые предполагают полный доступ. Проверьте правильное ограничение файлов журнала с помощью Windows ACL:

  • Учетные записи приложений должны иметь доступ только для записи.
  • Операторам и сотрудникам службы поддержки при необходимости должен быть предоставлен доступ только для чтения.
  • Учетными записями администраторов являются только те учетные записи, которые предполагают полный доступ.

Проверка записи в журнал событий управления пользователями

Title Сведения
Компонент Веб-приложение
Этап SDL Сборка
Применимые технологии Универсальный шаблон
Атрибуты Недоступно
Справочные материалы Недоступно
Шаги

Убедитесь, что приложение отслеживает следующие события управления пользователями: успешные и неудачные операции входа в систему, сброс пароля, изменение пароля, блокировка учетной записи, регистрация пользователей. Это помогает обнаруживать потенциально опасное поведение и реагировать на него, а также собирать данные об операции, например, чтобы отслеживать пользователей, получивших доступ к приложению.

Проверка наличия в системе встроенных защит от несанкционированного использования

Title Сведения
Компонент Веб-приложение
Этап SDL Сборка
Применимые технологии Универсальный шаблон
Атрибуты Недоступно
Справочные материалы Недоступно
Шаги

Должны присутствовать элементы управления, которые выдают исключения системы безопасности в случае несанкционированного использования приложения. Например, если выполняется проверка ввода и злоумышленник пытается ввести вредоносный код, который не соответствует регулярному выражению, может быть выдано исключение системы безопасности, указывающее на несанкционированные операции в системе.

При этом рекомендуется регистрировать исключения системы безопасности в журнале, а также выполнить действия для устранения следующих проблем:

  • проверка входных данных;
  • нарушений CSRF;
  • атак методом подбора (верхний лимит для числа запросов на пользователя на ресурс);
  • нарушений отправки файлов.

    Включение ведения журнала диагностики для веб-приложений в службе приложений 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 Сборка
    Применимые технологии Универсальный шаблон
    Атрибуты Недоступно
    Справочные материалы Вводные сведения о мониторинге операций Центра Интернета вещей
    Шаги

    Разработайте процесс сбора и хранения данных аудита, собранных в ходе мониторинга операций Центра Интернета вещей. Включите следующие категории мониторинга:

    • Операции с удостоверениями устройства
    • обмен данными между устройством и облаком;
    • обмен данными между облаком и устройством;
    • Соединения
    • Передача файлов