CrowdStrike Falcon 에이전트의 영향을 받은 AWS 리소스를 복구하려면 어떻게 해야 합니까?

8분 분량
0

CrowdStrike Falcon 에이전트가 설치된 AWS 리소스에 연결할 수 없습니다.

간략한 설명


2024년 7월 19일 04시 09분 (UTC), CrowdStrike Falcon 에이전트(csagent.sys) 의 업데이트로 인해 윈도우 기반 디바이스에서 예상치 못한 중지 오류 또는 블루 스크린이 발생했습니다. 영향을 받는 디바이스에는 Amazon Elastic Compute Cloud(Amazon EC2) 인스턴스와 Amazon WorkSpaces 개인용 가상 데스크톱이 포함됩니다. 이 문제는 CrowdStrike가 설치된 Windows Amazon EC2 인스턴스와 개인 WorkSpaces에만 영향을 미칩니다.

자세한 내용을 보려면 CrowdStrike 웹사이트의 수정 및 안내 허브: Windows 호스트용 Falcon 콘텐츠 업데이트를 참조하세요.

일반적으로 인스턴스 또는 WorkSpace를 재부팅하면 CrowdStrike Falcon 에이전트가 성공적으로 업데이트됩니다.

참고: 인스턴스에서 인스턴스 스토어 볼륨을 사용하는 경우 인스턴스가 중지, 최대 절전 모드 또는 종료될 때 해당 볼륨에 저장된 데이터는 유지되지 않습니다. 인스턴스가 중지, 최대 절전 모드 또는 종료되면 인스턴스 스토어 볼륨이 암호화되어 지워집니다. 자세한 내용을 보려면 Amazon EC2 인스턴스용 Amazon EC2 인스턴스 스토어 임시 블록 스토리지를 참조하세요.

해결 방법

재부팅해도 인스턴스가 정상 상태로 복원되지 않으면 AWS Systems Manager 자동화 런북을 사용하여 인스턴스를 복원하세요. 또는 인스턴스를 수동으로 복원할 수도 있습니다.

런북을 사용하기로 선택한 경우 먼저 다음 작업을 수행하세요.

  • 루트 Amazon Elastic Block Store(Amazon EBS) 볼륨이 암호화되어 있는 경우 계정에 암호화 키가 존재하는지 확인하세요. 또한 사용 권한이 있어야 합니다.
  • AWSSupport-StartEC2RescueWorkflow 런북은 인스턴스를 중지합니다. 인스턴스에서 인스턴스 스토어 볼륨을 사용하는 경우 수동 복구 방법을 사용하여 데이터 손실을 방지하세요.
  • AWSSupport-StartEC2RescueWorkflow 런북을 시작하기 전에 AWS Identify and Access Management(IAM) 사용자 또는 역할에 필요한 권한이 있는지 확인하세요. 자세한 내용을 보려면 AWSSupport-StartEC2RescueWorkflow필수 IAM 권한 섹션을 참조하세요. 또한 IAM 역할에 kms:CreateGrant 권한을 추가해야 합니다.

손상된 인스턴스 식별

참고: AWS Command Line Interface(AWS CLI) 명령 실행 시 오류가 발생하는 경우, AWS CLI 오류 문제 해결을 참고하세요. 또한 최신 AWS CLI 버전을 사용하고 있는지 확인하세요.

실패한 인스턴스를 식별하려면 describe-instance-status AWS CLI 명령을 실행합니다.

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

참고: your-region을 해당 AWS 리전으로 바꾸세요.

AWS Systems Manager 자동화 런북을 사용하여 단일 EC2 인스턴스를 복원하세요.

AWSSupport-StartEC2RescueWorkflow를 사용하여 복구를 자동화하려면 Systems Manager 콘솔에서 런북을 열고 복구하려는 AWS 리전 및 인스턴스를 선택합니다. EBS 루트 볼륨이 암호화된 경우 AllowEncryptedVolumeTrue로 설정하세요.

워크플로는 Virtual Private Cloud(VPC)에서 임시 EC2 인스턴스(도우미 인스턴스)를 시작합니다. 도우미 인스턴스는 VPC의 기본 보안 그룹과 자동으로 연결됩니다. 인스턴스는 Amazon Simple Storage Service(Amazon S3) 및 Systems Manager 엔드포인트 모두에 대한 아웃바운드 HTTPS(포트 TCP 443) 통신을 허용해야 합니다.

