¿Cómo puedo recuperar los recursos de AWS afectados por el agente de CrowdStrike Falcon?

12 minutos de lectura
0

No puedo conectarme a los recursos de AWS en los que está instalado el agente de CrowdStrike Falcon.

Descripción breve

El 19 de julio de 2024 a las 04:09 UTC, una actualización del agente de CrowdStrike Falcon (csagent.sys) provocó que los dispositivos basados en Windows sufrieran errores de parada no planificada o pantalla azul. Entre los dispositivos afectados se incluyen las instancias de Amazon Elastic Compute Cloud (Amazon EC2) y los escritorios virtuales personales de Amazon WorkSpaces. Este problema solo afecta a las instancias de Amazon EC2 de Windows y a los WorkSpaces personales con CrowdStrike instalado.

Para obtener más información, consulte Remediation and Guidance Hub: Falcon Content Update for Windows Hosts en el sitio web de CrowdStrike.

Por lo general, un reinicio de la instancia o de WorkSpace permite actualizar el agente de CrowdStrike Falcon correctamente.

Nota: Si su instancia usa volúmenes de almacén de instancias, los datos almacenados en esos volúmenes no se conservan cuando la instancia se detiene, hiberna o termina. Cuando la instancia se detiene, hiberna o termina, el volumen del almacén de instancias se borra criptográficamente. Para obtener más información, consulte Almacén de instancias Amazon EC2.

Solución

Si la instancia no recupera un estado correcto con el reinicio, utilice el runbook de Automatización de AWS Systems Manager para restaurar las instancias. Como alternativa, restaure las instancias de forma manual.

Si opta por usar el runbook, primero siga estos pasos:

  • Si su volumen raíz de Amazon Elastic Block Store (Amazon EBS) está cifrado, asegúrese de que la clave de cifrado exista en su cuenta. Además, debe tener permiso para usarla.
  • El runbook AWSSupport-StartEC2RescueWorkflow detiene la instancia. Si la instancia usa volúmenes de almacén de instancias, utilice el método de recuperación manual para evitar que se pierdan datos.
  • Antes de iniciar el runbook AWSSupport-StartEC2RescueWorkflow, asegúrese de que su usuario o rol de AWS Identity and Access Management (IAM) tenga los permisos necesarios. Para obtener más información, consulte la sección Permisos de IAM necesarios de AWSSupport-StartEC2RescueWorkflow. También debe añadir el permiso kms:CreateGrant al rol de IAM.

Identificación de las instancias con problemas

Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulte Troubleshoot AWS CLI errors. Además, asegúrese de utilizar la versión más reciente de la AWS CLI.

Para identificar las instancias con errores, ejecute el comando describe-instance-status de la AWS CLI:

aws ec2 describe-instance-status --filters Name=instance-status.status,Values=impaired --query "InstanceStatuses[*].InstanceId" --region your-region

Nota: Sustituya your-region por su región de AWS.

Utilización del runbook de Automatización de AWS Systems Manager para restaurar una única instancia de EC2

Si desea utilizar AWSSupport-StartEC2RescueWorkflow para automatizar la recuperación, abra el runbook en la consola de Systems Manager y seleccione la región y la instancia que desea recuperar. Si el volumen raíz de EBS está cifrado, defina AllowEncryptedVolume como True.

El flujo de trabajo del runbook lanza una instancia de EC2 temporal (instancia auxiliar) en una nube virtual privada (VPC). La instancia auxiliar se asocia automáticamente al grupo de seguridad predeterminado de la VPC. La instancia debe permitir la comunicación HTTPS de salida (puerto TCP 443) hacia los puntos de enlace de Amazon Simple Storage Service (Amazon S3) y de Systems Manager.

Debe iniciar la instancia en una de las siguientes subredes para que alcance los servicios de AWS necesarios para completar las tareas del flujo de trabajo:

  • Subred pública con el parámetro AssociatePublicIpAddress definido como True.
  • Subred privada con acceso a Internet mediante NAT.

La instancia auxiliar monta el volumen raíz de las instancias seleccionadas y luego ejecuta el siguiente comando para eliminar el archivo afectado:

get-childitem -path "$env:EC2RESCUE_OFFLINE_DRIVE\Windows\System32\drivers\CrowdStrike\" -Include C-00000291*.sys -Recurse | foreach { $_.Delete()}

Para verificar el contenido de la carga OfflineScript de Base64 del comando anterior, ejecute el siguiente comando:

PS C:\Windows\system32> [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("REPLACE_WITH_BASE64_HERE"))

Utilización del runbook de Automatización de AWS Systems Manager para restaurar varias instancias de EC2

Para usar el runbook en varias instancias de EC2, utilice los ID de las instancias, etiquetas o grupos de recursos.

Nota:

  • El runbook inicia una instancia auxiliar para cada instancia seleccionada.
  • Asegúrese de tener suficientes direcciones IP en la subred seleccionada para sus instancias.
  • Asegúrese de tener suficientes cuotas de instancias y cuotas de volúmenes de EBS.
  • El tiempo que tarda en completarse el runbook de automatización depende de la cantidad de simultaneidad seleccionada.

