Правила мониторинга — Аналитика сторонних уязвимостей
Правила мониторинга — Аналитика сторонних уязвимостей
Что вы найдёте на этой странице
- Способы определения правил мониторинга
- Как настроить новые правила мониторинга
- Как настроить классические правила мониторинга (устарело)
- Как правила мониторинга влияют на покрытие
- Примеры правил мониторинга с использованием атрибутов и меток
- Часто задаваемые вопросы
Чтобы включить или исключить определённые сущности из мониторинга Runtime Vulnerability Analytics, вы можете настроить детализированные правила мониторинга для сторонних уязвимостей на основе различных критериев.
Если вы определяете пользовательские правила мониторинга, стандартный режим управления обнаружением уязвимостей применяется ко всем сущностям, которые не соответствуют ни одному правилу.
Критерии мониторинга
В настоящее время существует два способа настройки правил мониторинга:
- На основе атрибутов ресурсов и меток Kubernetes (рекомендуется)
Подробности см. в разделе «Новые правила мониторинга».
- На основе тега группы процессов, тега хоста и зон управления
Подробности см. в разделе «Классические правила мониторинга».
Чтобы начать мониторинг на основе ваших правил, необходимо активировать соответствующие критерии мониторинга. Оба критерия не могут действовать одновременно. Когда один активирован, другой деактивируется. Вы можете переключаться между ними в любое время.
Для сред, созданных на Ключ-АСТРОМ версии 1.313+, классические правила мониторинга на основе тега группы процессов, тега хоста и зон управления недоступны; вы можете настраивать правила мониторинга на основе атрибутов ресурсов и меток Kubernetes.
Активация предпочтительных критериев мониторинга
Чтобы активировать предпочтительный способ определения мониторинга:
- В Ключ-АСТРОМ перейдите в Настройки > Анализ и оповещения > Application Security > Общие настройки > Аналитика сторонних уязвимостей.
- Внесите одно из следующих изменений:
* Чтобы активировать новые правила, включите Включить новые правила мониторинга. * Чтобы активировать классические правила, отключите Включить новые правила мониторинга.
- Ваша настройка сохранится, пока вы снова её не измените.
Для сред, созданных на Ключ-АСТРОМ версии 1.313+, новые правила мониторинга активированы по умолчанию (действий с вашей стороны не требуется).
Новые правила мониторинга
Рекомендуется
С новыми правилами мониторинга вы можете определить, какие процессы, а также ноды и хосты Kubernetes должны отслеживаться.
- Правила процессов основаны на атрибутах ресурсов.
- Правила нод и хостов Kubernetes основаны на метках Kubernetes.
Связанные с Kubernetes атрибуты ресурсов (например, k8s.cluster.uid) применяются к группам процессов, а не к нодам Kubernetes. Чтобы включить или исключить ноды или хосты Kubernetes из мониторинга, вы должны определить правила меток Kubernetes. Если вы настроите только правила атрибутов ресурсов, ноды Kubernetes могут продолжать отслеживаться и создавать потребление, даже когда связанные группы процессов исключены.
Определение правил
Вы можете определять новые правила мониторинга через веб-интерфейс Ключ-АСТРОМ или через Settings API.
В Ключ-АСТРОМ
Правила процессов
- В Ключ-АСТРОМ перейдите в Настройки > Анализ и оповещения > Application Security > Правила для сторонних уязвимостей (новые).
- На вкладке Правила мониторинга атрибутов ресурсов (…) выберите Добавить новое правило.
- Следуйте инструкциям на экране.
- Поля ключа и значения условия — это поля свободного текста. Подсказки на экране не обязательны.
- Выберите Предварительный просмотр соответствующих экземпляров групп процессов, чтобы проверить, соответствует ли условие ожидаемым процессам.
- Все условия правила должны совпадать, чтобы правило применилось.
- Выберите Сохранить изменения.
Чтобы начать мониторинг на основе предпочтительного критерия мониторинга, убедитесь, что он активирован.
Вы можете редактировать, отключать, включать или удалять правила в любое время.
Правила нод и хостов Kubernetes
Мониторинг Kubernetes должен быть включён для использования правил мониторинга на основе меток Kubernetes.
- В Ключ-АСТРОМ перейдите в Настройки > Анализ и оповещения > Application Security > Правила для сторонних уязвимостей (новые).
- На вкладке Правила мониторинга Kubernetes (…) выберите Добавить новое правило.
- Следуйте инструкциям на экране.
- Поля ключа и значения условия — это поля свободного текста. Подсказки на экране не обязательны.
- Выберите Предварительный просмотр соответствующих нод и хостов Kubernetes, чтобы проверить, соответствует ли условие ожидаемым нодам и хостам Kubernetes.
- Все условия правила должны совпадать, чтобы правило применилось.
- Выберите Сохранить изменения.
Чтобы начать мониторинг на основе предпочтительного критерия мониторинга, убедитесь, что он активирован.
Вы можете редактировать, отключать, включать или удалять правила в любое время.
Через Settings API
Вы можете читать или изменять правила с помощью Settings API.
Правила процессов
Чтобы просмотреть правило мониторинга, используйте запрос GET an object. Задайте следующие параметры:
schemaIds=builtin:appsec.third-party-vulnerability-rule-settings scopes=tenant
Пример ответа JSON
{ "items": [
{ "objectId": "vu9U3hXa3q0AAAABADZidWlsdGluOmFwcHNlYy50aGlyZC1wYXJ0eS12dWxuZXJhYmlsaXR5LXJ1bGUtc2V0dGluZ3MABnRlbmFudAAGdGVuYW50ACQ1YWYzOWNiZC0xM2I0LTNlZmItYTViYi1iYzljNTgyOTQxNze-71TeFdrerQ", "value": { "enabled": true, "vulnerabilityDetectionControl": { "monitoringMode": "MONITORING_OFF" }, "resourceAttributeConditions": [ { "resourceAttributeKey": "dt.entity.host", "matcher": "EQUALS", "resourceAttributeValue": "HOST-ABD42981B3D483AC" } ], "metadata": { "comment": "" } } }, { "objectId": "vu9U3hXa3q0AAAABADZidWlsdGluOmFwcHNlYy50aGlyZC1wYXJ0eS12dWxuZXJhYmlsaXR5LXJ1bGUtc2V0dGluZ3MABnRlbmFudAAGdGVuYW50ACQ4NDQ1OGRjNC1lM2Q2LTM2MGYtOWQyYy1lNmYwMTY1MzAwMza-71TeFdrerQ", "value": { "enabled": false, "vulnerabilityDetectionControl": { "monitoringMode": "MONITORING_ON" }, "resourceAttributeConditions": [ { "resourceAttributeKey": "attribute_2", "matcher": "EXISTS" } ], "metadata": { "comment": "" } } }, { "objectId": "vu9U3hXa3q0AAAABADZidWlsdGluOmFwcHNlYy50aGlyZC1wYXJ0eS12dWxuZXJhYmlsaXR5LXJ1bGUtc2V0dGluZ3MABnRlbmFudAAGdGVuYW50ACRjNzk3M2I4YS1kYmFjLTMxMzAtYjdjMy0zYjYxNGMxOWU1NzK-71TeFdrerQ", "value": { "enabled": false, "vulnerabilityDetectionControl": { "monitoringMode": "MONITORING_OFF" }, "resourceAttributeConditions": [ { "resourceAttributeKey": "my.app.name", "matcher": "EQUALS", "resourceAttributeValue": "cool-app" } ], "metadata": { "comment": "" } } }], "totalCount": 3, "pageSize": 100 }
Чтобы изменить правило мониторинга, используйте запрос POST an object. Пример тела JSON
[
{
"value": {
"enabled": true,
"vulnerabilityDetectionControl": {
"monitoringMode": "MONITORING_OFF"
},
"resourceAttributeConditions": [
{
"resourceAttributeKey": "dt.entity.host",
"matcher": "EQUALS",
"resourceAttributeValue": "HOST-ABD42981B3D483AC"
}
],
"metadata": { "comment": "" }
},
"schemaId": "builtin:appsec.third-party-vulnerability-rule-settings",
"scope": "tenant"
},
{
"value": {
"enabled": false,
"vulnerabilityDetectionControl": { "monitoringMode": "MONITORING_ON" },
"resourceAttributeConditions": [
{
"resourceAttributeKey": "attribute_2",
"matcher": "EXISTS"
}
],
"metadata": { "comment": "" }
},
"schemaId": "builtin:appsec.third-party-vulnerability-rule-settings",
"scope": "tenant"
},
{
"value": {
"enabled": false,
"vulnerabilityDetectionControl": {
"monitoringMode": "MONITORING_OFF"
},
"resourceAttributeConditions": [
{
"resourceAttributeKey": "my.app.name",
"matcher": "EQUALS",
"resourceAttributeValue": "cool-app"
}
],
"metadata": {
"comment": ""
}
},
"schemaId": "builtin:appsec.third-party-vulnerability-rule-settings",
"scope": "tenant"
}
]
Правила нод и хостов Kubernetes Чтобы просмотреть правило мониторинга, используйте запрос GET an object. Задайте следующие параметры:
schemaIds=builtin:appsec.third-party-vulnerability-kubernetes-label-rule-settings scopes=tenant
Пример ответа JSON
{ "items": [
{ "objectId": "vu9U3hXa3q0AAAABAEdidWlsdGluOmFwcHNlYy50aGlyZC1wYXJ0eS12dWxuZXJhYmlsaXR5LWt1YmVybmV0ZXMtbGFiZWwtcnVsZS1zZXR0aW5ncwAGdGVuYW50AAZ0ZW5hbnQAJDBhZDRhNTRjLWY3MDMtM2M2OC1iOTQ5LTkxNTA2YTc2Mzc5Zr7vVN4V2t6t", "value": { "enabled": true, "vulnerabilityDetectionControl": { "monitoringMode": "MONITORING_ON" }, "kubernetesLabelConditions": [ { "kubernetesLabelKey": "dummy-label", "matcher": "CONTAINS", "kubernetesLabelValue": "HOST" }, { "kubernetesLabelKey": "dummy-label", "matcher": "STARTS_WITH", "kubernetesLabelValue": "value:" }, { "kubernetesLabelKey": "dummy-label", "matcher": "EQUALS", "kubernetesLabelValue": "HOST-1C2B7B7A2613CBFD" } ], "metadata": { "comment": "" } } }], "totalCount": 1, "pageSize": 100 }
Чтобы изменить правило мониторинга, используйте запрос POST an object. Пример тела JSON
[
{
"value": {
"enabled": true,
"vulnerabilityDetectionControl": {
"monitoringMode": "MONITORING_OFF"
},
"kubernetesLabelConditions": [
{
"kubernetesLabelKey": "kubernetes.io/os",
"matcher": "EQUALS",
"kubernetesLabelValue": "linux"
}
],
"metadata": {
"comment": ""
}
},
"schemaId": "builtin:appsec.third-party-vulnerability-kubernetes-label-rule-settings",
"scope": "tenant"
},
{
"value": {
"enabled": true,
"vulnerabilityDetectionControl": {
"monitoringMode": "MONITORING_OFF"
},
"kubernetesLabelConditions": [
{
"kubernetesLabelKey": "dummy-label",
"matcher": "CONTAINS",
"kubernetesLabelValue": "HOST"
},
{
"kubernetesLabelKey": "dummy-label",
"matcher": "STARTS_WITH",
"kubernetesLabelValue": "value:"
},
{
"kubernetesLabelKey": "dummy-label",
"matcher": "EQUALS",
"kubernetesLabelValue": "HOST-1C2B7B7A2613CBFD"
}
],
"metadata": {
"comment": ""
}
},
"schemaId": "builtin:appsec.third-party-vulnerability-kubernetes-label-rule-settings",
"scope": "tenant"
}
]
Оценка правил мониторинга
После добавления, редактирования или удаления правила может потребоваться до 10 минут, чтобы изменения вступили в силу во всей системе. Настроенные правила мониторинга оцениваются периодически (при внутренних запусках воркеров) и по требованию (через вызовы REST API).
Исключение: после того как сущность, ранее отслеживаемая, исключается из мониторинга, может потребоваться до 70 минут, чтобы изменения вступили в силу во всей системе.
Независимо от контекста вызова оценка правил остаётся неизменной: для заданного набора сущностей алгоритм решает, должна ли конкретная сущность отслеживаться. Правила обрабатываются по порядку до первого совпадения.
- Если правило соответствует конкретной сущности, используется настроенный режим (Monitor или Do not monitor), и последующие правила для этой сущности не оцениваются.
- Если ни одно правило не соответствует конкретной сущности, используется настроенный стандартный режим (Monitor или Do not monitor).
Влияние на покрытие
Правила мониторинга напрямую влияют на покрытие хостов и процессов. Если хост или группа процессов исключены правилом, они не будут отслеживаться на предмет уязвимостей.
Варианты использования новых правил мониторинга
Ниже приведены некоторые распространённые сценарии определения правил мониторинга сторонних уязвимостей на основе атрибутов ресурсов и меток Kubernetes.
Мониторинг только процессов на определённых хостах
- В Ключ-АСТРОМ перейдите в Настройки > Анализ и оповещения > Application Security > Аналитика уязвимостей и установите Стандартные правила > Управление обнаружением уязвимостей в значение Do not monitor.
- Найдите хост, на котором вы хотите отслеживать процессы (например, через раздел Инфраструктура и операции).
- Скопируйте имя хоста (например,
exchange.mycompany.local) из обзора. - Добавьте новое правило мониторинга атрибутов ресурсов:
* Установите Управление сторонними уязвимостями в значение Monitor.
* Выберите Добавить новое условие и введите следующие данные:
* Ключ атрибута ресурса: host.name
* Сопоставитель: equals
* Значение атрибута ресурса: имя хоста из шага 3.
- Проверьте предварительный просмотр, чтобы увидеть, соответствует ли условие ожидаемым процессам.
- Сохраните правило.
Мониторинг только процессов Java на определённых хостах
- В Ключ-АСТРОМ перейдите в Настройки > Анализ и оповещения > Application Security > Аналитика уязвимостей и установите Стандартные правила > Управление обнаружением уязвимостей в значение Do not monitor.
- Найдите хост, на котором вы хотите отслеживать процессы.
- Скопируйте имя хоста из обзора.
- Добавьте новое правило мониторинга атрибутов ресурсов:
* Установите Управление сторонними уязвимостями в значение Monitor.
* Чтобы создать условие, соответствующее хосту, выберите Добавить новое условие и введите:
* Ключ атрибута ресурса: host.name
* Сопоставитель: equals
* Значение атрибута ресурса: имя хоста из шага 3.
* Чтобы создать условие, соответствующее технологии, выберите Добавить новое условие и введите:
* Ключ атрибута ресурса: java.main.class
* Сопоставитель: exists
- Проверьте предварительный просмотр.
- Сохраните правило.
Исключение процессов .NET определённых хостов из мониторинга
- В Ключ-АСТРОМ перейдите в Настройки > Анализ и оповещения > Application Security > Аналитика уязвимостей и установите Стандартные правила > Управление обнаружением уязвимостей в значение Monitor.
- Найдите хост.
- Скопируйте имя хоста из обзора.
- Добавьте новое правило мониторинга атрибутов ресурсов:
* Установите Управление сторонними уязвимостями в значение Do not monitor.
* Чтобы создать условие, соответствующее хосту, выберите Добавить новое условие и введите:
* Ключ атрибута ресурса: host.name
* Сопоставитель: equals
* Значение атрибута ресурса: имя хоста из шага 3.
* Чтобы создать условие, соответствующее технологии, выберите Добавить новое условие и введите:
* Ключ атрибута ресурса: dotnet.dll.file
* Сопоставитель: exists
- Проверьте предварительный просмотр.
- Сохраните правило.
Мониторинг только процессов с пользовательским атрибутом ресурса
- В Ключ-АСТРОМ перейдите в Настройки > Анализ и оповещения > Application Security > Аналитика уязвимостей и установите Стандартные правила > Управление обнаружением уязвимостей в значение Do not monitor.
- Добавьте пользовательские атрибуты ресурсов (например,
{"stage":"production"}) к вашим сущностям. - Добавьте новое правило мониторинга атрибутов ресурсов:
* Установите Управление сторонними уязвимостями в значение Monitor.
* Выберите Добавить новое условие и введите:
* Ключ атрибута ресурса: ключ пользовательского атрибута ресурса из шага 2 (например, stage)
* Сопоставитель: equals
* Значение атрибута ресурса: значение пользовательского атрибута ресурса из шага 2 (например, production)
- Проверьте предварительный просмотр.
- Сохраните правило.
Мониторинг только процессов определённой группы процессов
- В Ключ-АСТРОМ перейдите в Настройки > Анализ и оповещения > Application Security > Аналитика уязвимостей и установите Стандартные правила > Управление обнаружением уязвимостей в значение Do not monitor.
- Найдите группу процессов (например, через приложение Technologies & Processes Classic).
- Скопируйте идентификатор группы процессов (например,
PROCESS_GROUP-0123456789ABCDEF) из URL. - Добавьте новое правило мониторинга атрибутов ресурсов:
* Установите Управление сторонними уязвимостями в значение Monitor.
* Выберите Добавить новое условие и введите:
* Ключ атрибута ресурса: dt.entity.process_group
* Сопоставитель: equals
* Значение атрибута ресурса: идентификатор группы процессов из шага 3.
- Проверьте предварительный просмотр.
- Сохраните правило.
Мониторинг только процессов, работающих в определённом пространстве имён Kubernetes
- В Ключ-АСТРОМ перейдите в Настройки > Анализ и оповещения > Application Security > Аналитика уязвимостей и установите Стандартные правила > Управление обнаружением уязвимостей в значение Do not monitor.
- Добавьте новое правило мониторинга атрибутов ресурсов:
* Установите Управление сторонними уязвимостями в значение Monitor.
* Выберите Добавить новое условие и введите:
* Ключ атрибута ресурса: k8s.namespace.name
* Сопоставитель: equals
* Значение атрибута ресурса: имя пространства имён, которое нужно отслеживать.
- Проверьте предварительный просмотр.
- Сохраните правило.
Мониторинг только нод и хостов Kubernetes, работающих на ОС Linux, для уязвимостей Kubernetes
- В Ключ-АСТРОМ перейдите в Настройки > Анализ и оповещения > Application Security > Аналитика уязвимостей и установите Стандартные правила > Управление обнаружением уязвимостей в значение Do not monitor.
- Добавьте новое правило мониторинга Kubernetes:
* Установите Управление сторонними уязвимостями в значение Monitor.
* Выберите Добавить новое условие и введите:
* Ключ метки Kubernetes: kubernetes.io/os
* Сопоставитель: equals
* Значение метки Kubernetes: linux
- Проверьте предварительный просмотр.
- Сохраните правило.
Мониторинг только экземпляров EC2 для уязвимостей Kubernetes
- В Ключ-АСТРОМ перейдите в Настройки > Анализ и оповещения > Application Security > Аналитика уязвимостей и установите Стандартные правила > Управление обнаружением уязвимостей в значение Do not monitor.
- Добавьте новое правило мониторинга Kubernetes:
* Установите Управление сторонними уязвимостями в значение Monitor.
* Выберите Добавить новое условие и введите:
* Ключ метки Kubernetes: kubernetes.io/hostname
* Сопоставитель: ends with
* Значение метки Kubernetes: .ec2.internal
- Проверьте предварительный просмотр.
- Сохраните правило.
Исключение нод на архитектуре ARM из мониторинга уязвимостей Kubernetes
- В Ключ-АСТРОМ перейдите в Настройки > Анализ и оповещения > Application Security > Аналитика уязвимостей и установите Стандартные правила > Управление обнаружением уязвимостей в значение Monitor.
- Добавьте новое правило мониторинга Kubernetes:
* Установите Управление сторонними уязвимостями в значение Do not monitor.
* Выберите Добавить новое условие и введите:
* Ключ метки Kubernetes: kubernetes.io/arch
* Сопоставитель: contains
* Значение метки Kubernetes: arm
- Проверьте предварительный просмотр.
- Сохраните правило.
Мониторинг всех процессов Java, кроме процесса демонстрационного приложения Java на хостах разработки
- В Ключ-АСТРОМ перейдите в Настройки > Анализ и оповещения > Application Security > Аналитика уязвимостей и установите Стандартные правила > Управление обнаружением уязвимостей в значение Do not monitor.
- Скопируйте полностью определённое имя (FQN) главного класса Java вашего демонстрационного приложения (например,
com.example.my.DemoMain). - Найдите хост разработки, на котором вы не хотите отслеживать процесс демонстрационного приложения.
- Скопируйте имя хоста из обзора.
- Добавьте новое правило мониторинга атрибутов ресурсов, чтобы исключить процесс демонстрационного приложения на хосте разработки:
* Установите Управление сторонними уязвимостями в значение Do not monitor.
* Чтобы создать условие, соответствующее хосту разработки, выберите Добавить новое условие и введите:
* Ключ атрибута ресурса: host.name
* Сопоставитель: equals
* Значение атрибута ресурса: имя хоста из шага 4.
* Чтобы создать условие, соответствующее процессу демонстрационного приложения, выберите Добавить новое условие и введите:
* Ключ атрибута ресурса: java.main.class
* Сопоставитель: equals
* Значение атрибута ресурса: главный класс из шага 2.
- Проверьте предварительный просмотр.
- Сохраните правило.
- Добавьте новое правило мониторинга атрибутов ресурсов, чтобы отслеживать все оставшиеся процессы Java:
* Установите Управление сторонними уязвимостями в значение Monitor.
* Чтобы создать условие, соответствующее технологии, выберите Добавить новое условие и введите:
* Ключ атрибута ресурса: java.main.class
* Сопоставитель: exists
- Проверьте предварительный просмотр.
- Сохраните правило.
Порядок правил мониторинга важен: как только правило соответствует сущности, эта сущность не будет рассматриваться последующими правилами. Следовательно, конкретные правила должны идти перед общими правилами.
Часто задаваемые вопросы
Влияет ли порядок правил? Порядок правил мониторинга важен: как только правило соответствует сущности, эта сущность не будет рассматриваться последующими правилами. Следовательно, конкретные правила должны идти перед общими правилами.
Можно ли автоматически перенести существующие классические правила мониторинга в новые? Автоматический перенос с классических на новые правила мониторинга невозможен. Вам нужно либо воссоздать правила, либо создать новые правила с нуля.
Требуется ли перезапуск процесса после включения или отключения правила мониторинга? Классические правила мониторинга Перезапуск не требуется.
Что произойдёт, если будет добавлено применяющееся правило «Do not monitor»? Новые правила мониторинга | Классические правила мониторинга
- Новые уязвимости для процессов, соответствующих правилу, создаваться не будут.
- Существующие уязвимости, которые относятся только к соответствующим процессам, будут разрешены.
Что произойдёт, если правило «Do not monitor» удалено или больше не применяется? Новые правила мониторинга | Классические правила мониторинга
- Новые уязвимости для процессов, соответствующих правилу, будут созданы.
- Связанные разрешённые уязвимости будут открыты заново.