Ejemplos de GuardDuty que utilizan la AWS CLI - AWS Command Line Interface

Esta documentación es para la versión 1 de AWS CLI. Para obtener documentación relacionada con la versión 2 de AWS CLI, consulte la Guía del usuario de la versión 2.

Ejemplos de GuardDuty que utilizan la AWS CLI

En los siguientes ejemplos de código, se muestra cómo realizar acciones e implementar escenarios habituales mediante AWS Command Line Interface con GuardDuty.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

Acciones

En el siguiente ejemplo de código, se muestra cómo utilizar accept-invitation.

AWS CLI

Para aceptar una invitación para convertirse en una cuenta de miembro de GuardDuty en la región actual

En el siguiente ejemplo de accept-invitation, se muestra cómo aceptar una invitación para convertirse en una cuenta de miembro de GuardDuty en la región actual.

aws guardduty accept-invitation \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --master-id 123456789111 \ --invitation-id d6b94fb03a66ff665f7db8764example

Este comando no genera ninguna salida.

Para obtener más información, consulte Managing GuardDuty accounts by invitation en la Guía del usuario de GuardDuty.

  • Para obtener detalles sobre la API, consulte AcceptInvitation en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar archive-findings.

AWS CLI

Para archivar los resultados de la región actual

En este ejemplo de archive-findings, se muestra cómo archivar los resultados en la región actual.

aws guardduty archive-findings \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --finding-ids d6b94fb03a66ff665f7db8764example 3eb970e0de00c16ec14e6910fexample

Este comando no genera ninguna salida.

Para obtener más información, consulte Creación de reglas de supresión en la Guía del usuario de GuardDuty.

  • Para obtener información sobre la API, consulte ArchiveFindings en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar create-detector.

AWS CLI

Para habilitar GuardDuty en la región actual

En este ejemplo, se muestra cómo crear un detector, que habilita GuardDuty, en la región actual:

aws guardduty create-detector \ --enable

Salida:

{ "DetectorId": "b6b992d6d2f48e64bc59180bfexample" }

Para obtener más información, consulte Enable Amazon GuardDuty en la Guía del usuario de GuardDuty.

  • Para obtener información sobre la API, consulte CreateDetector en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar create-filter.

AWS CLI

Ejemplo 1: creación de un filtro nuevo en la región actual

En este ejemplo de create-filter, se crea un filtro que coincide con todos los resultados de la exploración de puertos, por ejemplo, los creados a partir de una imagen específica. Esto no suprime esos resultados.

aws guardduty create-filter \ --detector-id b6b992d6d2f48e64bc59180bfexample \ --name myFilterExample \ --finding-criteria '{"Criterion": {"type": {"Eq": ["Recon:EC2/Portscan"]},"resource.instanceDetails.imageId": {"Eq": ["ami-0a7a207083example"]}}}'

Salida:

{ "Name": "myFilterExample" }

Para obtener más información, consulte Filtrado de resultados de GuardDuty en la Guía del usuario de GuardDuty.

Ejemplo 2: creación de un filtro nuevo y supresión de resultados en la región actual

En este ejemplo de create-filter, se crea un filtro que coincide con todos los resultados de la exploración de puertos, por ejemplo, los creados a partir de una imagen específica. Este filtro archiva esos resultados para que no aparezcan en los resultados actuales.

aws guardduty create-filter \ --detector-id b6b992d6d2f48e64bc59180bfexample \ --action ARCHIVE \ --name myFilterSecondExample \ --finding-criteria '{"Criterion": {"type": {"Eq": ["Recon:EC2/Portscan"]},"resource.instanceDetails.imageId": {"Eq": ["ami-0a7a207083example"]}}}'

Salida:

{ "Name": "myFilterSecondExample" }

Para obtener más información, consulte Filtrado de resultados de GuardDuty en la Guía del usuario de GuardDuty.

  • Para obtener información sobre la API, consulte CreateFilter en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar create-ip-set.

AWS CLI

Creación y activación de un conjunto de IP de confianza

En el siguiente ejemplo de create-ip-set, se crea y activa un conjunto de IP de confianza en la región actual.

aws guardduty create-ip-set \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --name new-ip-set-example \ --format TXT \ --location s3://amzn-s3-demo-bucket/customtrustlist.csv \ --activate

Salida:

{ "IpSetId": "d4b94fc952d6912b8f3060768example" }

