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 comoAND/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)
Inicie sesión en la Consola de administración de AWS y abra la consola de GuardDuty en https://console.aws.amazon.com/guardduty/
. -
En el panel de navegación izquierdo, elija Resultados.
-
En la página Resultados, seleccione la barra Filtrar resultados situada junto al menú Reglas guardadas. Aparecerá una lista ampliada de filtros de propiedades.
-
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.
-
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.
Si su caso de uso requiere excluir resultados específicos, puede elegir el operador no es igual que o !=.
-
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.
-
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.
-
(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.
-
Tras crear un criterio de filtro con uno o más filtros de propiedades, seleccione la flecha en el menú Borrar filtros.
-
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).
-
La descripción es opcional. Si introduce una descripción, puede tener 512 caracteres como máximo.
-
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
detectorIdcorrespondiente 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
PortScanpara 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, sustituya12abc34d567e8fa901bc2d34EXAMPLEpor su propio ID de detector regional.aws guardduty create-filter \ --detector-id12abc34d567e8fa901bc2d34EXAMPLE\ --nameFilterExampleName\ --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, sustituya12abc34d567e8fa901bc2d34EXAMPLEpor su propio ID de detector regional.aws guardduty create-filter \ --detector-id12abc34d567e8fa901bc2d34EXAMPLE\ --nameFilterExampleName\ --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
HIGHoCRITICAL.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,MEDIUMyLOW. 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 |
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 |