События Kubeaudit в расширенной охоте
События Kubernetes Kubeaudit (и аудит облака Azure Resource Manager) доступны в расширенной охоте на портале Microsoft Defender.
Вы можете проанализировать инциденты, которые произошли в области атак на уровне управления Kubernetes и Azure Resource Management. Вы также можете заранее охотиться на угрозы с помощью расширенной охоты.
Кроме того, можно создавать пользовательские обнаружения для подозрительных действий уровня управления Resource Manager и Kubernetes (KubeAudit).
Эта функция охватывает следующее:
События Kubernetes KubeAudit из Azure (Служба Azure Kubernetes), Amazon Web Services (Служба Amazon Elastic Kubernetes), Google Cloud Platform (Google Kubernetes Engine) и локальной среды
События плоскости управления Resource Manager
Чтобы начать, ознакомьтесь с новой таблицей, которая была добавлена на вкладку "Схема" в расширенной охоте с именем CloudAuditEvents.
Распространенные варианты использования и сценарии
- Изучение подозрительных действий уровня управления Resource Manager и Kubernetes (Kubeaudit) в расширенной охоте на XDR
- Создание настраиваемых обнаружений для подозрительных действий уровня управления Resource Manager и Kubernetes (Kubeaudit)
Необходимые компоненты
- Для событий Kubernetes: требуется по крайней мере одна подписка с включенным планом Defender для контейнеров
- Для событий Azure Resource Manager требуется по крайней мере одна подписка с включенным планом Defender для Azure Resource Manager
Примеры запросов
Чтобы развернуть привилегированный модуль pod, используйте следующий пример запроса:
CloudAuditEvents
| where Timestamp > ago(1d)
| where DataSource == "Azure Kubernetes Service"
| where OperationName == "create"
| where RawEventData.ObjectRef.resource == "pods" and isnull(RawEventData.ObjectRef.subresource)
| where RawEventData.ResponseStatus.code startswith "20"
| extend PodName = RawEventData.RequestObject.metadata.name
| extend PodNamespace = RawEventData.ObjectRef.namespace
| mv-expand Container = RawEventData.RequestObject.spec.containers
| extend ContainerName = Container.name
| where Container.securityContext.privileged == "true"
| extend Username = RawEventData.User.username
| project Timestamp, AzureResourceId , OperationName, IPAddress, UserAgent, PodName, PodNamespace, ContainerName, Username
Чтобы открыть команду exec в пространстве имен kube-system , используйте следующий пример запроса:
CloudAuditEvents
| where Timestamp > ago(1d)
| where DataSource == "Azure Kubernetes Service"
| where OperationName == "create"
| where RawEventData.ObjectRef.resource == "pods" and RawEventData.ResponseStatus.code == 101
| where RawEventData.ObjectRef.namespace == "kube-system"
| where RawEventData.ObjectRef.subresource == "exec"
| where RawEventData.ResponseStatus.code == 101
| extend RequestURI = tostring(RawEventData.RequestURI)
| extend PodName = tostring(RawEventData.ObjectRef.name)
| extend PodNamespace = tostring(RawEventData.ObjectRef.namespace)
| extend Username = tostring(RawEventData.User.username)
| where PodName !startswith "tunnelfront-" and PodName !startswith "konnectivity-" and PodName !startswith "aks-link"
| extend Commands = extract_all(@"command=([^\&]*)", RequestURI)
| extend ParsedCommand = url_decode(strcat_array(Commands, " "))
| project Timestamp, AzureResourceId , OperationName, IPAddress, UserAgent, PodName, PodNamespace, Username, ParsedCommand
Чтобы определить создание привязки роли администратора кластера, используйте следующий пример запроса:
CloudAuditEvents
| where Timestamp > ago(1d)
| where OperationName == "create"
| where RawEventData.ObjectRef.resource == "clusterrolebindings"
| where RawEventData.ResponseStatus.code startswith "20"
| where RawEventData.RequestObject.roleRef.name == "cluster-admin"
| mv-expand Subject = RawEventData.RequestObject.subjects
| extend SubjectName = tostring(Subject.name)
| extend SubjectKind = tostring(Subject["kind"])
| extend BindingName = tostring(RawEventData.ObjectRef.name)
| extend ActionTakenBy = tostring(RawEventData.User.username)
| where ActionTakenBy != "acsService" //Remove FP
| project Timestamp, AzureResourceId , OperationName, ActionTakenBy, IPAddress, UserAgent, BindingName, SubjectName, SubjectKind
Связанный контент
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по