Para obtener más información, consulte Working with Trusted IP Lists and Threat Lists en la Guía del usuario de GuardDuty.

  • Para obtener información sobre la API, consulte CreateIpSet en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar create-members.

AWS CLI

Para asociar un nuevo miembro a su cuenta maestra de GuardDuty en la región actual.

En este ejemplo, se muestra cómo asociar las cuentas de los miembros para que las administre la cuenta actual como la maestra de GuardDuty.

aws guardduty create-members --detector-id b6b992d6d2f48e64bc59180bfexample \ --account-details AccountId=111122223333,Email=first+member@example.com AccountId=111111111111 ,Email=another+member@example.com

Salida:

{ "UnprocessedAccounts": [] }

Para obtener más información, consulte Managing multiple accounts en la Guía del usuario de GuardDuty.

  • Para obtener detalles sobre la API, consulte CreateMembers en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar create-publishing-destination.

AWS CLI

Para crear un destino de publicación al que exportar los resultados de GuardDuty en la región actual.

En el siguiente ejemplo de create-publishing-destination, se muestra cómo configurar un destino de publicación para exportar los resultados actuales (no archivados) de GuardDuty a fin de realizar un seguimiento de los datos de resultados históricos.

aws guardduty create-publishing-destination \ --detector-id b6b992d6d2f48e64bc59180bfexample \ --destination-type S3 \ --destination-properties 'DestinationArn=arn:aws:s3:::amzn-s3-demo-bucket,KmsKeyArn=arn:aws:kms:us-west-1:111122223333:key/84cee9c5-dea1-401a-ab6d-e1de7example'

Salida:

{ "DestinationId": "46b99823849e1bbc242dfbe3cexample" }

Para obtener más información, consulte Exportación de los resultados de GuardDuty generados a buckets de Amazon S3 en la Guía del usuario de GuardDuty.

En el siguiente ejemplo de código, se muestra cómo utilizar create-sample-findings.

AWS CLI

Para crear resultados de GuardDuty de ejemplo en la región actual.

En este ejemplo, se muestra cómo crear un resultado de ejemplo de los tipos proporcionados.

aws guardduty create-sample-findings \ --detector-id b6b992d6d2f48e64bc59180bfexample \ --finding-types UnauthorizedAccess:EC2/TorClient UnauthorizedAccess:EC2/TorRelay

Este comando no genera ninguna salida.

Para obtener más información, consulte Sample findings en la Guía del usuario de GuardDuty.

  • Para obtener información sobre la API, consulte CreateSampleFindings en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar create-threat-intel-set.

AWS CLI

Creación y activación de un nuevo conjunto de información sobre amenazas

En el siguiente ejemplo de create-threat-intel-set, se crea y activa un conjunto de información sobre amenazas en la región actual.

aws guardduty create-threat-intel-set \ --detector-id b6b992d6d2f48e64bc59180bfexample \ --name myThreatSet-example \ --format TXT \ --location s3://amzn-s3-demo-bucket/threatlist.csv \ --activate

Salida:

{ "ThreatIntelSetId": "20b9a4691aeb33506b808878cexample" }

Para obtener más información, consulte Working with Trusted IP Lists and Threat Lists en la Guía del usuario de GuardDuty.

  • Para obtener información sobre la API, consulte CreateThreatIntelSet en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar decline-invitations.

AWS CLI

Para rechazar una invitación para que Guardduty administre otra cuenta de la región actual.

En este ejemplo, se muestra cómo rechazar una invitación a una suscripción.

aws guardduty decline-invitations \ --account-ids 111122223333

Salida:

{ "UnprocessedAccounts": [] }

Para obtener más información, consulte Managing GuardDuty accounts by invitation en la Guía del usuario de GuardDuty.

  • Para obtener información sobre la API, consulte DeclineInvitations en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-detector.

AWS CLI

Para eliminar un detector y deshabilitar GuardDuty en la región actual.

En este ejemplo, se muestra cómo eliminar un detector. Si se elimina correctamente, se deshabilitará GuardDuty en la región asociada a ese detector.

aws guardduty delete-detector \ --detector-id b6b992d6d2f48e64bc59180bfexample

Este comando no genera ninguna salida.

Para obtener más información, consulte Suspending or disabling GuardDuty en la Guía del usuario de GuardDuty.

  • Para obtener información sobre la API, consulte DeleteDetector en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar delete-filter.

AWS CLI

Para eliminar un filtro existente en la región actual

En este ejemplo, se muestra cómo crear y eliminar un filtro.

