Duo와 AWS Managed Microsoft AD를 함께 사용하여 AWS 클라이언트 VPN 엔드포인트에 연결하는 최종 사용자에게 멀티 팩터 인증을 제공하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2020년 4월 13일

Duo와 AWS Directory Service for Microsoft Active Directory를 함께 사용하여 AWS 클라이언트 VPN 엔드포인트에 연결하는 최종 사용자에게 멀티 팩터 인증(MFA)을 제공하려면 어떻게 해야 합니까?

간략한 설명

AWS 클라이언트 VPN은 다음과 같은 유형의 최종 사용자 인증을 지원합니다.

  • 상호 인증
  • Active Directory 인증
  • 이중 인증(상호+Active Directory 인증)

MFA 서비스는 Active Directory(클라이언트 VPN에서 직접 활성화되지 않음)에서 활성화되어야 합니다. Active Directory 유형이 MFA를 지원하는지 확인합니다. MFA 기능은 신규 및 기존 클라이언트 VPN에서 모두 지원됩니다.

Duo를 사용하여 클라이언트 VPN 엔드포인트에 연결하는 최종 사용자의 MFA를 설정하려면 다음을 수행합니다.

  • 먼저 IT 관리자 구성 작업을 완료하여 필요한 서비스를 설정합니다.
  • 그런 다음 각 최종 사용자가 최종 사용자 구성 작업을 완료하여 클라이언트 VPN 엔드포인트에 대한 보안 연결을 설정하도록 합니다.

해결 방법

IT 관리자 구성 작업:

AWS Managed Microsoft AD 생성 및 구성

1.    AWS Managed Microsoft AD 디렉터리를 생성합니다.

2.    Amazon Elastic Compute Cloud(Amazon EC2) Windows 인스턴스를 AWS Managed Microsoft AD 디렉터리에 조인합니다.

이 인스턴스는 Active Directory에 서비스를 설치하는 데 사용됩니다. 이 인스턴스는 Active Directory의 사용자 및 그룹을 관리하는 데에도 사용됩니다. 인스턴스를 시작할 때 인스턴스가 Active Directory와 연결되어 있어야 합니다. 또한 "AmazonEC2RoleforSSM" 정책이 연결된 IAM 역할을 추가해야 합니다.

3.    Active Directory 서비스를 설치한 다음 Active Directory 사용자 및 그룹을 구성합니다.

먼저 다음 명령을 사용하여 2단계에서 생성한 인스턴스에 로그인합니다(또는 원격 데스크톱 연결을 사용하여 연결). <Your Admin password>를 1단계에서 Active Directory에 대해 생성한 관리자 암호로 바꿔야 합니다.

User name: Admin@ad_DNS_name
Password: <Your Admin password> 

그런 다음 PowerShell을 사용하여 관리자 모드에서 다음 서비스를 설치합니다.

install-windowsfeature rsat-ad-tools, rsat-ad-admincenter, gpmc, rsat-dns-server -confirm:$false

그런 다음 Active Directory 사용자 및 Active Directory 그룹을 생성합니다. 그런 다음 이러한 사용자를 적절한 Active Directory 그룹에 추가합니다.

참고: 이러한 Active Directory 사용자는 AWS 클라이언트 VPN 엔드포인트에 연결할 최종 사용자와 동일합니다.

마지막으로 다음 명령을 사용하여 Active Directory 그룹의 SID를 검색합니다. <Your-AD-group-name>을 Active Directory 그룹 이름으로 바꿔야 합니다.

Get-ADGroup -Identity <Your-AD-group-name>

참고: AWS 클라이언트 VPN 권한 부여 규칙을 구성할 때 이 그룹의 Active Directory 사용자에게 권한을 부여하려면 SID가 필요합니다.

Duo 설치 및 구성

1.    Duo 웹 사이트에서 Duo 계정에가입하고 로그인합니다.