다음 서브넷 중 하나에서 인스턴스를 시작해야 인스턴스가 워크플로 작업을 완료하는 데 필요한 AWS 서비스에 도달할 수 있습니다.

  • AssociatePublicIpAddress 파라미터가 True로 설정된 퍼블릭 서브넷입니다.
  • NAT를 통해 인터넷에 액세스할 수 있는 프라이빗 서브넷입니다.

도우미 인스턴스는 선택한 인스턴스의 루트 볼륨을 마운트하고 다음 명령을 실행하여 영향을 받은 파일을 삭제합니다.

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

이전 명령에서 Base64 OfflineScript 페이로드의 내용을 확인하려면 다음 명령을 실행합니다.

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

AWS Systems Manager 자동화 런북을 사용하여 여러 EC2 인스턴스를 복원하세요.

여러 EC2 인스턴스에서 Runbook을 사용하려면 인스턴스 ID, 태그 또는 리소스 그룹을 사용하세요.

참고:

  • 런북은 선택한 각 인스턴스에 대해 하나의 도우미 인스턴스를 시작합니다.
  • 선택한 서브넷에 인스턴스의 IP 주소가 충분한지 확인하세요.
  • 인스턴스 할당량EBS 볼륨 할당량이 충분한지 확인하세요.
  • 자동화 런북을 완료하는 데 걸리는 시간은 선택한 동시성 양에 따라 다릅니다.

인스턴스 ID 사용

다음 단계를 완료합니다.

  1. Systems Manager 콘솔에서 AWSSupport-StartEC2RescueWorkflow 런북을 엽니다.
  2. 자동화 런북 실행에서 속도 제어를 선택합니다.
  3. 대상 섹션에서 파라미터에 대한 InstanceId를 선택한 다음, 대상에 대한 파라미터 값을 선택합니다.
  4. 입력 파라미터에서 복원하려는 인스턴스를 선택합니다.
  5. 속도 제어의 경우 자동화를 동시에 실행할 수 있는 리소스 수에 대한 동시성 옵션을 선택합니다. 자세한 내용을 보려면 대규모 제어 자동화를 참조하세요.
  6. 실행을 선택합니다.

태그 사용

다음 단계를 완료합니다.

  1. 복원하려는 인스턴스에만 사용할 고유한 새 태그를 생성합니다. 이 태그가 있는 모든 인스턴스는 복구 대상이며 의도하지 않은 데이터 손실을 일으키거나 인스턴스 가용성에 영향을 줄 수 있습니다. 자세한 내용을 보려면 Amazon EC2 리소스 태그 지정태그 편집기 사용을 참조하세요.
  2. 영향을 받는 인스턴스만 새 태그를 공유하는지 확인하려면 AWS Resource Explorer 또는 태그 편집기를 사용하세요.
  3. Systems Manager 콘솔에서 AWSSupport-StartEC2RescueWorkflow 런북을 엽니다.
  4. 자동화 런북 실행에서 속도 제어를 선택합니다.
  5. 대상 섹션에서 파라미터에 대한 InstanceId를 선택한 다음, 대상에 대한 파라미터 값을 선택합니다.
  6. 태그에서 편집을 선택하고 태그 을 입력한 다음 저장을 선택합니다.
  7. 입력 파라미터에서 복원하려는 인스턴스를 선택합니다.
  8. 속도 제어의 경우 자동화를 동시에 실행할 수 있는 리소스 수에 대한 동시성 옵션을 선택합니다. 자세한 내용을 보려면 대규모 제어 자동화를 참조하세요.
  9. 실행을 선택합니다.

리소스 그룹 사용

다음 단계를 완료합니다.

  1. 복원하려는 인스턴스에만 사용할 새 리소스 그룹을 생성합니다. 이 리소스 그룹의 모든 인스턴스는 복구 대상이며 의도하지 않은 데이터 손실을 일으키거나 인스턴스 가용성에 영향을 줄 수 있습니다. 자세한 내용을 보려면 AWS 리소스 그룹에서 쿼리 기반 그룹 생성을 참조하세요.
  2. 영향을 받는 인스턴스만 새 리소스 그룹에 속하는지 확인하려면 AWS 리소스 그룹 콘솔을 사용하세요.
  3. Systems Manager 콘솔에서 AWSSupport-StartEC2RescueWorkflow 런북을 엽니다.
  4. 자동화 런북 실행에서 속도 제어를 선택합니다.
  5. 대상 섹션에서 파라미터에 대한 InstanceId를 선택한 다음, 대상에 대한 파라미터 값을 선택합니다.
  6. 리소스 그룹에서 새 리소스 그룹을 선택합니다.
  7. 입력 파라미터에서 복원하려는 인스턴스를 선택합니다.
  8. 속도 제어의 경우 자동화를 동시에 실행할 수 있는 리소스 수에 대한 동시성 옵션을 선택합니다. 자세한 내용을 보려면 대규모 제어 자동화를 참조하세요.
  9. 실행을 선택합니다.

