Filtrado de resultados en GuardDuty - Amazon GuardDuty

Filtrado de resultados en GuardDuty

Un filtro de resultado le permite ver los resultados que coinciden con los criterios que especifique y filtrar los resultados que no coincidan. Puede crear fácilmente filtros de resultados con la consola de Amazon GuardDuty o puede crearlos con la API CreateFilter mediante JSON. Consulte las siguientes secciones para entender cómo crear un filtro en la consola. Para utilizar estos filtros con el objetivo de archivar automáticamente los resultados entrantes, consulte Reglas de supresión en GuardDuty.

Cuando cree filtros, tenga en cuenta la siguiente lista:

  • GuardDuty no admite comodines como criterios de filtrado.

  • Puede especificar un mínimo de un atributo y un máximo de 50 atributos como criterios para un determinado filtro.

  • Cuando se utiliza el operador igual que o no es igual que para filtrar por un valor de atributo, como ID de cuenta, se puede especificar un máximo de 50 valores.

  • Cada atributo de los criterios de filtro se evalúa como un operador AND. Se evalúan varios valores para el mismo atributo como AND/OR.

  • Para obtener más información acerca del número máximo de índices que puede crear en una Cuenta de AWS en cada Región de AWS, consulte Cuotas de GuardDuty.

En las siguientes secciones se proporcionan instrucciones sobre cómo crear y guardar filtros mediante la consola GuardDuty y los comandos de API y CLI. Elija su método de acceso preferido para continuar.

Creación y guardado de conjunto de filtros en la consola de GuardDuty

Los filtros de resultados se pueden crear y probar a través de la consola de GuardDuty. Puede guardar los filtros creados a través de la consola para utilizarlos en reglas de supresión o futuras operaciones de filtro. Un filtro se compone de al menos un criterio de filtro, que consiste en un atributo de filtro emparejado con al menos un valor.

Para crear y guardar criterios de filtro (consola)
  1. Inicie sesión en la Consola de administración de AWS y abra la consola de GuardDuty en https://console.aws.amazon.com/guardduty/.

  2. En el panel de navegación izquierdo, elija Resultados.

  3. En la página Resultados, seleccione la barra Filtrar resultados situada junto al menú Reglas guardadas. Aparecerá una lista ampliada de filtros de propiedades.

    Seleccionar filtros de propiedades para filtrar los resultados en la consola de GuardDuty.
  4. En la lista ampliada de filtros, seleccione un atributo en función del cual desee filtrar la tabla de resultados.

    Por ejemplo, para ver los resultados en los que el recurso potencialmente afectado es un S3Bucket, elija el tipo de recurso.

  5. En el caso de los operadores, elija uno que ayude a filtrar los resultados para obtener el resultado deseado. Para continuar con el ejemplo del paso anterior, elija Tipo de recurso =. Esto mostrará una lista de tipos de recursos en GuardDuty.

    Seleccione el operador igual que o no es igual que para filtrar los resultados en la consola GuardDuty.

    Si su caso de uso requiere excluir resultados específicos, puede elegir el operador no es igual que o !=.

  6. Especifique el valor del filtro de propiedades seleccionado. Si es necesario, seleccione Aplicar. Para continuar con el ejemplo del paso anterior, puede elegir S3Bucket.

    Esto mostrará los resultados que coinciden con los filtros aplicados.

  7. Para agregar más de un criterio de filtro, repita los pasos del 3 al 6.

    Para obtener una lista completa de los atributos, consulte Filtros de propiedades en GuardDuty.

  8. (Opcional) Guardar los atributos y valores especificados como filtros

    Para volver a aplicar esta combinación de filtros en el futuro, puede guardar los atributos especificados y sus valores como un conjunto de filtros.

    1. Tras crear un criterio de filtro con uno o más filtros de propiedades, seleccione la flecha en el menú Borrar filtros.

      Guardar un conjunto de filtros en la consola GuardDuty para poder volver a filtrar los resultados.
    2. Introduzca el nombre del conjunto de filtros. El nombre debe tener entre 3 y 64 caracteres. Los caracteres válidos son a-z, A-Z, 0-9, punto (.), (guion) (-) y (guion bajo).

    3. La descripción es opcional. Si introduce una descripción, puede tener 512 caracteres como máximo.

    4. Seleccione Crear.

Crear y guardar un conjunto de filtros mediante la API y la CLI de GuardDuty

