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.
Contenido
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:
-
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) . -
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 det3.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.
-
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
-
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
-
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 --tacticsdiscovery
python3 guardduty_tester.py --ec2
--eks
--tacticsbackdoor
policy
execution
python3 guardduty_tester.py --eks
--runtime
only python3 guardduty_tester.py --ec2
--runtime
only --tacticsimpact
python3 guardduty_tester.py --log-sourcedns
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.
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:
-
Ejecuta el siguiente comando:
cdk destroy
-
Elimine la AWS CloudFormation pila con el nombre GuardDutyTesterStack. Para obtener información sobre los pasos, consulte Eliminar una pila en la AWS CloudFormation consola.
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:-
Elija el método que prefiera para determinar qué zonas de disponibilidad admiten el tipo de instancia:
-
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
-
Configure la región predeterminada en el archivo
bin/cdk-gd-tester.ts
. -
Para especificar la zona de disponibilidad, abra el archivo
amazon-guardduty-tester/lib/common/network/vpc.ts
. -
En este archivo, sustituya
maxAzs: 2,
poravailabilityZones: ['
donde debe especificar las zonas de disponibilidad para el tipo de instancia.us-east-1a
', 'us-east-1c
'], -
Continúe con los pasos restantes en Pasos para implementar recursos de AWS.
-
-