Pruebe GuardDuty los resultados en cuentas dedicadas - Amazon GuardDuty

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Pruebe GuardDuty los resultados en cuentas dedicadas

Utilice este documento para ejecutar un script de prueba que genere GuardDuty resultados a partir de los recursos de prueba que se desplegarán en su Cuenta de AWS ordenador. Puede realizar estos pasos si desea comprender y obtener información sobre determinados tipos de GuardDuty hallazgos y cómo los detalles de la búsqueda buscan los recursos reales de su cuenta. Esta experiencia es diferente a la de generar Hallazgos de ejemplo. Para obtener más información sobre la experiencia de probar GuardDuty los resultados, consulteConsideraciones.

Consideraciones

Antes de continuar, tenga en cuenta las siguientes consideraciones:

  • GuardDuty recomienda implementar el comprobador en un lugar dedicado que no sea Cuenta de AWS de producción. Este enfoque garantizará que pueda identificar adecuadamente los GuardDuty hallazgos generados por el evaluador. Además, el GuardDuty evaluador despliega una variedad de recursos que pueden requerir IAM permisos superiores a los permitidos en otras cuentas. Al utilizar una cuenta dedicada, se garantiza que los permisos se puedan delimitar correctamente con un límite de cuenta claro.

  • El script del evaluador genera más de 100 GuardDuty resultados con diferentes AWS combinaciones de recursos. Actualmente, esto no incluye todos los GuardDuty buscar tipos. Para obtener una lista de los tipos de resultados que puede generar con este script de la herramienta de pruebas, consulte GuardDuty hallazgos que el script del probador puede generar.

    Nota

    El script del probador se genera solo AttackSequence:S3/CompromisedData para los tipos de búsqueda de secuencias de ataque. Para visualizarlos y comprenderlosAttackSequence:IAM/CompromisedCredentials, puedes generarlos Hallazgos de ejemplo en tu cuenta.

  • Para que el GuardDuty comprobador funcione como se espera, GuardDuty debe estar habilitado en la cuenta en la que están desplegados los recursos del comprobador. En función de las pruebas que se ejecuten, el evaluador evalúa si los planes de GuardDuty protección adecuados están habilitados o no. En el caso de cualquier plan de protección que no esté activado, GuardDuty solicitará permiso para activar los planes de protección necesarios durante el tiempo suficiente GuardDuty para realizar las pruebas que generen resultados. Más adelante, GuardDuty desactivará el plan de protección una vez que se hayan completado las pruebas.

    Habilitando GuardDuty por primera vez

    Cuando GuardDuty se active en tu cuenta dedicada por primera vez en una región específica, tu cuenta se inscribirá automáticamente en una prueba gratuita de 30 días.

    GuardDuty ofrece planes de protección opcionales. En el momento de la activación GuardDuty, algunos planes de protección también se habilitan y se incluyen en la prueba gratuita de GuardDuty 30 días. Para obtener más información, consulte Uso de una GuardDuty prueba gratuita de 30 días.

    GuardDuty ya estaba activado en su cuenta antes de ejecutar el script de prueba

    Cuando ya GuardDuty esté activado, el script del comprobador comprobará, en función de los parámetros, el estado de la configuración de determinados planes de protección y otros ajustes a nivel de cuenta necesarios para generar los resultados.

    Al ejecutar este script de la herramienta de pruebas, es posible que ciertos planes de protección se habiliten por primera vez en la cuenta dedicada en una región. Esto iniciará la prueba gratuita de 30 días para ese plan de protección. Para obtener información sobre la prueba gratuita asociada a cada plan de protección, consulte Uso de una GuardDuty prueba gratuita de 30 días.

  • Mientras la infraestructura del GuardDuty comprobador esté implementada, es posible que ocasionalmente reciba UnauthorizedAccess:EC2/TorClient los resultados de la PenTest instancia.

GuardDuty hallazgos que el script del probador puede generar