aws guardduty delete-filter \ --detector-id b6b992d6d2f48e64bc59180bfexample \ --filter-name byebyeFilter

Este comando no genera ninguna salida.

Para obtener más información, consulte Filtering findings en la Guía del usuario de GuardDuty.

  • Para obtener información sobre la API, consulte DeleteFilter en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar disable-organization-admin-account.

AWS CLI

Para eliminar una cuenta como administrador delegado de GuardDuty en su organización

En este ejemplo, se muestra cómo quitar una cuenta como administrador delegado para GuardDuty.

aws guardduty disable-organization-admin-account \ --admin-account-id 111122223333

Este comando no genera ninguna salida.

Para obtener más información, consulte Managing accounts with AWS organizations en la Guía del usuario de GuardDuty.

En el siguiente ejemplo de código, se muestra cómo utilizar disassociate-from-master-account.

AWS CLI

Desasociación de la cuenta de administrador actual en la región actual

En el siguiente ejemplo de disassociate-from-master-account, se desasocia la cuenta de la cuenta de administrador de GuardDuty actual en la región de AWS actual.

aws guardduty disassociate-from-master-account \ --detector-id d4b040365221be2b54a6264dcexample

Este comando no genera ninguna salida.

Para obtener más información, consulte Comprender la relación entre la cuenta de administrador de GuardDuty y las cuentas de miembro en la Guía del usuario de GuardDuty.

En el siguiente ejemplo de código, se muestra cómo utilizar get-detector.

AWS CLI

Para recuperar los detalles de un detector específico

En el siguiente ejemplo de get-detector, se muestran los detalles de configuración del detector especificado.

aws guardduty get-detector \ --detector-id 12abc34d567e8fa901bc2d34eexample

Salida:

{ "Status": "ENABLED", "ServiceRole": "arn:aws:iam::111122223333:role/aws-service-role/guardduty.amazonaws.com/AWSServiceRoleForAmazonGuardDuty", "Tags": {}, "FindingPublishingFrequency": "SIX_HOURS", "UpdatedAt": "2018-11-07T03:24:22.938Z", "CreatedAt": "2017-12-22T22:51:31.940Z" }

Para obtener más información, consulte Concepts and Terminology en la Guía del usuario de GuardDuty.

  • Para obtener información sobre la API, consulte GetDetector en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-findings.

AWS CLI

Ejemplo 1: recuperación de los detalles de un resultado específico

En el siguiente ejemplo de get-findings, se recuperan los detalles de resultados JSON completos del resultado especificado.

aws guardduty get-findings \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --finding-id 1ab92989eaf0e742df4a014d5example

Salida:

{ "Findings": [ { "Resource": { "ResourceType": "AccessKey", "AccessKeyDetails": { "UserName": "testuser", "UserType": "IAMUser", "PrincipalId": "AIDACKCEVSQ6C2EXAMPLE", "AccessKeyId": "ASIASZ4SI7REEEXAMPLE" } }, "Description": "APIs commonly used to discover the users, groups, policies and permissions in an account, was invoked by IAM principal testuser under unusual circumstances. Such activity is not typically seen from this principal.", "Service": { "Count": 5, "Archived": false, "ServiceName": "guardduty", "EventFirstSeen": "2020-05-26T22:02:24Z", "ResourceRole": "TARGET", "EventLastSeen": "2020-05-26T22:33:55Z", "DetectorId": "d4b040365221be2b54a6264dcexample", "Action": { "ActionType": "AWS_API_CALL", "AwsApiCallAction": { "RemoteIpDetails": { "GeoLocation": { "Lat": 51.5164, "Lon": -0.093 }, "City": { "CityName": "London" }, "IpAddressV4": "52.94.36.7", "Organization": { "Org": "Amazon.com", "Isp": "Amazon.com", "Asn": "16509", "AsnOrg": "AMAZON-02" }, "Country": { "CountryName": "United Kingdom" } }, "Api": "ListPolicyVersions", "ServiceName": "iam.amazonaws.com", "CallerType": "Remote IP" } } }, "Title": "Unusual user permission reconnaissance activity by testuser.", "Type": "Recon:IAMUser/UserPermissions", "Region": "us-east-1", "Partition": "aws", "Arn": "arn:aws:guardduty:us-east-1:111122223333:detector/d4b040365221be2b54a6264dcexample/finding/1ab92989eaf0e742df4a014d5example", "UpdatedAt": "2020-05-26T22:55:21.703Z", "SchemaVersion": "2.0", "Severity": 5, "Id": "1ab92989eaf0e742df4a014d5example", "CreatedAt": "2020-05-26T22:21:48.385Z", "AccountId": "111122223333" } ] }