수동으로 인스턴스 복원

다음 단계를 완료합니다.

  1. 인스턴스의 EBS 루트 볼륨 스냅샷을 생성합니다.
  2. 동일한 가용 영역의 스냅샷에서 새 EBS 볼륨을 생성합니다.
  3. 동일한 가용 영역에서 새 Windows 인스턴스를 시작합니다.
  4. 새 EBS 볼륨을 새 인스턴스에 데이터 볼륨으로 연결합니다.
  5. 도우미 인스턴스에 EC2Rescue for Windows Server 도구를 다운로드합니다.
  6. EC2Rescue.exe를 마우스 오른쪽 단추로 클릭한 다음 관리자 권한으로 실행을 선택합니다.
    사용권 계약에 동의합니다를 선택합니다.
    시작 화면에서 다음을 선택합니다.
    모드 선택 화면에서 오프라인 인스턴스를 선택합니다.
    오프라인 디스크를 선택한 후 다음을 선택합니다. 메시지가 표시되면 를 선택한 다음 확인을 선택합니다.
    EC2 Rescue를 계속 실행하세요.
    참고: 원본 인스턴스가 BitLocker를 사용하여 EBS 루트 볼륨을 암호화하는 경우 화면의 지시에 따라 암호 또는 BitLocker 복구 키를 제공하세요. 또는 명령줄에서 manage-bde 잠금 해제를 사용할 수 있습니다. 자세한 내용을 보려면 Microsoft 웹 사이트에서 manage-bde unblock을 참조하세요. 드라이브 잠금을 해제한 후 6단계를 반복합니다.
  7. 첨부된 볼륨의 X:\Windows\System32\drivers\CrowdStrike\ 폴더로 이동한 다음 C-00000291*.sys를 삭제합니다.
    참고: 이 예에서 **X:**는 해당 인스턴스의 보조 EBS 볼륨에 할당된 드라이브 문자입니다. 사용자 환경에서는 다른 글자일 수 있습니다.
  8. EC2 Rescue로 돌아갑니다.
    진단 및 복구를 선택한 후 다음을 선택합니다.
    모든 옵션을 기본값으로 유지합니다.
    다음을 선택한 다음 다음을 다시 선택합니다.
    메시지가 표시되면 복구를 선택하고 확인을 선택한 다음 다음을 선택합니다.
    완료를 선택합니다.
    표시되는 팝업 창에서 디스크 서명 수정을 선택한 다음 확인을 선택합니다.
    디스크 서명 수정이 회색으로 표시되면 확인을 선택합니다.
  9. 새 인스턴스에서 EBS 볼륨을 분리합니다.
  10. 분리된 EBS 볼륨의 스냅샷을 생성합니다.
  11. 영향을 받는 인스턴스와 동일한 볼륨 유형(예: gp2 또는 gp3)을 선택한 다음, 스냅샷에서 Amazon Machine Image(AMI)를 생성합니다.
  12. 원본 EC2 인스턴스의 루트 볼륨을 교체하고 AMI를 지정합니다.

Amazon WorkSpaces

여러 번 재부팅해도 WorkSpace가 정상 상태로 돌아오지 않는 경우, WorkSpace를 이전 스냅샷으로 복원할 수 있습니다. WorkSpace를 복원해도 WorkSpace가 정상 상태로 돌아오지 않는 경우 WorkSpace를 다시 빌드하세요.

문제 해결

이전 단계를 수행해도 EC2 인스턴스에 대한 연결이 해결되지 않으면 다음 문제 해결 단계에 따라 복구 옵션을 선택하세요.

Systems Manager 자동화 런북