En la actualidad, el script del probador genera los siguientes tipos de búsquedas relacionados con AmazonEC2, AmazonEKS, Amazon S3 y los registros de EKS auditoría: IAM

Paso 1: Requisitos previos

Para preparar el entorno de prueba, necesitará los siguientes elementos:

  • Git: instale la herramienta de línea de comandos git en función del sistema operativo que utilice. Esto se necesita para clonar el repositorio de amazon-guardduty-tester.

  • AWS Command Line Interface— Una herramienta de código abierto que te permite interactuar con ella Servicios de AWS mediante comandos de tu shell de línea de comandos. Para obtener más información, consulte Introducción a AWS CLI en la Guía del usuario de AWS Command Line Interface .

  • AWS Systems Manager— Para iniciar sesiones del administrador de sesiones con los nodos gestionados mediante el uso, AWS CLI debe instalar el complemento del administrador de sesiones en su máquina local. Para obtener más información, consulte Instalar el complemento del Administrador de sesiones para AWS CLI en la Guía del usuario de AWS Systems Manager

  • Node Package Manager (NPM): instálelo NPM para instalar todas las dependencias.

  • Docker: debe tener Docker instalado. Para obtener instrucciones de instalación, consulte el sitio web de Docker.

    Para verificar que Docker ha sido instalado, ejecute el siguiente comando y confirme que hay una salida similar a la siguiente:

    $ docker --version Docker version 19.03.1
  • Suscríbase a la imagen de Kali Linux en el AWS Marketplace.

Paso 2: Implementar recursos AWS

Esta sección proporciona una lista de conceptos clave y los pasos para implementar determinados recursos de AWS en la cuenta dedicada.

Conceptos

En la siguiente lista se ofrecen conceptos clave relacionados con los comandos que sirven para implementar los recursos:

  • AWS Cloud Development Kit (AWS CDK)— CDK es un marco de desarrollo de software de código abierto para definir la infraestructura de nube en el código y aprovisionarla mediante ella. AWS CloudFormation CDKadmite un par de lenguajes de programación para definir los componentes de la nube reutilizables conocidos como construcciones. Puedes combinarlos en pilas y aplicaciones. Luego, puede implementar sus CDK aplicaciones para AWS CloudFormation aprovisionar o actualizar sus recursos. Para obtener más información, consulte ¿Qué es AWS CDK? en la Guía para AWS Cloud Development Kit (AWS CDK) desarrolladores.

  • Bootstrapping: es el proceso de preparar el AWS entorno para su uso con. AWS CDK Antes de implementar una CDK pila en un AWS entorno, primero se debe iniciar el entorno. Este proceso de aprovisionamiento de AWS los recursos específicos de su entorno que AWS CDK utiliza forma parte de los pasos que realizará en la siguiente sección:. Pasos para implementar recursos de AWS

    Para obtener más información sobre cómo funciona el arranque, consulte Arranque en la Guía del desarrollador de AWS Cloud Development Kit (AWS CDK) .

Pasos para implementar recursos de AWS

Siga los siguientes pasos para comenzar a implementar los recursos:

  1. Configure su cuenta y región AWS CLI predeterminadas, a menos que las variables de región de la cuenta dedicada se configuren manualmente en el bin/cdk-gd-tester.ts archivo. Para obtener más información, consulte Entornos en la Guía para desarrolladores de AWS Cloud Development Kit (AWS CDK) .

  2. Ejecute los siguientes comandos para implementar los recursos:

    git clone https://github.com/awslabs/amazon-guardduty-tester && cd amazon-guardduty-tester npm install cdk bootstrap cdk deploy

    El último comando (cdk deploy) crea una AWS CloudFormation pila en tu nombre. El nombre de esta pila es GuardDutyTesterStack.

    Como parte de este script, GuardDuty crea nuevos recursos para generar GuardDuty resultados en tu cuenta. También añade el siguiente par de etiquetas clave:valor a las instancias de AmazonEC2:

    CreatedBy:GuardDuty Test Script

    Las EC2 instancias de Amazon también incluyen las EC2 instancias que alojan EKS nodos y ECS clústeres.

    Tipos de instancias

    GuardDuty está diseñado para utilizar tipos de instancias rentables que proporcionan el rendimiento mínimo necesario para llevar a cabo las pruebas satisfactoriamente. Debido a los CPU requisitos v, el grupo de EKS nodos de Amazon requiere t3.medium y debido al aumento de la capacidad de red requerida para DenialOfService para encontrar pruebas, el nodo controlador requierem6i.large. Para todas las demás pruebas, GuardDuty utiliza el tipo de t3.micro instancia. Para obtener más información sobre los tipos de instancias, consulta los tamaños disponibles en la Guía de tipos de EC2 instancias de Amazon.