2.    모바일 디바이스에 Duo 애플리케이션을 설치합니다. Duo로부터 문자 또는 푸시 알림을 받으면 지침에 따라 Duo 계정을 인증합니다.

3.    Duo 웹 계정의 왼쪽 탐색 창에서 [Applications(애플리케이션)]을 선택합니다.

4.    RADIUS를 선택하여 설치합니다.

5.    탐색 창에서 [Users(사용자)], [Add User(사용자 추가)]를 차례로 선택합니다.

6.    [Username(사용자 이름)]에 최종 사용자의 사용자 이름을 입력합니다. 이러한 사용자 이름은 Active Directory 사용자의 이름 및 최종 사용자가 나중에 Client VPN 엔드포인트에 대한 연결을 인증하는 데 사용하는 사용자 이름과 일치해야 합니다.

7.    개별 사용자를 선택하고 전화 번호를 추가합니다. 이 전화번호는 최종 사용자가 해당 MFA 코드를 수신하는 위치입니다.

8.    [Activate Duo Mobile(Duo Mobile 활성화)]를 선택한 다음 각 사용자에 대해 [Generate Duo Mobile Activation Code(Duo Mobile 활성화 코드 생성)]를 선택합니다. 두 가지 방법을 사용하여 사용자에게 정품 인증 링크를 알릴 수 있습니다. 첫 번째 방법은 [Send Instructions by SMS(SMS로 지침 전송)]를 선택하여 각 최종 사용자에게 이 정품 인증 링크를 이메일로 보내는 것입니다. 두 번째 방법은 이 단계를 건너뛰도록 선택하는 것입니다. 그런 다음 각 최종 사용자에 대한 각 정품 인증 링크를 복사하고 해당 사용자에게 수동으로 링크를 보냅니다.

9.    다른 EC2 Windows 인스턴스를 시작합니다. 이 인스턴스는 Duo Radius 애플리케이션을 구성하고 관리하는 데 사용됩니다. 인스턴스가 Active Directory와 연결되어 있고, 올바른 AWS Identity and Access Management(IAM) 역할이 있고, 인터넷에 액세스할 수 있는지 확인합니다. 보안 그룹, 네트워크 액세스 제어 목록 및 라우팅 테이블을 확인합니다.

10.    9단계에서 시작한 Radius EC2 인스턴스에 로그인합니다. 그런 다음 Duo 웹 사이트에서 Windows용 인증 프록시를 설치합니다.

11.    C:\Program Files(x86)\Duo Security Authentication Proxy\conf\authproxy.cfg에 있는 "authproxy.cfg" config 파일로 이동합니다.

12.    구성 파일을 다음과 같이 편집합니다.

[duo_only_client]
[radius_server_auto]
ikey=XXX
skey=YYY
api_host=api-ZZZ.duosecurity.com
radius_ip_1=<AD-DNS-address#1>
radius_secret_1=<My-password>
radius_ip_2=<AD-DNS-address#2>
radius_secret_2=<My-password>
failmode=safe
client=duo_only_client
port=1812

ikey (통합 키), skey (비밀 키) 및 api_host (Duo의 API 호스트 이름)의 값을 찾으려면:

  • Duo 웹 사이트에서 Duo web account(Duo 웹 계정)에 로그인합니다.
  • [Dashboard(대시보드)], [Applications(애플리케이션)], [Radius(반경)]를 선택합니다.
  • [Details(세부 정보)] 아래의 값을 참조합니다.

radius_ip_1 및 radius_ip_2의 값을 찾으려면:

  • AWS Management Console에 로그인합니다.
  • [디렉터리 서비스]를 선택한 다음 [디렉터리]를 선택합니다.
  • Active Directory를 선택합니다.
  • [Details(세부 정보)]의 [DNS address(DNS 주소)] 섹션에서 address_ip # 1 및 address_ip # 2를 참조합니다.
    참고: AWS AD_connector를 사용하는 경우 address_ip # 1과 address_ip#2AD_connector의 IP입니다.