Puede crear y probar los filtros de resultados mediante comandos de API o CLI. Un filtro se compone de al menos un criterio de filtro, que consiste en un atributo de filtro emparejado con al menos un valor. Puede guardar los filtros para crear Reglas de supresión o realizar otras operaciones de filtrado más adelante.

Para crear filtros de resultados mediante API/CLI
  • Ejecute la API de CreateFilter con el ID de detector regional de la Cuenta de AWS donde desea crear un filtro.

    Para encontrar el detectorId correspondiente a la cuenta y la región actual, consulte la página de Configuración en la consola https://console.aws.amazon.com/guardduty/ o ejecute la API ListDetectors.

  • Como alternativa, puede usar la CLI create-filter para crear y guardar el filtro. Puede utilizar uno o más criterios de filtrado de Filtros de propiedades en GuardDuty.

    Utilice los siguientes ejemplos al sustituir los valores de los marcadores de posición que se muestran en rojo.

    Ejemplo 1: Cree un filtro nuevo para ver todos los resultados que coincidan con un tipo de resultado específico

    En el siguiente ejemplo se crea un filtro que coincide con todos los resultados de PortScan para una instancia creada a partir de una imagen específica. Los valores de los marcadores de posición se muestran en rojo. Sustituya estos valores por valores adecuados para su cuenta. Por ejemplo, sustituya 12abc34d567e8fa901bc2d34EXAMPLE por su propio ID de detector regional.

    aws guardduty create-filter \ --detector-id 12abc34d567e8fa901bc2d34EXAMPLE \ --name FilterExampleName \ --finding-criteria '{"Criterion": {"type": {"Equals": ["Recon:EC2/Portscan"]}, "resource.instanceDetails.imageId": {"Equals":["ami-0a7a207083example"]}} }'
    Ejemplo 2: cree un filtro nuevo para ver todos los resultados que coincidan con los niveles de gravedad

    En el siguiente ejemplo, se crea un filtro que coincide con todos los resultados asociados a los niveles de gravedad HIGH. Los valores de los marcadores de posición se muestran en rojo. Sustituya estos valores por valores adecuados para su cuenta. Por ejemplo, sustituya 12abc34d567e8fa901bc2d34EXAMPLE por su propio ID de detector regional.

    aws guardduty create-filter \ --detector-id 12abc34d567e8fa901bc2d34EXAMPLE \ --name FilterExampleName \ --finding-criteria '{"Criterion": {"severity": {"Equals": ["7", "8"]}} }'
  • Para API/CLI, Niveles de gravedad de los resultados se representan como números. Para filtrar los resultados en función de los niveles de gravedad, utilice los siguientes valores:

    • Para los niveles de gravedad LOW, utilice { "severity": { "Equals": ["1", "2", "3"] } }

    • Para los niveles de gravedad MEDIUM, utilice { "severity": { "Equals": ["4", "5", "6"] } }

    • Para los niveles de gravedad HIGH, utilice { "severity": { "Equals": ["7", "8"] } }

    • Para los niveles de gravedad CRITICAL, utilice { "severity": { "Equals": ["9", "10"] } }

    • Para resultados con varios niveles de gravedad, utilice valores de marcador de posición similares a los del siguiente ejemplo: { "severity": { "Equals": ["7", "8", "9", "10"] } }

      En este ejemplo, se mostrarán los resultados que tienen niveles de gravedad HIGH o CRITICAL.

      nota

      Si se especifica un ejemplo con un solo valor numérico en lugar de todos los valores numéricos asociados a un nivel de gravedad, es posible que la API y la CLI muestren los resultados filtrados. Cuando utilice este conjunto de filtros guardado en la consola de GuardDuty, no funcionará como se esperaba. Esto se debe a que la consola GuardDuty considera los valores del filtro como CRITICAL, HIGH, MEDIUM y LOW. Por ejemplo, se espera que un filtro creado con un comando CLI que incluye { "severity": { "Equals": ["9"] } } muestre un resultado adecuado en API/CLI. Sin embargo, este filtro guardado incluye un nivel de gravedad parcial cuando se usa en la consola GuardDuty y no mostrará el resultado esperado. Esto hace que sea necesario que la API y la CLI especifiquen todos los valores asociados a cada nivel de gravedad.

Filtros de propiedades en GuardDuty

Al crear filtros u ordenar los resultados mediante las operaciones de la API, debe especificar los criterios de filtro en JSON. Estos criterios de filtro se correlacionan con el JSON de los detalles de un resultado. La siguiente tabla contiene una lista de los nombres que se muestran en la consola para los atributos del filtro y sus nombres de campo JSON equivalentes.