Uso de los ID de las instancias

Siga estos pasos:

  1. Abra el runbook AWSSupport-StartEC2RescueWorkflow en la consola de Systems Manager.
  2. En Ejecutar el runbook de automatización, seleccione Control de velocidad.
  3. En la sección Destinos, seleccione InstanceId como Parámetro y luego elija Valores de los parámetros para Destinos.
  4. En Parámetros de entrada, seleccione las instancias que desee restaurar.
  5. En Control de velocidad, elija la opción de simultaneidad para definir la cantidad de recursos para los que se puede ejecutar la automatización simultáneamente. Para obtener más información, consulte Control de las automatizaciones a escala.
  6. Elija Ejecutar.

Uso de etiquetas

Siga estos pasos:

  1. Crea una etiqueta nueva y única para usarla solo con las instancias que desea restaurar. Todas las instancias con esta etiqueta están destinadas a la recuperación y pueden provocar la pérdida involuntaria de datos o afectar a la disponibilidad de las instancias. Para obtener más información, consulte Etiquetar los recursos de Amazon EC2 y Using Tag Editor.
  2. Para comprobar que solo las instancias afectadas compartan la nueva etiqueta, utilice AWS Resource Explorer o el Editor de etiquetas.
  3. Abra el runbook AWSSupport-StartEC2RescueWorkflow en la consola de Systems Manager.
  4. En Ejecutar el runbook de automatización, seleccione Control de velocidad.
  5. En la sección Destinos, seleccione InstanceId como Parámetro y luego elija Valores de los parámetros para Destinos.
  6. En Etiquetas, elija Editar e introduzca las etiquetas key y value; a continuación, seleccione Guardar.
  7. En Parámetros de entrada, seleccione las instancias que desee restaurar.
  8. En Control de velocidad, elija la opción de simultaneidad para definir la cantidad de recursos para los que se puede ejecutar la automatización simultáneamente. Para obtener más información, consulte Control de las automatizaciones a escala.
  9. Elija Ejecutar.

Uso de grupos de recursos

Siga estos pasos:

  1. Cree un nuevo grupo de recursos para usarlo solo con las instancias que desea restaurar. Todas las instancias en este grupo de recursos están destinadas a la recuperación y pueden provocar la pérdida involuntaria de datos o afectar a la disponibilidad de las instancias. Para obtener más información, consulte Creating query-based groups in AWS Resource Groups.
  2. Para comprobar que solo las instancias afectadas pertenezcan al nuevo grupo de recursos, utilice la consola de AWS Resource Groups.
  3. Abra el runbook AWSSupport-StartEC2RescueWorkflow en la consola de Systems Manager.
  4. En Ejecutar el runbook de automatización, seleccione Control de velocidad.
  5. En la sección Destinos, seleccione InstanceId como Parámetro y luego elija Valores de los parámetros para Destinos.
  6. En Grupos de recursos, seleccione el nuevo grupo de recursos.
  7. En Parámetros de entrada, seleccione las instancias que desee restaurar.
  8. En Control de velocidad, elija la opción de simultaneidad para definir la cantidad de recursos para los que se puede ejecutar la automatización simultáneamente. Para obtener más información, consulte Control de las automatizaciones a escala.
  9. Elija Ejecutar.

Restauración manual de las instancias

Siga estos pasos:

  1. Cree una instantánea del volumen raíz de EBS de la instancia.
  2. Cree un nuevo volumen de EBS a partir de la instantánea en la misma zona de disponibilidad.
  3. Lance una nueva instancia de Windows en la misma zona de disponibilidad.
  4. Adjunte el nuevo volumen de EBS a la nueva instancia como un volumen de datos.
  5. Descargue la herramienta EC2Rescue para Windows Server en la instancia auxiliar.
  6. Haga clic con el botón derecho en EC2Rescue.exe y luego elija Ejecutar como administrador.
    Seleccione Acepto en el contrato de licencia.
    En la pantalla de bienvenida, elija Siguiente.
    En la pantalla Seleccionar modo, elija Sin conexión Instancia.
    Seleccione el disco sin conexión y, a continuación, elija Siguiente. Cuando se le pida, seleccione y, a continuación, Aceptar.
    Mantenga EC2 Rescue en ejecución.
    Nota: Si la instancia original usa BitLocker para cifrar el volumen raíz de EBS, proporcione la contraseña o la clave de recuperación de BitLocker cuando se le pida en pantalla. Como alternativa, puede utilizar manage-bde unlock en la línea de comandos. Para obtener más información, consulte manage-bde unlock en el sitio web de Microsoft. Una vez desbloqueada la unidad, repita el paso 6.
  7. Navegue hasta la carpeta X:\Windows\System32\drivers\CrowdStrike\ del volumen asociado y, a continuación, elimine C-00000291*.sys.
    Nota: En este ejemplo, X: es la letra de la unidad asignada al volumen de EBS secundario de la instancia afectada. Puede que sea otra letra diferente en su entorno.
  8. Vuelva a EC2 Rescue.
    Seleccione Diagnóstico y rescate, a continuación, elija Siguiente.
    Mantenga todas las opciones predeterminadas.
    Seleccione Siguiente y, a continuación, vuelva a seleccionar Siguiente.
    Cuando se le pida, elija Rescue, Aceptar y, a continuación, Siguiente.
    Seleccione Finalizar.
    En la ventana emergente que aparece, seleccione Corregir la firma del disco y, a continuación, seleccione Aceptar.
    Si la opción Corregir la firma del disco está atenuada, seleccione Aceptar.
  9. Separe el volumen de EBS de la nueva instancia.
  10. Cree una instantánea del volumen de EBS separado.
  11. Seleccione el mismo tipo de volumen (por ejemplo, gp2 o gp3) que la instancia afectada y, a continuación, cree una imagen de máquina de Amazon (AMI) a partir de la instantánea.
  12. Sustituya el volumen raíz en la instancia EC2 original y especifique la AMI.