선택 사항으로 다음을 수행할 수 있습니다.

  • 고유한 radius_secret_key를 설정합니다.
  • 필요한 경우 [port(포트)]를 변경합니다.

보안 그룹 구성 수정

1.    AWS Management Console에 로그인합니다.

2.    [보안 그룹]을 선택합니다.

3.    디렉터리 컨트롤러에 대한 보안 그룹을 선택합니다.

4.    Active Directory 보안 그룹에 대한 아웃바운드 규칙을 편집하여 Radius 서버의 대상 IP(프라이빗 IP)에 대해 UDP 1812(또는 Radius 서비스 포트)를 허용합니다. 또는 사용 사례에서 허용하는 경우 모든 트래픽을 허용할 수 있습니다.

Duo 인증 서비스가 실행 중인지 확인

1.    Radius EC2 Windows 인스턴스에 로그인합니다.

2.    [서비스]에서 [Duo 보안 인증 프록시 서비스]를 찾습니다. 서비스가 [실행 중] 상태가 아닌 경우 [서비스 시작]을 선택합니다.

AWS Microsoft Managed AD에서 MFA 활성화

1.    [디렉터리 서비스]를 선택한 다음 [디렉터리]를 선택합니다.

2.    Active Directory를 선택합니다.

3.    [네트워킹 및 보안]에서 [멀티 팩터 인증]을 선택합니다. 그런 다음 [작업], [활성화]를 선택합니다.

4.    다음을 지정합니다.

  • RADIUS 서버 DNS 이름 또는 IP 주소: EC2 Windows 인스턴스의 프라이빗 IP 주소를 입력합니다.
  • 포트: "authproxy.cfg" 파일에 지정된 포트를 입력합니다.
  • 공유 비밀 코드: "authproxy.cfg" 파일의 radius_secret_key 값을 입력합니다.
  • 프로토콜: PAP를 선택합니다.
  • 서버 제한 시간: 원하는 값을 설정합니다.
  • 최대 RADIUS 요청 재시도: 원하는 값을 설정합니다.

AWS 클라이언트 VPN 엔드포인트 생성

1.    AWS Microsoft Managed AD 및 MFA를 설정한 후 MFA가 활성화된 Active Directory를 사용하여 클라이언트 VPN 엔드포인트를 생성합니다.

2.    새 클라이언트 구성 파일을 다운로드하여 최종 사용자에게 배포합니다.
참고: AWS Management Console, AWS 명령줄 인터페이스(AWS CLI) 또는 API 명령에서 클라이언트 구성 파일을 다운로드할 수 있습니다.

3.    클라이언트 구성 파일에 다음 파라미터가 포함되어 있는지 확인합니다.

auth-user-pass
static-challenge "Enter MFA code " 1

참고: 이중 인증(예: 상호 인증 + Active Directory 인증)을 사용하는 경우 구성 파일에 클라이언트 <cert><key>를 추가해야 합니다.

최종 사용자 구성 태스크:

1.    IT 관리자가 제공한 정품 인증 링크를 따라 모바일 디바이스에 Duo 애플리케이션을 설치합니다.

2.    데스크톱용 AWS 클라이언트 VPN 도구를 설치합니다.
참고: 다른 표준 OpenVPN 기반 클라이언트 도구를 사용하여 클라이언트 VPN 엔드포인트에 연결할 수도 있습니다.

3.    IT 관리자가 제공한 클라이언트 구성 파일을 사용하여 프로파일을 생성합니다.

4.    클라이언트 VPN 엔드포인트에 연결하려면 메시지가 표시될 때 Active Directory 사용자 자격 증명을 입력합니다. 그런 다음 Duo 애플리케이션에서 생성한 MFA 코드를 입력합니다.


이 문서가 도움이 되었습니까?

AWS에서 개선해야 할 부분이 있습니까?


도움이 필요하십니까?