Paso 3: Ejecute los scripts de la herramienta de pruebas

Se trata de un proceso de dos pasos en el que primero hay que iniciar una sesión con el controlador de pruebas y, a continuación, ejecutar los scripts para generar GuardDuty resultados con combinaciones de recursos específicas.

  1. Una vez implementados los recursos, guarde el código de la región en una variable de la sesión de terminal actual. Usa el siguiente comando y us-east-1 sustitúyelo por el código de región en el que desplegaste los recursos:

    $ REGION=us-east-1
  2. El script de prueba solo está disponible a través de AWS Systems Manager (SSM). Para iniciar un shell interactivo en la instancia host del probador, consulte el host. InstanceId

  3. Utilice el siguiente comando para iniciar la sesión para el script de la herramienta de pruebas:

    aws ssm start-session --region $REGION --document-name AWS-StartInteractiveCommand --parameters command="cd /home/ssm-user/py_tester && bash -l" --target $(aws ec2 describe-instances --region $REGION --filters "Name=tag:Name,Values=Driver-GuardDutyTester" --query "Reservations[].Instances[?State.Name=='running'].InstanceId" --output text)

El script de la herramienta de pruebas es un programa basado en Python que crea dinámicamente un script bash para generar resultados en función de los datos introducidos. Dispone de flexibilidad para generar conclusiones en función de uno o más tipos de AWS recursos, planes de GuardDuty protección Propósitos de amenaza (tácticas) oGuardDuty hallazgos que el script del probador puede generar. Orígenes de datos fundamentales

Utilice los siguientes ejemplos de comandos como referencia y ejecute uno o varios comandos para generar los resultados que desee explorar:

python3 guardduty_tester.py python3 guardduty_tester.py --all python3 guardduty_tester.py --s3 python3 guardduty_tester.py --tactics discovery python3 guardduty_tester.py --ec2 --eks --tactics backdoor policy execution python3 guardduty_tester.py --eks --runtime only python3 guardduty_tester.py --ec2 --runtime only --tactics impact python3 guardduty_tester.py --log-source dns vpc-flowlogs python3 guardduty_tester.py --finding 'CryptoCurrency:EC2/BitcoinTool.B!DNS'

Para obtener más información sobre los parámetros válidos, puede ejecutar el siguiente comando de ayuda:

python3 guardduty_tester.py --help

Elija el método que prefiera para ver los resultados generados en la cuenta.

GuardDuty console
  1. Inicie sesión en AWS Management Console y abra la GuardDuty consola en https://console.aws.amazon.com/guardduty/.

  2. En el panel de navegación, seleccione Resultados.

  3. En la tabla de resultados, seleccione el resultado del que desea ver los detalles. Se abrirá el panel de detalles del resultado. Para obtener más información, consulte Comprender y generar los GuardDuty hallazgos de Amazon.

  4. Si desea filtrar estos resultados, utilice la clave y el valor de la etiqueta del recurso. Por ejemplo, para filtrar los resultados generados para las EC2 instancias de Amazon, usaCreatedBy: GuardDuty Test Script tag key:value pair para la clave de etiqueta de instancia y la clave de etiqueta de instancia.