Nombre de campo de la consola

Nombre del campo JSON

ID de cuenta

accountId

ID del resultado

id

Región

region

Gravedad

severity

Puede filtrar los tipos de resultados en función de sus niveles de gravedad. Para obtener más información sobre los valores de gravedad, consulte Niveles de gravedad de los resultados de GuardDuty. Si utiliza severity con la API, AWS CLI o CloudFormation, se asigna un valor numérico. Para obtener más información, consulte findingCriteria en la Referencia de la API de Amazon GuardDuty.

Tipo de resultado

tipo

Actualizado a las

updatedAt

ID de clave de acceso

resource.accessKeyDetails.accessKeyId

ID principal

resource.accessKeyDetails.principalId

Nombre de usuario

resource.accessKeyDetails.userName

Tipo de usuario

resource.accessKeyDetails.userType

ID del perfil de instancia de IAM

resource.instanceDetails.iamInstanceProfile.id

ID de instancia

resource.instanceDetails.instanceId

ID de imagen de la instancia

resource.instanceDetails.imageId

Clave de etiqueta de instancia

resource.instanceDetails.tags.key

Valor de etiqueta de instancia

resource.instanceDetails.tags.value

Dirección IPv6

resource.instanceDetails.networkInterfaces.ipv6Addresses

Dirección IPv4 privada

resource.instanceDetails.networkInterfaces.privateIpAddresses.privateIpAddress

Nombre DNS público

resource.instanceDetails.networkInterfaces.publicDnsName

IP pública

resource.instanceDetails.networkInterfaces.publicIp

ID de grupo de seguridad

resource.instanceDetails.networkInterfaces.securityGroups.groupId

Nombre del grupo de seguridad

resource.instanceDetails.networkInterfaces.securityGroups.groupName

ID de subred

resource.instanceDetails.networkInterfaces.subnetId

ID de VPC

resource.instanceDetails.networkInterfaces.vpcId

ARN de Outpost

resource.instanceDetails.outpostARN

Tipo de recurso

resource.resourceType

Permisos de bucket

resource.s3BucketDetails.publicAccess.effectivePermission

Nombre del bucket

resource.s3BucketDetails.name

Clave de la etiqueta del bucket

resource.s3BucketDetails.tags.key

valor de la etiqueta del bucket

resource.s3BucketDetails.tags.value

Tipo de bucket

resource.s3BucketDetails.type

Tipo de acción

service.action.actionType

API llamada

service.action.awsApiCallAction.api

Tipo de intermediario de la API

service.action.awsApiCallAction.callerType

Código de error de la API

service.action.awsApiCallAction.errorCode

Ciudad del intermediario de la API

service.action.awsApiCallAction.remoteIpDetails.city.cityName

País del intermediario de la API

service.action.awsApiCallAction.remoteIpDetails.country.countryName

Dirección IPv4 del intermediario de la API

service.action.awsApiCallAction.remoteIpDetails.ipAddressV4

Dirección IPv6 de quien realiza la llamada a la API

service.action.awsApiCallAction.remoteIpDetails.ipAddressV6

ID de ASN del intermediario de la API

service.action.awsApiCallAction.remoteIpDetails.organization.asn

Nombre ASN del intermediario de la API

service.action.awsApiCallAction.remoteIpDetails.organization.asnOrg

Nombre del servicio del intermediario de la API

service.action.awsApiCallAction.serviceName

Dominio de la solicitud DNS

service.action.dnsRequestAction.domain

Sufijo de dominio de solicitud de DNS

service.action.dnsRequestAction.domainWithSuffix

Conexión de red bloqueada

service.action.networkConnectionAction.blocked

Dirección de la conexión de red

service.action.networkConnectionAction.connectionDirection

Puerto local de la conexión de red

service.action.networkConnectionAction.localPortDetails.port

Protocolo de conexión de red

service.action.networkConnectionAction.protocol

Ciudad de la conexión de red

service.action.networkConnectionAction.remoteIpDetails.city.cityName

País de la conexión de red

service.action.networkConnectionAction.remoteIpDetails.country.countryName

Dirección IPv4 remota de la conexión de red

service.action.networkConnectionAction.remoteIpDetails.ipAddressV4

Dirección IPv6 remota de la conexión de red

service.action.networkConnectionAction.remoteIpDetails.ipAddressV6

ID de ASN de la IP remota de la conexión de red

