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.
EC2 Pila de instancias | Recopile información de Log4j
Genera un informe que identifica las incidencias de Log4j2 en las instancias especificadas. EC2 Se trata de un informe realizado con el máximo esfuerzo y es posible que algunas incidencias no se detecten en el informe.
Clasificación completa: Administración | Componentes de pila avanzados | pila de EC2 instancias | Recopilación de información de log4j
Detalles del tipo de cambio
ID de tipo de cambio |
ct-19f40lfm5umy8 |
Versión actual |
2.0 |
Duración prevista de la ejecución |
360 minutos |
Aprobación de AWS |
Obligatorio |
Aprobación del cliente |
No obligatorio |
Modo de ejecución |
Automatizado |
Información adicional
Actualizar otro CTs
A continuación se muestra este tipo de cambio en la consola AMS.
Cómo funciona:
Vaya a la página Crear RFC: en el panel de navegación izquierdo de la consola AMS, haga clic RFCspara abrir la página de RFCs listas y, a continuación, haga clic en Crear RFC.
Elija un tipo de cambio (CT) popular en la vista predeterminada de búsqueda de tipos de cambios o seleccione un CT en la vista Elegir por categoría.
Busque por tipo de cambio: puede hacer clic en un CT popular en el área de creación rápida para abrir inmediatamente la página Ejecutar RFC. Tenga en cuenta que no puede elegir una versión antigua de CT con Quick Create.
Para ordenar CTs, utilice el área Todos los tipos de cambios en la vista de tarjeta o de tabla. En cualquiera de las vistas, seleccione una CT y, a continuación, haga clic en Crear RFC para abrir la página Ejecutar RFC. Si corresponde, aparece la opción Crear con una versión anterior junto al botón Crear RFC.
Elegir por categoría: seleccione una categoría, una subcategoría, un elemento y una operación, y se abrirá el cuadro de detalles del CT con la opción Crear con una versión anterior, si corresponde. Haga clic en Crear RFC para abrir la página Ejecutar RFC.
En la página Ejecutar RFC, abra el área del nombre del CT para ver el cuadro de detalles del CT. Se requiere un asunto (lo rellena automáticamente si elige su CT en la vista Buscar tipos de cambios). Abra el área de configuración adicional para añadir información sobre la RFC.
En el área de configuración de ejecución, utilice las listas desplegables disponibles o introduzca valores para los parámetros necesarios. Para configurar los parámetros de ejecución opcionales, abra el área de configuración adicional.
Cuando haya terminado, haga clic en Ejecutar. Si no hay errores, aparecerá la página de la RFC creada correctamente con los detalles de la RFC enviada y el resultado inicial de la ejecución.
Abra el área de parámetros de ejecución para ver las configuraciones que envió. Actualice la página para actualizar el estado de ejecución de la RFC. Si lo desea, cancele la RFC o cree una copia de la misma con las opciones de la parte superior de la página.
Cómo funciona:
Utilice la función de creación en línea (se emite un
create-rfccomando con todos los parámetros de ejecución y RFC incluidos) o la de plantilla (se crean dos archivos JSON, uno para los parámetros de RFC y otro para los parámetros de ejecución) y ejecute elcreate-rfccomando con los dos archivos como entrada. Ambos métodos se describen aquí.Envíe el
aws amscm submit-rfc --rfc-idcomando RFC: con el ID de RFC devuelto.IDSupervise el comando RFC:.
aws amscm get-rfc --rfc-idID
Para comprobar la versión del tipo de cambio, utilice este comando:
aws amscm list-change-type-version-summaries --filter Attribute=ChangeTypeId,Value=CT_ID
nota
Puede utilizar cualquier CreateRfc parámetro con cualquier RFC, forme o no parte del esquema del tipo de cambio. Por ejemplo, para recibir notificaciones cuando cambie el estado de la RFC, añada esta línea --notification "{\"Email\": {\"EmailRecipients\" : [\"email@example.com\"]}}" a la parte de los parámetros de la RFC de la solicitud (no a los parámetros de ejecución). Para ver una lista de todos los CreateRfc parámetros, consulta la referencia de la API de administración de cambios de AMS.
CREACIÓN EN LÍNEA:
Ejecute el comando create RFC con los parámetros de ejecución incluidos en línea (comillas de escape al proporcionar los parámetros de ejecución en línea) y, a continuación, envíe el ID de RFC devuelto. Por ejemplo, puedes reemplazar el contenido por algo como esto:
Versión 2.0:
Escanea todas las instancias:
aws amscm create-rfc --change-type-id "ct-19f40lfm5umy8" --change-type-version "2.0" --title "Log4j Investigation" --execution-parameters "{\"DocumentName\":\"AWSManagedServices-GatherLog4jInformation\",\"Region\":\"us-east-1\",\"Parameters\":{\"S3Bucket\":[\"s3://BUCKET_NAME\"]},\"TargetParameterName\": \"InstanceId\",\"Targets\": [{\"Key\": \"AWS::EC2::Instance\",\"Values\": [\"*\"]}],\"MaxConcurrency\": \"10\",\"MaxErrors\": \"100%\"}"
Escanea una lista de instancias:
aws amscm create-rfc --change-type-id "ct-19f40lfm5umy8" --change-type-version "2.0" --title "Log4j Investigation" --execution-parameters "{\"DocumentName\":\"AWSManagedServices-GatherLog4jInformation\",\"Region\":\"us-east-1\",\"Parameters\":{\"S3Bucket\":[\"s3://BUCKET_NAME\"]},\"TargetParameterName\": \"InstanceId\",\"Targets\": [{\"Key\": \"ParameterValues\",\"Values\": [\"INSTANCE_ID_1\",\"INSTANCE_ID_2\",\"INSTANCE_ID_3\",\"INSTANCE_ID_4\",\"INSTANCE_ID_5\"]}],\"MaxConcurrency\": \"10\",\"MaxErrors\": \"100%\"}"
CREACIÓN DE PLANTILLA:
Envía los parámetros de ejecución de este tipo de cambio a un archivo JSON; en este ejemplo se le asigna el nombre GatherLog 4 jInfoParams .json:
aws amscm get-change-type-version --change-type-id "ct-19f40lfm5umy8" --query "ChangeTypeVersion.ExecutionInputSchema" --output text > GatherLog4jInfoParams.jsonModifique y guarde el jInfoParams archivo GatherLog 4, conservando solo los parámetros que desee cambiar. Por ejemplo, puede reemplazar el contenido por algo como esto:
Versión 2.0:
Escanea todas las instancias:
{ "DocumentName": "AWSManagedServices-GatherLog4jInformation", "Region": "us-east-1", "Parameters": { "S3Bucket": [ "s3://BUCKET_NAME" ] }, "TargetParameterName": "InstanceId", "Targets": [ { "Key": "AWS::EC2::Instance", "Values": [ "*" ] } ], "MaxConcurrency": "10", "MaxErrors": "100%" }Escanea una lista de instancias:
{ "DocumentName": "AWSManagedServices-GatherLog4jInformation", "Region": "us-east-1", "Parameters": { "S3Bucket": [ "s3://" ] }, "TargetParameterName": "InstanceId", "Targets": [ { "Key": "BUCKET_NAMEParameterValues", "Values": [ "INSTANCE_ID_1", "INSTANCE_ID_2", "INSTANCE_ID_3", "INSTANCE_ID_4", "INSTANCE_ID_5" ] } ], "MaxConcurrency": "10", "MaxErrors": "100%" }Envía la plantilla RFC a un archivo de tu carpeta actual; en este ejemplo se le asigna el nombre GatherLog 4 jInfoRfc .json:
aws amscm create-rfc --generate-cli-skeleton > GatherLog4jInfoRfc.jsonModifique y guarde el archivo GatherLog 4 jInfoRfc .json. Por ejemplo, puedes reemplazar el contenido por algo como esto:
{ "ChangeTypeVersion": "2.0", "ChangeTypeId": "ct-19f40lfm5umy8", "Title": "Log4j Investigation" }Cree el RFC, especificando el jInfoRfc archivo GatherLog 4 y el jInfoParams archivo GatherLog 4:
aws amscm create-rfc --cli-input-json file://GatherLog4jInfoRfc.json --execution-parameters file://GatherLog4jInfoParams.json
Este tipo de cambio escanea la EC2 instancia especificada en busca de paquetes que contengan una versión afectada de la clase Java Log4j de Apache. Esta funcionalidad produce un informe de lo más exhaustivo posible; algunos casos pueden pasar desapercibidos o identificarse erróneamente.
AWS CloudShell es un shell basado en navegador que facilita la administración, la exploración y la interacción con los recursos de AWS de forma segura. AWS CloudShell se autentica previamente con las credenciales de la consola al iniciar sesión. Las herramientas comunes de desarrollo y operaciones vienen preinstaladas, por lo que no es necesaria ninguna instalación o configuración local. Con AWS CloudShell, puede ejecutar scripts rápidamente con la interfaz de línea de comandos de AWS (AWS CLI), experimentar con el APIs servicio de SDKs AWS mediante AWS o utilizar otras herramientas para ser productivo. Puede utilizar AWS CloudShell directamente desde su navegador sin coste adicional.
nota
Puede utilizar la consola de CloudShell AWS desde cualquier otra región de AWS, o desde la más cercana, en la que esté disponible para realizar la agregación. Por ejemplo, para realizar la agregación de los datos almacenados en la región de Virginia, abra una CloudShell en la región de AWS «US East (Virginia) us-east-1" en la consola de AWS y siga las instrucciones que se indican a continuación.
Los datos del informe incluyen información sobre los archivos Java (archivos JAR), que se encuentran en el entorno especificado y que contienen la clase vulnerable. JndiLookup AMS recomienda actualizar las bibliotecas afectadas a la última versión disponible, que se puede descargar directamente de Apache en Download Apache Log4j 2
Para agregar todos los archivos CSV generados y crear un único informe con AWS CloudShell:
Desde cualquier página o región de AWS de la consola de administración de AWS, abra AWS CloudShell para ejecutar el script que se muestra a continuación. Asegúrese de haber iniciado sesión en la consola de administración de AWS con el AWSManaged ServicesReadOnlyRole rol.
# Specify the S3 bucket and AWS region that contains the individual CSV files: BUCKET_NAME="YOUR BUCKET HERE" BUCKET_REGION="THE BUCKET REGION HERE" # Aggregate the CSV files: mkdir -p log4j-report aws s3 cp s3://$BUCKET_NAME/ams/log4j-scan/ ./log4j-report --recursive --include "*.csv" echo "aws_account_id,region,scan_time,instance_id,scan_type,location" > log4j-report/report.csv for i in `find log4j-report -type f \( -iname "*.csv" ! -iname "report.csv" \)`; do awk 'FNR > 1' $i >> log4j-report/report.csv; done # Upload the report to the same S3 bucket: file_name="report_$(date -d "today" +"%Y%m%d%H%M").csv" aws s3 cp log4j-report/report.csv s3://$BUCKET_NAME/ams/log4j-reports/$file_name # Open the following URL and select \"Download\" to download the report: echo "Report uploaded to: https://s3.console.aws.amazon.com/s3/object/$BUCKET_NAME?region=$BUCKET_REGION&prefix=ams/log4j-reports/$file_name"El script genera la URL de S3 desde la que descargar el informe.
Copie y abra la URL y, a continuación, seleccione Descargar
Zona de destino con una sola cuenta: uso del informe
Si trabaja en una landing zone con una sola cuenta, el CloudShell servicio de AWS no está disponible. Sin embargo, aún puede aprovechar la AWS CLI para realizar los pasos necesarios. Consulte esta documentación: ¿Cómo puedo conceder a mis usuarios de Active Directory acceso a la API o a la AWS CLI con AD FS?Customer_ReadOnly_Role. A continuación, ejecute el script del paso 1 para generar el informe CSV necesario.
¿Cómo leer el informe
El informe contiene las siguientes columnas:
scan_time: hora a la que se realizó el escaneo de la instancia
instance_id: el ID de la instancia EC2
scan_type: el tipo de escaneo que se realizó. Por ejemplo, si el escaneo se analizó en la información de la memoria, el tipo de escaneo será MEMORY. Si se comprobó el sistema de archivos, el scan_type será FILESYSTEM
ubicación: La ruta al partido
Parámetros de entrada de ejecución
Para obtener información detallada sobre los parámetros de entrada de la ejecución, consulteEsquema de cambio: tipo ct-19f40lfm5umy8.
Ejemplo: Parámetros necesarios
Example not available.
Ejemplo: todos los parámetros
{ "DocumentName": "AWSManagedServices-GatherLog4jInformation", "Region": "us-east-1", "Parameters": { "S3Bucket": [ "s3://test" ] }, "TargetParameterName": "InstanceId", "Targets": [ { "Key": "ParameterValues", "Values": [ "i-1234567890abcdef0", "i-1234567890abcdef1", "i-1234567890abcdef2", "i-1234567890abcdef3", "i-1234567890abcdef4" ] } ], "MaxConcurrency": "10", "MaxErrors": "100%" }