

# Windows 인스턴스용 Credential Guard
<a name="credential-guard"></a>

AWS Nitro System은 Amazon Elastic Compute Cloud(Amazon EC2) Windows 인스턴스용 Credential Guard를 지원합니다. Credential Guard는 Windows 커널 보호를 넘어 Windows 사용자 자격 증명 및 코드 무결성 적용과 같은 보안 자산을 보호하기 위해 격리된 환경을 생성할 수 있는 Windows VBS 기능입니다. EC2 Windows 인스턴스를 실행할 때 Credential Guard는 AWS Nitro 시스템을 사용하여 Windows 로그인 자격 증명이 운영 체제 메모리에서 추출되지 않도록 보호합니다.

**Topics**
+ [사전 조건](#credential-guard-prerequisites)
+ [지원되는 인스턴스 시작](#credential-guard-launch-instance)
+ [메모리 무결성 비활성화](#disable-memory-integrity)
+ [Credential Guard 켜기](#turn-on-credential-guard)
+ [Credential Guard가 실행 중인지 확인](#verify-credential-guard)

## 사전 조건
<a name="credential-guard-prerequisites"></a>

Credential Guard를 활용하려면 Windows 인스턴스가 다음 사전 조건을 충족해야 합니다.

**Amazon 머신 이미지(AMI)**  
NitroTPM 및 UEFI Secure Boot를 활성화하도록 AMI를 미리 구성해야 합니다. 지원되는 AMI에 대한 자세한 내용은 [Amazon EC2 인스턴스에서 NitroTPM을 사용하기 위한 요구 사항](enable-nitrotpm-prerequisites.md) 섹션을 참조하세요.

**메모리 무결성**  
*하이퍼바이저 보호 코드 무결성(HVCI)* 또는 *하이퍼바이저 적용 코드 무결성*이라고도 하는 *메모리 무결성*은 지원되지 않습니다. Credential Guard를 켜기 전에 이 기능이 비활성화되었는지 반드시 확인해야 합니다. 자세한 내용은 [메모리 무결성 비활성화](#disable-memory-integrity) 섹션을 참조하세요.

**인스턴스 유형**  
달리 명시하지 않는 한 `C5`, `C5d`, `C5n`, `C6i`, `C6id`, `C6in`, `C7i`, `C7i-flex`, `M5`, `M5d`, `M5dn`, `M5n`, `M5zn`, `M6i`, `M6id`, `M6idn`, `M6in`, `M7i`, `M7i-flex`, `R5`, `R5b`, `R5d`, `R5dn`, `R5n`, `R6i`, `R6id`, `R6idn`, `R6in` `R7i`, `R7iz`, `T3` 인스턴스 유형은 모든 크기에서 Credential Guard를 지원합니다.  
+ NitroTPM에는 공통적으로 필요한 몇 가지 인스턴스 유형이 있지만 Credential Guard를 지원하려면 인스턴스 유형이 앞의 인스턴스 유형 중 하나여야 합니다.
+ 다음은 Credential Guard를 지원하지 않습니다.
  + 베어 메탈 인스턴스.
  + `C7i.48xlarge`, `M7i.48xlarge`, `R7i.48xlarge` 인스턴스 유형.
인스턴스 유형에 대한 자세한 내용은 [Amazon EC2 Intance Types 설명서](https://docs.aws.amazon.com/ec2/latest/instancetypes/instance-types.html)를 참조하세요.

## 지원되는 인스턴스 시작
<a name="credential-guard-launch-instance"></a>

Amazon EC2 콘솔 또는 AWS Command Line Interface(AWS CLI)를 사용하여 Credential Guard를 지원할 수 있는 인스턴스를 시작할 수 있습니다. 인스턴스를 시작하려면 AWS 리전마다 고유한 호환되는 AMI ID가 필요합니다.

**작은 정보**  
다음 링크를 사용하여 Amazon EC2 콘솔에서 호환되는 Amazon 제공 AMI를 사용하여 인스턴스를 검색하고 시작할 수 있습니다.  
[https://console.aws.amazon.com/ec2/v2/home?#Images:visibility=public-images;v=3;search=:TPM-Windows_Server;ownerAlias=amazon](https://console.aws.amazon.com/ec2/v2/home?#Images:visibility=public-images;v=3;search=:TPM-Windows_Server;ownerAlias=amazon)

------
#### [ Console ]

**인스턴스 시작**  
지원되는 인스턴스 유형과 사전 구성된 Windows AMI를 지정하여 [인스턴스를 시작](ec2-launch-instance-wizard.md)하는 단계를 따르세요.

------
#### [ AWS CLI ]

**인스턴스 시작**  
[https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html](https://docs.aws.amazon.com/cli/latest/reference/ec2/run-instances.html) 명령을 사용하여 지원되는 인스턴스 유형과 미리 구성된 Windows AMI를 사용하여 인스턴스를 시작합니다.

```
aws ec2 run-instances \
    --image-id resolve:ssm:/aws/service/ami-windows-latest/TPM-Windows_Server-2022-English-Full-Base \
    --instance-type c6i.large \
    --region us-east-1 \
    --subnet-id subnet-0abcdef1234567890
    --key-name key-name
```

------
#### [ PowerShell ]

**인스턴스 시작**  
[https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2Instance.html) 명령을 사용하여 지원되는 인스턴스 유형과 미리 구성된 Windows AMI를 사용하여 인스턴스를 시작합니다.

```
New-EC2Instance `
    -ImageId resolve:ssm:/aws/service/ami-windows-latest/TPM-Windows_Server-2022-English-Full-Base `
    -InstanceType c6i.large `
    -Region us-east-1 `
    -SubnetId subnet-0abcdef1234567890 `
    -KeyName key-name
```

------

## 메모리 무결성 비활성화
<a name="disable-memory-integrity"></a>

로컬 그룹 정책 편집기를 사용하여 지원되는 시나리오에서 메모리 무결성을 비활성화할 수 있습니다. **가상화 기반 코드 무결성 보호** 아래 각 구성 설정에 대해 다음 지침을 적용할 수 있습니다.
+ **잠금 없이 활성화** - 메모리 무결성을 비활성화하려면 설정을 **비활성화됨**으로 수정하세요.
+ **UEFI 잠금으로 활성화** – 메모리 무결성이 UEFI 잠금으로 활성화되었습니다. 메모리 무결성을 UEFI 잠금으로 활성화한 후에는 비활성화할 수 없습니다. 메모리 무결성이 비활성화된 새 인스턴스를 생성하고 지원되지 않는 인스턴스를 사용하지 않는 경우 종료하는 것이 좋습니다.

**로컬 그룹 정책 편집기로 메모리 무결성을 비활성화하려면**

1. RDP를 사용하여 관리자 권한이 있는 사용자 계정으로 인스턴스에 연결합니다. 자세한 내용은 [RDP 클라이언트를 사용하여 Windows 인스턴스에 연결](connect-rdp.md) 섹션을 참조하세요.

1. 시작 메뉴를 열고 **cmd**를 검색하여 명령 프롬프트를 시작합니다.

1. `gpedit.msc` 명령을 실행하여 로컬 그룹 정책 편집기를 엽니다.

1. 로컬 그룹 정책 편집기에서 **컴퓨터 구성**, **관리 템플릿**, **시스템** 및 **디바이스 가드**를 선택합니다.

1. **가상화 기반 보안 켜기**를 선택한 다음 **정책 설정 편집**을 선택합니다.

1. **가상화 기반 코드 무결성 보호**에 대한 설정 드롭다운을 열고 **비활성화**를 선택한 후 **적용**을 선택합니다.

1. 인스턴스를 재부팅하여 변경 사항을 적용합니다.

## Credential Guard 켜기
<a name="turn-on-credential-guard"></a>

지원되는 인스턴스 유형과 호환되는 AMI로 Windows 인스턴스를 시작하고 메모리 무결성이 비활성화되었음을 확인한 후 Credential Guard를 켤 수 있습니다.

**중요**  
다음 단계를 수행하여 Credential Guard를 켜려면 관리자 권한이 필요합니다.

**Credential Guard 켜기**

1. RDP를 사용하여 관리자 권한이 있는 사용자 계정으로 인스턴스에 연결합니다. 자세한 내용은 [RDP 클라이언트를 사용하여 Windows 인스턴스에 연결](connect-rdp.md) 섹션을 참조하세요.

1. 시작 메뉴를 열고 **cmd**를 검색하여 명령 프롬프트를 시작합니다.

1. `gpedit.msc` 명령을 실행하여 로컬 그룹 정책 편집기를 엽니다.

1. 로컬 그룹 정책 편집기에서 **컴퓨터 구성**, **관리 템플릿**, **시스템** 및 **디바이스 가드**를 선택합니다.

1. **가상화 기반 보안 켜기**를 선택한 다음 **정책 설정 편집**을 선택합니다.

1. **가상화 기반 보안 켜기** 메뉴에서 **활성화**를 선택합니다.

1. **플랫폼 보안 수준 선택**에서 **보안 부팅 및 DMA 보호**를 선택합니다.

1. **Credential Guard 구성**에서 **UEFI 잠금으로 활성화**를 선택합니다.
**참고**  
나머지 정책 설정은 Credential Guard를 활성화하는 데 필요하지 않으며 **구성되지 않음**으로 둘 수 있습니다.

   다음 이미지에는 앞서 설명한 대로 구성된 VBS 설정이 표시됩니다.  
![\[\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/vbs-credential-guard-gpo-enabled.png)

1. 인스턴스를 재부팅하여 설정을 적용합니다.

## Credential Guard가 실행 중인지 확인
<a name="verify-credential-guard"></a>

Microsoft 시스템 정보(`Msinfo32.exe`) 도구를 사용하여 Credential Guard가 실행 중인지 확인할 수 있습니다.

**중요**  
먼저 인스턴스를 재부팅하여 Credential Guard를 활성화하는 데 필요한 정책 설정 적용을 마쳐야 합니다.

**Credential Guard가 실행 중인지 확인**

1. 원격 데스크톱 프로토콜(RDP)을 사용하여 인스턴스에 연결합니다. 자세한 내용은 [RDP 클라이언트를 사용하여 Windows 인스턴스에 연결](connect-rdp.md) 섹션을 참조하세요.

1. 인스턴스에 대한 RDP 세션 내에서 시작 메뉴를 열고 **cmd**를 검색하여 명령 프롬프트를 시작합니다.

1. `msinfo32.exe` 명령을 실행하여 시스템 정보를 엽니다.

1. Microsoft 시스템 정보 도구는 VBS 구성의 세부 정보를 나열합니다. 가상화 기반 보안 서비스 옆에서 **Credential Guard**가 **실행 중**으로 표시되는지 확인합니다.

   다음 이미지에는 앞서 설명한 대로 VBS가 실행 중임이 표시됩니다.  
![\[\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/images/vbs-credential-guard-msinfo32-enabled.png)