API
AWS CLI
  • Ejecute el siguiente AWS CLI comando para ver los resultados generados us-east-1 y 12abc34d567e8fa901bc2d34EXAMPLE sustitúyalos por los valores adecuados:

    aws guardduty list-findings --region us-east-1 --detector-id 12abc34d567e8fa901bc2d34EXAMPLE

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

    Para obtener más información sobre los parámetros que puede utilizar para filtrar los resultados, consulte list-findings en la Referencia de comandos de AWS CLI .

Paso 4: Limpiar los recursos AWS de prueba

La configuración a nivel de cuenta y otras actualizaciones del estado de la configuración realizadas durante Paso 3: Ejecute los scripts de la herramienta de pruebas vuelven al estado original cuando finaliza el script de la herramienta de pruebas.

Después de ejecutar el script del probador, puede optar por limpiar los recursos de la AWS prueba. Para ello, puede optar por uno de los siguientes métodos:

Solución de problemas comunes de

GuardDuty ha identificado los problemas más comunes y recomienda medidas para solucionarlos:

  • Cloud assembly schema version mismatch— Actualice AWS CDK CLI a una versión compatible con la versión de ensamblaje en la nube requerida o a la última versión disponible. Para obtener más información, consulte AWS CDK CLIcompatibilidad.

  • Docker permission denied— Agregue el usuario de la cuenta dedicada al docker o a los docker-users para que la cuenta dedicada pueda ejecutar los comandos. Para obtener más información sobre los pasos, consulte la opción de socket Daemon.

  • Your requested instance type is not supported in your requested Availability Zone: algunas zonas de disponibilidad no admiten determinados tipos de instancias. Para identificar qué zonas de disponibilidad son compatibles con el tipo de instancia que prefiera y volver a intentar implementar AWS los recursos, lleve a cabo los siguientes pasos:

    1. Elija el método que prefiera para determinar qué zonas de disponibilidad admiten el tipo de instancia:

      Console
      Para identificar las zonas de disponibilidad que admiten el tipo de instancia de su preferencia
      1. Inicia sesión en la EC2 consola de Amazon AWS Management Console y ábrela en https://console.aws.amazon.com/ec2/.

      2. Con el selector de AWS regiones situado en la esquina superior derecha de la página, elige la región en la que quieres lanzar la instancia.

      3. En el panel de navegación, en Instancias, seleccione Tipos de instancias.

      4. Elija el tipo de instancia de su preferencia de la tabla Tipos de instancias.

      5. En Redes, consulte las regiones enumeradas en Zonas de disponibilidad.

        Según esta información, es posible que tenga que elegir una nueva región en la que implementar los recursos.

      AWS CLI

      Ejecute el siguiente comando para ver una lista de las zonas de disponibilidad. Asegúrese de especificar el tipo de instancia que prefiera y la región ()us-east-1.

      aws ec2 describe-instance-type-offerings --location-type availability-zone --filters Name=instance-type,Values=Preferred instance type --region us-east-1 --output table

      Para obtener más información sobre este comando, consulte describe-instance-type-offeringsla Referencia de AWS CLI comandos.

      Al ejecutar este comando, si se produce un error, asegúrese de que utiliza la versión más reciente de la AWS CLI. Para obtener más información, consulte Solución de problemas en la Guía del usuario de AWS Command Line Interface .

    2. Intente volver a implementar los AWS recursos y especifique una zona de disponibilidad que sea compatible con el tipo de instancia que prefiera.

      Para volver a intentar implementar AWS los recursos
      1. Configure la región predeterminada en el archivo bin/cdk-gd-tester.ts.

      2. Para especificar la zona de disponibilidad, abra el archivo amazon-guardduty-tester/lib/common/network/vpc.ts.

      3. En este archivo, sustituya maxAzs: 2, por availabilityZones: ['us-east-1a', 'us-east-1c'], donde debe especificar las zonas de disponibilidad para el tipo de instancia.

      4. Continúe con los pasos restantes en Pasos para implementar recursos de AWS.