Para obtener más información, consulte Findings en la Guía del usuario de GuardDuty.

  • Para obtener información sobre la API, consulte GetFindings en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-ip-set.

AWS CLI

Para enumerar los detalles de un conjunto de IP de confianza especificado

En el siguiente ejemplo de get-ip-set, se muestran el estado y los detalles del conjunto de direcciones IP de confianza especificado.

aws guardduty get-ip-set \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --ip-set-id d4b94fc952d6912b8f3060768example

Salida:

{ "Status": "ACTIVE", "Location": "s3://amzn-s3-demo-bucket.s3-us-west-2.amazonaws.com/customlist.csv", "Tags": {}, "Format": "TXT", "Name": "test-ip-set-example" }

Para obtener más información, consulte Working with Trusted IP Lists and Threat Lists en la Guía del usuario de GuardDuty.

  • Para obtener información sobre la API, consulte GetIpSet en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar get-master-account.

AWS CLI

Para recuperar detalles sobre su cuenta maestra en la región actual

En el siguiente ejemplo de get-master-account, se muestran el estado y los detalles de la cuenta maestra asociada a su detector en la región actual.

aws guardduty get-master-account \ --detector-id 12abc34d567e8fa901bc2d34eexample

Salida:

{ "Master": { "InvitationId": "04b94d9704854a73f94e061e8example", "InvitedAt": "2020-06-09T22:23:04.970Z", "RelationshipStatus": "Enabled", "AccountId": "111122223333" } }

Para obtener más información, consulte Comprender la relación entre la cuenta de administrador de GuardDuty y la cuenta de miembro en la Guía del usuario de GuardDuty.

  • Para obtener información sobre la API, consulte GetMasterAccount en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar list-detectors.

AWS CLI

Para enumerar los detectores disponibles en la región actual

En el siguiente ejemplo de list-detectors, se enumeran los detectores disponibles en la región de AWS actual.

aws guardduty list-detectors

Salida:

{ "DetectorIds": [ "12abc34d567e8fa901bc2d34eexample" ] }

Para obtener más información, consulte Concepts and Terminology en la Guía del usuario de GuardDuty.

  • Para obtener más información sobre la API, consulte ListDetectors en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar list-findings.

AWS CLI

Ejemplo 1: enumeración de todos los resultados de la región actual

En el siguiente ejemplo de list-findings, se muestra una lista de todos los findingIds para la región actual ordenados por gravedad, de la mayor a la menor.

aws guardduty list-findings \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --sort-criteria '{"AttributeName": "severity","OrderBy":"DESC"}'

Salida:

{ "FindingIds": [ "04b8ab50fd29c64fc771b232dexample", "5ab8ab50fd21373735c826d3aexample", "90b93de7aba69107f05bbe60bexample", ... ] }

Para obtener más información, consulte Findings en la Guía del usuario de GuardDuty.

Ejemplo 2: enumeración de los resultados de la región actual que coinciden con un criterio de resultado específico

En el siguiente ejemplo de list-findings, se muestra una lista de todos los findingIds que coinciden con un tipo de resultado especificado.

aws guardduty list-findings \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --finding-criteria '{"Criterion":{"type": {"Eq":["UnauthorizedAccess:EC2/SSHBruteForce"]}}}'

Salida:

{ "FindingIds": [ "90b93de7aba69107f05bbe60bexample", "6eb9430d7023d30774d6f05e3example", "2eb91a2d060ac9a21963a5848example", "44b8ab50fd2b0039a9e48f570example", "9eb8ab4cd2b7e5b66ba4f5e96example", "e0b8ab3a38e9b0312cc390ceeexample" ] }

Para obtener más información, consulte Findings en la Guía del usuario de GuardDuty.

Ejemplo 3: enumeración de los resultados de la región actual que coinciden con un conjunto específico de criterios de resultados definidos en un archivo JSON

En el siguiente ejemplo de list-findings, se muestra una lista de todos los findingIds que no están archivados e incluyen al usuario de IAM llamado testuser, tal y como se especifica en un archivo JSON.

aws guardduty list-findings \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --finding-criteria file://myfile.json

Contenido de myfile.json:

{"Criterion": { "resource.accessKeyDetails.userName":{ "Eq":[ "testuser" ] }, "service.archived": { "Eq": [ "false" ] } } }

