Руководство по операциям безопасности Microsoft Entra для приложений
Приложения уязвимы для нарушений безопасности и, соответственно, должны отслеживаться. Несмотря на то, что по сравнению с учетными записями пользователей приложения реже являются объектами для атак, такие нарушения все же возможны. Поскольку приложения часто выполняются без участия человека, подобные атаки во многих случаях сложнее обнаружить.
В этой статье приводятся рекомендации по мониторингу событий приложений и использованию оповещений. Мы регулярно обновляем ее, чтобы помочь вам в следующем:
Предотвращать несанкционированный доступ вредоносных приложений к данным.
Предотвращать риск компрометации приложений вредоносными субъектами.
Собирать аналитические данные, позволяющие более безопасно создавать и настраивать новые приложения.
Если вы не знакомы с тем, как приложения работают в идентификаторе Microsoft Entra, см. статью "Приложения и субъекты-службы" в идентификаторе Microsoft Entra.
Примечание.
Если вы еще не ознакомились с обзором операций безопасности Microsoft Entra, попробуйте сделать это сейчас.
Что искать
В процессе отслеживания событий входа в приложение обращайте внимание на пункты приведенного ниже списка, которые помогут отличить нормальные действия от вредоносных. Перечисленные ниже события могут указывать на проблемы безопасности. Каждое из них рассматривается в статье.
Любые изменения, происходящие в нарушение обычных бизнес-процессов и расписаний.
Изменение учетных данных приложения.
Разрешения приложения
Субъект-служба, назначенный идентификатору Microsoft Entra или роли управления доступом на основе ролей Azure (RBAC)
предоставление приложению разрешений с высоким уровнем привилегий;
изменения в Azure Key Vault;
предоставление конечным пользователем согласия для приложения;
отзыв согласия конечного пользователя на основе уровня риска.
Изменения конфигурации приложения
изменение универсального кода ресурса (URI) или использование нестандартного кода;
изменение владельцев приложений;
изменение URL-адресов выхода.
Где искать
Для исследования и мониторинга используйте файлы журнала:
В портал Azure можно просмотреть журналы аудита Microsoft Entra и скачать их как файлы json с разделительными запятыми (CSV) или Нотация объектов JavaScript (JSON). В портал Azure есть несколько способов интеграции журналов Microsoft Entra с другими средствами, которые позволяют обеспечить большую автоматизацию мониторинга и оповещений:
Microsoft Sentinel включает интеллектуальную аналитику безопасности на корпоративном уровне за счет возможностей управления информационной безопасностью и событиями безопасности (SIEM).
Sigma-правила. Sigma — это развивающийся открытый стандарт для написания правил и шаблонов, которые автоматизированные средства управления могут использовать для анализа файлов журналов. В случаях, когда существуют шаблоны Sigma для рекомендуемых нами критериев поиска, мы добавили ссылку на репозиторий Sigma. Шаблоны Sigma не создаются, не проверяются и не управляются корпорацией Майкрософт. Репозиторий и шаблоны создаются и собираются международным сообществом специалистов по ИТ-безопасности.
Azure Monitor — автоматический мониторинг и оповещение о различных условиях. с возможностью создавать или использовать рабочие книги для объединения данных из разных источников.
Центры событий Azure интеграции с журналами Microsoft Entra SIEM- можно интегрировать с другими SIEMs, такими как Splunk, ArcSight, QRadar и Sumo Logic с помощью интеграции Центры событий Azure.
Microsoft Defender for Cloud Apps позволяет обнаруживать и администрировать приложения, управлять приложениями и ресурсами, а также проверять облачные приложения на соответствие требованиям.
Защита удостоверений рабочей нагрузки с помощью Защита идентификации Microsoft Entra — обнаруживает риск для удостоверений рабочей нагрузки в поведении входа и автономных индикаторах компрометации.
В основном отслеживаются эффекты действия политик условного доступа и создаются оповещения именно по ним. Используйте книгу аналитических данных и отчетов для условного доступа для проверки влияния одной или нескольких политик условного доступа на входы в вашей среде, и анализа результатов применения политик, включая состояние устройств. Эту книгу можно использовать для просмотра сводки и определения эффектов за тот или иной период времени, а также для исследования попыток входа конкретного пользователя.
В оставшейся части этой статьи описывается, для каких аспектов мы рекомендуем реализовать мониторинг и создание оповещений. Сведения упорядочены по типам угроз. Если существуют готовые решения, мы приводим ссылки на них или предоставляем примеры после таблицы. В противном случае можно создавать оповещения с помощью предыдущих средств.
Учетные данные приложения
Многие приложения используют учетные данные для проверки подлинности в идентификаторе Microsoft Entra. Любые другие учетные данные, добавляемые вне рамок обычных процессов, могут использоваться злоумышленниками. Вместо секретов клиента мы рекомендуем использовать сертификаты X509, выданные доверенными центрами, или управляемые удостоверения. Тем не менее, если вам необходимо использовать секреты клиента, следуйте принятым рекомендациям по обеспечению безопасности приложений. Обратите внимание, что обновления приложения и субъекта-службы регистрируются в журнале аудита с использованием двух записей.
Отслеживайте приложения для выявления учетных данных, действующих на протяжении длительного времени.
Используйте в них учетные данные с меньшим сроком действия. Примите меры, чтобы учетные данные не фиксировались в репозиториях кода и хранились безопасно.
Что отслеживать | Уровень риска | Где | Фильтр и подфильтр | Примечания. |
---|---|---|---|---|
Добавление учетных данных в существующие приложения | Высокая | Журналы аудита Microsoft Entra | Каталог Service-Core, Category-ApplicationManagement Действие: обновление сертификатов приложения и управление секретами -и- Действие: обновление субъекта-службы или обновления приложения |
Оповещать, когда учетные данные: добавляются вне обычных рабочих часов или рабочих процессов, относятся к типам, которые не используются в вашей среде, или добавляются в поток без SAML, поддерживающий субъект-службу. Шаблон Microsoft Sentinel Sigma-правила |
Учетные данные, время существования которых превышает разрешенное политиками. | Средняя | Microsoft Graph | Состояние и дата окончания действия для учетных данных ключа приложения -и- Учетные данные пароля приложения |
С помощью API MS Graph можно определить дату начала и окончания действия учетных данных, а также выявить те из них, время существования которых превышает разрешенное. См. скрипт PowerShell, который приведен после этой таблицы. |
Доступны следующие стандартные средства мониторинга и оповещения:
Microsoft Sentinel — оповещение о добавлении новых учетных данных приложения или субъекта-службы.
Azure Monitor — книга Microsoft Entra, помогая оценить риск Solorigate — Microsoft Tech Community
Defender для облачных приложений — руководство по исследованию оповещений, генерируемых функцией обнаружения аномалий Defender для облачных приложений.
PowerShell — пример скрипта PowerShell, позволяющего определять срок существования учетных данных.
Разрешения приложения
Как и в случае с учетной записью администратора, приложениям могут назначаться привилегированные роли. Приложениям можно назначать любые роли Microsoft Entra, такие как администратор пользователей или роли RBAC Azure, такие как средство чтения выставления счетов. Так как они могут работать без пользователя и в фоновой службе, внимательно отслеживайте, когда приложению предоставляются привилегированные роли или разрешения.
Назначение субъекта-службы роли
Что отслеживать | Уровень риска | Где | Фильтр и подфильтр | Примечания. |
---|---|---|---|---|
Приложение, назначенное роли RBAC Azure или роли Microsoft Entra | От высокого до среднего | Журналы аудита Microsoft Entra | Тип: субъект-служба Действие: добавление участника в роль или добавление соответствующего участника в роль –или– Добавление участника с заданной областью в роль |
Для высоко привилегированных ролей высокий риск. Для ролей с низким уровнем привилегий этот риск имеет средний уровень. Оповещение в любое время, когда приложению назначена роль Azure или роль Microsoft Entra за пределами обычных процедур управления изменениями или конфигурации. Шаблон Microsoft Sentinel Sigma-правила |
Предоставление приложению разрешений с высоким уровнем привилегий
Приложения должны следовать принципу предоставления минимальных прав. Проверьте разрешения приложения и убедитесь, что они нужны для работы. Вы можете создать отчет о предоставлении согласия для приложения, чтобы оценить состояние приложений и выделить разрешения с высоким уровнем привилегий.
Что отслеживать | Уровень риска | Где | Фильтр и подфильтр | Примечания. |
---|---|---|---|---|
Предоставление приложению разрешений с высоким уровнем привилегий, например разрешений с суффиксом .All (Directory.ReadWrite.All) или разрешений с широким диапазоном действия (Mail.) | Высокая | Журналы аудита Microsoft Entra | "Добавление назначения роли приложения в субъект-службу", - здесь - Целевые объекты идентифицируют API с конфиденциальными данными (например, Microsoft Graph) -и- AppRole.Value обозначает разрешение приложения с высоким уровнем привилегий (роль приложения). |
Предоставление администратором разрешений с широким спектром действия, например разрешений с суффиксом .All (Directory.ReadWrite.All) или разрешений общего характера (Mail.) Шаблон Microsoft Sentinel Sigma-правила |
Предоставление администратором либо разрешений приложения (роли приложения), либо делегированных разрешений с высоким уровнем привилегий | Высокая | Портал Microsoft 365 | "Добавление назначения роли приложения в субъект-службу", - здесь - В качестве целевых объектов определяются API с конфиденциальными данными (например, Microsoft Graph) "Добавить делегированное разрешение", - здесь - Целевые объекты идентифицируют API с конфиденциальными данными (например, Microsoft Graph) -и- DelegatedPermissionGrant.Scope включает разрешения с высоким уровнем привилегий. |
Оповещение, когда администратор дает согласие на приложение. Следует обращать особое внимание на предоставление согласия вне рамок обычных действий и процедур управления изменениями. Шаблон Microsoft Sentinel Шаблон Microsoft Sentinel Шаблон Microsoft Sentinel Sigma-правила |
Приложение предоставляет разрешения для Идентификатора Microsoft Graph, Exchange, SharePoint или Microsoft Entra. | Высокая | Журналы аудита Microsoft Entra | Добавление делегированного предоставления разрешений –или– "Добавление назначения роли приложения в субъект-службу", - здесь - В качестве целевых объектов определяются API с конфиденциальными данными (например, Microsoft Graph, Exchange Online и т. д.) |
Оповещения генерируются в соответствии с описанием в предшествующей строке. Шаблон Microsoft Sentinel Sigma-правила |
Предоставление приложению разрешений (роли приложений) для других API | Средняя | Журналы аудита Microsoft Entra | "Добавление назначения роли приложения в субъект-службу", - здесь - В качестве целевых объектов определяются любые другие API. |
Оповещения генерируются в соответствии с описанием в предшествующей строке. Sigma-правила |
Предоставление делегированных разрешений с высоким уровнем привилегий от имени всех пользователей | Высокая | Журналы аудита Microsoft Entra | Добавление делегированного предоставления разрешений, где целевые объекты идентифицируют API с конфиденциальными данными (например, Microsoft Graph), DelegatedPermissionGrant.Scope включает разрешения с высоким уровнем привилегий, -и- DelegatedPermissionGrant.ConsentType имеет значение AllPrincipals. |
Оповещения генерируются в соответствии с описанием в предшествующей строке. Шаблон Microsoft Sentinel Шаблон Microsoft Sentinel Шаблон Microsoft Sentinel Sigma-правила |
Дополнительные сведения о мониторинге разрешений приложений см. в руководстве Исследование и исправление рискованных приложений OAuth.
Azure Key Vault
В Azure Key Vault могут храниться секреты клиента. Мы рекомендуем обращать внимание на любые изменения в конфигурации и действиях Key Vault.
Что отслеживать | Уровень риска | Где | Фильтр и подфильтр | Примечания. |
---|---|---|---|---|
Когда и кто осуществляет доступ к вашим хранилищам ключей | Средняя | Журналы Azure Key Vault | Тип ресурса: хранилища ключей | На что следует обращать внимание: любой доступ к Key Vault вне обычных процессов и рабочих часов, любые изменения в списке управления доступом Key Vault. Шаблон Microsoft Sentinel Sigma-правила |
После настройки Azure Key Vault включите ведение журнала. Вы сможете определять, кто и когда получает доступ к вашим хранилищам ключей, а также настраивать оповещения для Key Vault, с помощью которых назначенным пользователям или спискам рассылки посредством электронной почты, телефонных звонков, текстовых сообщений или Сетки событий будут направляться уведомления о событиях, которые могут повлиять на работоспособность. Кроме того, при настройке мониторинга с использованием аналитических сведений Key Vault вы можете получить мгновенный снимок запросов, показателей производительности, отказов и данных о задержке для хранилища ключей. В Log Analytics также представлены примеры запросов для Azure Key Vault. Чтобы получить доступ к ним, выберите нужное хранилище ключей, а затем в разделе "Мониторинг" выберите "Журналы".
Предоставление согласия конечным пользователем
Что отслеживать | Уровень риска | Где | Фильтр и подфильтр | Примечания. |
---|---|---|---|---|
Предоставление согласия для приложения конечным пользователем | Низкая | Журналы аудита Microsoft Entra | Действие: предоставление согласия приложению или ConsentContext.IsAdminConsent = false | Найдите: высокопрофилированные или высоко привилегированные учетные записи, приложения запрашивают разрешения с высоким риском, приложения с подозрительными именами, например универсальные, неправильно написанные и т. д. Шаблон Microsoft Sentinel Sigma-правила |
Процесс предоставления согласия приложению не является вредоносным. Тем не менее, при поисках подозрительных приложений следует изучить новые случаи предоставления согласия конечными пользователями. Вы можете ограничить операции предоставления согласия конечными пользователями.
Дополнительную информацию об операциях предоставления согласия см. в следующих ресурсах:
Управление согласием для приложений и оценка запросов на согласие в идентификаторе Microsoft Entra
Выявление и устранение незаконного предоставления согласия — Office 365
Отзыв согласия конечного пользователя с учетом уровня риска
Что отслеживать | Уровень риска | Где | Фильтр и подфильтр | Примечания. |
---|---|---|---|---|
Отзыв согласия конечного пользователя с учетом высокого уровня риска | Средняя | Журналы аудита Microsoft Entra | Каталог ядра, управление приложениями, предоставление согласия приложению Причина состояния сбоя = Microsoft.online.Security.userConsent BlockedForRiskyAppsExceptions |
Необходимо отслеживать и анализировать любые случаи отзыва согласия в связи с риском. Найдите: высокопрофилированные или высоко привилегированные учетные записи, приложения запрашивают разрешения с высоким риском или приложения с подозрительными именами, например универсальными, неправильно написанными и т. д. Шаблон Microsoft Sentinel Sigma-правила |
Потоки проверки подлинности приложений
В протоколе OAuth 2.0 есть несколько потоков. Рекомендуемый поток для приложения зависит от типа создаваемого приложения. В некоторых случаях предоставляется выбор потоков, доступных для приложения. В этом случае некоторые потоки проверки подлинности рекомендуются больше других. В частности, избегайте использования учетных данных владельца ресурса с паролем (ROPC), так как в этом случае требуется, чтобы пользователь предоставлял приложению свой текущий пароль. После этого приложение использует эти учетные данные для проверки подлинности пользователя в поставщике удостоверений. Большинство приложений должны использовать поток кода проверки подлинности (или поток кода проверки подлинности с ключом проверки для обмена кодом (PKCE)), так как этот поток является предпочтительным.
Единственным сценарием, в котором рекомендуется использовать ROPC, является автоматическое тестирование приложений. Дополнительные сведения приведены в разделе Запуск автоматических тестов интеграции.
Поток кода устройства — это еще один поток протокола OAuth 2.0 для устройств с ограничениями ввода, который используется не во всех средах. Когда поток кода устройства отображается в среде и не используется в сценарии устройства с ограничениями ввода, необходимо провести дополнительное расследование для выявления неправильно настроенного приложения или потенциально вредоносного кода. Поток кода устройства также может быть заблокирован или разрешен в условном доступе. Дополнительные сведения см. в потоках проверки подлинности условного доступа.
Отслеживайте проверку подлинности приложения с помощью следующего формирования:
Что отслеживать | Уровень риска | Где | Фильтр и подфильтр | Примечания. |
---|---|---|---|---|
Приложения, использующие поток проверки подлинности ROPC | Средняя | Журнал входа Microsoft Entra | Состояние = "успешно" Протокол проверки подлинности — ROPC |
Это приложение характеризуется высоким уровнем доверия, поскольку учетные данные можно кэшировать или хранить. Если возможно, перейдите на более защищенный поток проверки подлинности. Этот вариант допускается только при автоматизированном тестировании приложений, но лучше не использовать его вообще. Дополнительные сведения приведены в статье Платформа удостоверений Майкрософт и учетные данные владельца ресурса OAuth 2.0 Sigma-правила |
Приложения, использующие поток кода устройства | От низкого до среднего | Журнал входа Microsoft Entra | Состояние = "успешно" Протокол проверки подлинности — код устройства |
Потоки кода устройства используются для устройств с ограничениями ввода, которые могут присутствовать не во всех средах. Если появляются успешные потоки кода устройства без необходимости, проверьте их на обоснованность. Дополнительные сведения приведены в статье Платформа удостоверений Майкрософт и поток предоставления авторизации устройства OAuth 2.0 Sigma-правила |
Изменения конфигурации приложения
Отслеживайте изменения в конфигурации приложения. В частности, необходимо обращать внимание на изменения универсального кода ресурса (URI), владельца и URL-адреса выхода.
Висячие URI и изменения URI перенаправления
Что отслеживать | Уровень риска | Где | Фильтр и подфильтр | Примечания. |
---|---|---|---|---|
Висячий URI | Высокая | Журналы Microsoft Entra и регистрация приложений | Каталог ядра службы, категория — управление приложением Действие: обновление приложения Успешно — имя свойства: AppAddress |
Обращайте внимание на "висячие" URI, например те, которые указывают на несуществующее или не принадлежащее вам явно доменное имя. Шаблон Microsoft Sentinel Sigma-правила |
Изменения конфигурации URI перенаправления | Высокая | Журналы Microsoft Entra | Каталог ядра службы, категория — управление приложением Действие: обновление приложения Успешно — имя свойства: AppAddress |
Обращайте внимание на URI, в которых не используется формат HTTPS*, а также на URI с подстановочными знаками в конце домена URL-адреса, URI, НЕ ЯВЛЯЮЩИЕСЯ уникальными для приложения, и URI, которые указывают на домен, не находящийся под вашим управлением. Шаблон Microsoft Sentinel Sigma-правила |
Оповещение генерируется, когда обнаруживаются эти изменения.
Добавление, изменение или удаление URI AppID
Что отслеживать | Уровень риска | Где | Фильтр и подфильтр | Примечания. |
---|---|---|---|---|
Изменения в URI AppID | Высокая | Журналы Microsoft Entra | Каталог ядра службы, категория — управление приложением Действие: обновление Приложение Действие: обновление субъекта-службы |
Обращайте внимание на любые изменения URI AppID, в том числе на добавление, изменение или удаление URI. Шаблон Microsoft Sentinel Sigma-правила |
Оповещение генерируется, когда эти изменения обнаруживаются вне рамок утвержденных процедур управления изменениями.
Новый владелец
Что отслеживать | Уровень риска | Где | Фильтр и подфильтр | Примечания. |
---|---|---|---|---|
Изменение владельцев приложений | Средняя | Журналы Microsoft Entra | Каталог ядра службы, категория — управление приложением Действие: добавление владельца приложения |
Обращайте внимание на любые экземпляры пользователя, добавляемые в качестве владельца приложения вне рамок обычных процедур управления изменениями. Шаблон Microsoft Sentinel Sigma-правила |
Изменение или удаление URL-адреса выхода
Что отслеживать | Уровень риска | Где | Фильтр и подфильтр | Примечания. |
---|---|---|---|---|
Изменения в URL-адресе выхода | Низкая | Журналы Microsoft Entra | Каталог ядра службы, категория — управление приложением Действие: обновление приложения -и- Действие: обновление субъекта-службы |
Обращайте внимание на любые изменения в URL-адресе выхода. В случае выхода в пустые или несуществующие расположения пользователь не сможет завершить сеанс. Шаблон Microsoft Sentinel Sigma-правила |
Ресурсы
Набор средств Microsoft Entra для GitHub — https://github.com/microsoft/AzureADToolkit
Общие сведения о безопасности и руководство по безопасности для Azure Key Vault — общие сведения о безопасности Azure Key Vault
Сведения о рисках и средствах Solorigate — книга Microsoft Entra, чтобы помочь вам получить доступ к риску Solorigate
Руководство по обнаружению атак OAuth — нетипичное добавление учетных данных для приложения OAuth
Сведения о конфигурации мониторинга Microsoft Entra для SIEMs — средства партнеров с интеграцией Azure Monitor
Следующие шаги
Обзор операций безопасности Microsoft Entra
Операции безопасности для учетных записей пользователей
Операции безопасности для учетных записей потребителей
Операции безопасности для привилегированных учетных записей
Операции по обеспечению безопасности службы Azure Active Directory Privileged Identity Management