Amazon WorkSpaces

Si WorkSpace no vuelve a un estado correcto después de varios reinicios, restaure una instantánea anterior de WorkSpace. Si la restauración de WorkSpace no lo devuelve a un estado correcto, reconstruya WorkSpace.

Solución de problemas

Si los pasos anteriores no solucionan la conectividad con su instancia de EC2, siga estos pasos para solucionar los problemas en el caso de su opción de recuperación.

Runbook de Automatización de Systems Manager

Problema: La instancia auxiliar no puede conectarse a los puntos de enlace del servicio de AWS. Este problema puede provocar un error en el paso del flujo de trabajo de automatización waitForEc2RescueInstanceToBeManaged.
Solución: Confirme si el grupo de seguridad predeterminado permite que el tráfico de salida (puerto TCP 443) alcance los puntos de enlace de S3 y de Systems Manager. Además, asegúrese de que la subred seleccionada pueda conectarse a estos puntos de enlace. Para usar un grupo de seguridad personalizado, actualice el valor del parámetro HelperInstanceSecurityGroupId con el ID de su grupo de seguridad. Si elige una subred pública, defina el parámetro AssociatePublicIpAddress como True. También puede definir el parámetro SubnetId como CreateNewVPC para que la automatización cree una nueva VPC con la conectividad necesaria.

Problema: La instancia afectada no se detiene porque la protección contra paradas está activada.
Solución: Desactive la protección contra paradas en el caso de la instancia afectada y luego vuelva a ejecutar la automatización.
Nota: Si su instancia usa volúmenes de almacén de instancias, los datos almacenados en esos volúmenes no se conservan cuando la instancia se detiene.

Problema: La instancia auxiliar no se inicia.
Solución: Es posible que el tipo de instancia seleccionado para la instancia de EC2Rescue no esté disponible en la zona de disponibilidad de la subred de la instancia auxiliar. Use un tipo de instancia compatible en la misma zona de disponibilidad que la instancia auxiliar.

Problema: La automatización falla cuando verifica si la creación de la pila de AWS CloudFormation se ha completado y aparece el error «Stack AWSSupport-EC2Rescue-{UUID} entered unexpected state: DELETE_IN_PROGRESS».
Solución: Para determinar la causa del error de la pila, obtenga el ID UUID y utilice la consola de CloudFormation. Este error de pila puede producirse si no tiene permisos para crear los recursos de la pila. Para obtener más información, consulte la sección Required IAM permissions de AWSSupport-StartEC2RescueWorkflow y ¿Cómo puedo solucionar los problemas de acceso denegado o de operación no autorizada con una política de IAM?

Problema: El runbook da error en el paso assertInstanceRootVolumeIsNotEncrypted del flujo de trabajo de automatización porque hay un volumen de EBS cifrado.
Solución: Si el volumen usa cifrado de EBS, defina el parámetro AllowEncryptedVolume como True.

Problema: Se ha eliminado la VPC predeterminada.
Solución: Defina el parámetro SubnetId como CreateNewVPC para crear una nueva VPC que permita que la instancia se recupere correctamente.

Problema: El paso detachInstanceRootVolume del flujo de trabajo de automatización falla y aparece el mensaje de error «error occurred (IncorrectState) when calling the DetachVolume operation: Unable to detach root volume». 
Solución: Cuando ejecute la automatización, mantenga la instancia en el estado Detenida.

Restauración manual de instancias

Problema: La instancia no se inicia y se muestra el siguiente error: «The application or operating system couldn't be loaded because a registered file is missing or contains errors».
Solución: Si no seleccionó Corregir firma de disco, es posible que se produzca una colisión de firmas de disco.
Para solucionar este problema, siga el paso 8 para la restauración manual. Si restauró la instancia sin EC2 Rescue, consulte Problemas comunes con las instancias de Windows.

Nota: Si no puede solucionar la conectividad con su instancia de EC2 mediante los pasos anteriores de la solución de problemas, póngase en contacto con AWS Support. Asegúrese de hacer una captura de pantalla de la instancia inaccesible.

Información relacionada

Ejecutar la herramienta EC2Rescue en instancias inaccesibles

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 meses