Salida:

{ "FindingIds": [ "1ab92989eaf0e742df4a014d5example" ] }

Para obtener más información, consulte Findings en la Guía del usuario de GuardDuty.

  • Para obtener información sobre la API, consulte ListFindings en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar list-invitations.

AWS CLI

Para enumerar los detalles de sus invitaciones para convertirse en una cuenta de miembro en la región actual

En el siguiente ejemplo de list-invitations se enumeran los detalles y estados de sus invitaciones para convertirse en una cuenta de miembro de GuardDuty en la región actual.

aws guardduty list-invitations

Salida:

{ "Invitations": [ { "InvitationId": "d6b94fb03a66ff665f7db8764example", "InvitedAt": "2020-06-10T17:56:38.221Z", "RelationshipStatus": "Invited", "AccountId": "123456789111" } ] }

Para obtener más información, consulte Managing GuardDuty Accounts by Invitation en la Guía del usuario de GuardDuty.

  • Para obtener detalles sobre la API, consulte ListInvitations en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar list-ip-sets.

AWS CLI

Para enumerar los conjuntos de dirección IP de confianza de la región actual

En el siguiente ejemplo de list-ip-sets, se enumeran los conjuntos de direcciones IP de confianza en la región de AWS actual.

aws guardduty list-ip-sets \ --detector-id 12abc34d567e8fa901bc2d34eexample

Salida:

{ "IpSetIds": [ "d4b94fc952d6912b8f3060768example" ] }

Para obtener más información, consulte Working with Trusted IP Lists and Threat Lists en la Guía del usuario de GuardDuty.

  • Para obtener información sobre la API, consulte ListIpSets en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar list-members.

AWS CLI

Ejemplo 1: muestra exclusiva de los miembros actuales de la región actual

En el siguiente ejemplo de list-members, se muestran y proporcionan detalles solo de las cuentas de los miembros actuales asociadas a la cuenta de administrador de GuardDuty, en la región actual.

aws guardduty list-members \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --only-associated="true"

Salida:

{ "Members": [ { "RelationshipStatus": "Enabled", "InvitedAt": "2020-06-09T22:49:00.910Z", "MasterId": "111122223333", "DetectorId": "7ab8b2f61b256c87f793f6a86example", "UpdatedAt": "2020-06-09T23:08:22.512Z", "Email": "your+member@example.com", "AccountId": "123456789012" } ] }

Para obtener más información, consulte Comprender la relación entre la cuenta de administrador de GuardDuty y las cuentas de miembro en la Guía del usuario de GuardDuty.

Ejemplo 2: muestra de todos los miembros de la región actual

En el siguiente ejemplo de list-members, se muestran y proporcionan detalles de todas las cuentas de los miembros de la región actual, incluidas las que se han disociado o que aún no han aceptado la invitación del administrador de GuardDuty.

aws guardduty list-members \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --only-associated="false"

Salida:

{ "Members": [ { "RelationshipStatus": "Enabled", "InvitedAt": "2020-06-09T22:49:00.910Z", "MasterId": "111122223333", "DetectorId": "7ab8b2f61b256c87f793f6a86example", "UpdatedAt": "2020-06-09T23:08:22.512Z", "Email": "your+other+member@example.com", "AccountId": "555555555555" } ] }

Para obtener más información, consulte Comprender la relación entre la cuenta de administrador de GuardDuty y las cuentas de miembro en la Guía del usuario de GuardDuty.

  • Para obtener detalles sobre la API, consulte ListMembers en la Referencia de comandos de la AWS CLI.

En el siguiente ejemplo de código, se muestra cómo utilizar update-ip-set.

AWS CLI

Para actualizar un conjunto de direcciones IP de confianza

En el siguiente ejemplo de update-ip-set, se muestra cómo actualizar los detalles de un conjunto de direcciones IP de confianza.

aws guardduty update-ip-set \ --detector-id 12abc34d567e8fa901bc2d34eexample \ --ip-set-id d4b94fc952d6912b8f3060768example \ --location https://amzn-s3-demo-bucket.s3-us-west-2.amazonaws.com/customtrustlist2.csv

Este comando no genera ninguna salida.

Para obtener más información, consulte Working with Trusted IP Lists and Threat Lists en la Guía del usuario de GuardDuty.

  • Para obtener información sobre la API, consulte UpdateIpSet en la Referencia de comandos de la AWS CLI.