service.action.networkConnectionAction.remoteIpDetails.organization.asn

Nombre ASN de la IP remota de la conexión de red

service.action.networkConnectionAction.remoteIpDetails.organization.asnOrg

Puerto remoto de la conexión de red

service.action.networkConnectionAction.remotePortDetails.port

Cuenta remota afiliada

service.action.awsApiCallAction.remoteAccountDetails.affiliated

Dirección IPv4 de la persona que llama a la API de Kubernetes

service.action.kubernetesApiCallAction.remoteIpDetails.ipAddressV4

Dirección IPv6 de quien realiza la llamada a la API de Kubernetes

service.action.kubernetesApiCallAction.remoteIpDetails.ipAddressV6

Espacio de nombres de Kubernetes

service.action.kubernetesApiCallAction.namespace

ID de ASN de quien realiza la llamada a la API de Kubernetes

service.action.kubernetesApiCallAction.remoteIpDetails.organization.asn

URI de solicitud de llamada a la API de Kubernetes

service.action.kubernetesApiCallAction.requestUri

Código de estado de la API de Kubernetes

service.action.kubernetesApiCallAction.statusCode

Dirección IPv4 local de conexión de red

service.action.networkConnectionAction.localIpDetails.ipAddressV4

Dirección IPv6 local de la conexión de red

service.action.networkConnectionAction.localIpDetails.ipAddressV6

Protocolo

service.action.networkConnectionAction.protocol

Nombre del servicio de llamada a la API

service.action.awsApiCallAction.serviceName

ID de cuenta de la persona que llama a la API

service.action.awsApiCallAction.remoteAccountDetails.accountId

Nombre de la lista de amenazas

service.additionalInfo.threatListName

Rol de recurso

service.resourceRole

Nombre del clúster de EKS

resource.eksClusterDetails.name

Nombre de la carga de trabajo de Kubernetes

resource.kubernetesDetails.kubernetesWorkloadDetails.name

Nombre de espacio de la carga de trabajo de Kubernetes

resource.kubernetesDetails.kubernetesWorkloadDetails.namespace

Nombre de usuario de Kubernetes

resource.kubernetesDetails.kubernetesUserDetails.username

Imagen del contenedor de Kubernetes

resource.kubernetesDetails.kubernetesWorkloadDetails.containers.image

Prefijo de la imagen del contenedor de Kubernetes

resource.kubernetesDetails.kubernetesWorkloadDetails.containers.imagePrefix

ID de análisis

service.ebsVolumeScanDetails.scanId

Nombre de la amenaza de análisis de volúmenes de EBS

service.ebsVolumeScanDetails.scanDetections.threatDetectedByName.threatNames.name

Nombre de la amenaza de análisis de objetos de S3

service.malwareScanDetails.threats.name

Gravedad de la amenaza

service.ebsVolumeScanDetails.scanDetections.threatDetectedByName.threatNames.severity

SHA de archivo

service.ebsVolumeScanDetails.scanDetections.threatDetectedByName.threatNames.filePaths.hash

Nombre del clúster de ECS

resource.ecsClusterDetails.name

Imagen del contenedor de ECS

resource.ecsClusterDetails.taskDetails.containers.image

ARN de definición de tarea de ECS

resource.ecsClusterDetails.taskDetails.definitionArn

Imagen de contenedor independiente

resource.containerDetails.image

ID de instancia de base de datos

resource.rdsDbInstanceDetails.dbInstanceIdentifier

ID de clúster de base de datos

resource.rdsDbInstanceDetails.dbClusterIdentifier

Motor de base de datos

resource.rdsDbInstanceDetails.engine

Usuario de base de datos

resource.rdsDbUserDetails.user

Clave de etiqueta de instancia de base de datos

resource.rdsDbInstanceDetails.tags.key

Valor de etiqueta de instancia de base de datos

resource.rdsDbInstanceDetails.tags.value

SHA-256 ejecutable

service.runtimeDetails.process.executableSha256

Process name

service.runtimeDetails.process.name

Ruta de ejecución

service.runtimeDetails.process.executablePath

Nombre de la función Lambda

resource.lambdaDetails.functionName

ARN de la función Lambda

resource.lambdaDetails.functionArn

Clave de etiqueta de la función de Lambda

resource.lambdaDetails.tags.key

Valor de etiqueta de la función de Lambda

resource.lambdaDetails.tags.value

Dominio de la solicitud DNS

service.action.dnsRequestAction.domainWithSuffix