문제: 도우미 인스턴스는 AWS 서비스 엔드포인트에 연결할 수 없습니다. 이 문제로 인해 waitForEc2RescueInstanceToBeManaged 자동화 워크플로 단계에서 오류가 발생할 수 있습니다.
해결 방법: 기본 보안 그룹이 아웃바운드 트래픽(TCP 포트 443)이 Systems Manager 및 S3 엔드포인트에 도달하도록 허용하는지 확인합니다. 또한 선택한 서브넷이 이러한 엔드포인트에 연결할 수 있는지 확인하세요. 사용자 지정 보안 그룹을 사용하려면 HelperInstanceSecurityGroupID 파라미터 값을 보안 그룹 ID로 업데이트하세요. 퍼블릭 서브넷을 선택한 경우 AssociatePublicIpAddress 파라미터를 True로 설정하세요. 또는 자동화가 필요한 연결이 있는 새 VPC를 생성하도록 SubnetId 파라미터를 CreateNewVPC로 설정할 수도 있습니다.

문제: 중지 보호가 켜져 있기 때문에 영향을 받은 인스턴스가 중지되지 않습니다.
해결 방법: 영향을 받는 인스턴스에 대한 중지 보호를 해제하고 자동화를 다시 실행합니다.
참고: 인스턴스가 인스턴스 스토어 볼륨을 사용하는 경우 해당 볼륨에 저장된 데이터는 인스턴스가 중지될 때 유지되지 않습니다.

문제: 도우미 인스턴스가 시작되지 않습니다.
해결 방법: 도우미 인스턴스의 서브넷 가용성 영역에서 EC2Rescue 인스턴스에 대해 선택한 인스턴스 유형을 사용할 수 없을 수 있습니다. 도우미 인스턴스와 동일한 가용 영역에서 지원되는 인스턴스 유형을 사용합니다.

문제: 자동화가 AWS CloudFormation 스택 생성이 완료되었는지 확인하면 "Stack AWSSupport-EC2Rescue-{UUID} entered unexpected state: DELETE_IN_PROGRESS"라는 메시지와 함께 자동화가 실패합니다.
해결 방법: 스택 장애 원인을 확인하려면 UUID ID를 확인하고 CloudFormation 콘솔을 사용하세요. 스택 리소스를 생성할 권한이 없는 경우 이 스택 실패가 발생할 수 있습니다. 자세한 내용을 보려면 AWSSupport-StartEC2RescueWorkflow필수 IAM 권한 섹션 및 IAM 정책으로 액세스 거부 또는 무단 작업 오류를 해결하려면 어떻게 해야 하나요?를 참조하세요.

문제: 런북이 암호화된 EBS 볼륨 때문에 assertInstanceRootVolumeIsNotEncrypted 자동화 워크플로우 단계에서 실패합니다.
해결 방법: 볼륨이 EBS 암호화를 사용하는 경우 AllowEncryptedVolume 파라미터를 True로 설정합니다.

문제: 기본 VPC가 삭제되었습니다.
해결 방법: SubnetId 파라미터를 CreateNewVPC로 설정하여 인스턴스를 성공적으로 복구할 수 있는 새 VPC를 생성합니다.

문제: DetachVolume 작업을 호출할 때 detachInstanceRootVolume 자동화 워크플로우 단계가 실패하고 “error occurred (IncorrectState) when calling the DetachVolume operation: Unable to detach root volume"라는 오류 메시지가 표시됩니다.
해결 방법: 자동화를 실행할 때는 인스턴스를 중지됨 상태로 유지하세요.

수동 인스턴스 복원

문제: 다음 오류가 발생하여 인스턴스가 부팅되지 않습니다. "The application or operating system couldn't be loaded because a registered file is missing or contains errors".
해결 방법: 디스크 서명 수정을 선택하지 않은 경우 디스크 서명 충돌이 발생할 수 있습니다.
이 문제를 해결하려면 수동 복원 단계의 8단계를 따르세요. EC2 Rescue를 사용하지 않고 인스턴스를 복원한 경우에는 Amazon EC2 Windows 인스턴스 관련 문제 해결을 참조하세요.

참고: 위의 문제 해결 단계를 수행해도 EC2 인스턴스와의 연결이 해결되지 않으면 AWS Support에 문의하세요. 연결할 수 없는 인스턴스의 스크린샷을 캡처해야 합니다.

관련 정보

연결할 수 없는 인스턴스에서 EC2Rescue 도구 실행

AWS 공식
AWS 공식업데이트됨 3달 전
댓글 없음