목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

배경 정보

네트워크 다이어그램 및 시나리오

통신 과정

Active Directory 구성

Duo 구성

Duo 인증 프록시 컨피그레이션

Cisco ISE 컨피그레이션

Cisco ASA RADIUS/ISE 컨피그레이션

Cisco ASA Remote Access VPN 구성

테스트

문제 해결

작업 디버그

소개

이 문서에서는 ASA에 연결된 AnyConnect 클라이언트에 대한 2단계 인증으로서 AD 및 ISE와의 Duo Push 통합에 대해 설명합니다.

사전 요구 사항

요구 사항

다음 주제에 대한 지식을 보유하고 있으면 유용합니다.

- ASA의 RA VPN 컨피그레이션

- ASA의 RADIUS 컨피그레이션

- ISE

- 액티브 디렉토리

- Duo 애플리케이션

사용되는 구성 요소

이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.

- Microsoft 2016 서버

- ASA 9.14(3)18

- ISE Server 3.0

- Duo 서버

- Duo 인증 프록시 관리자

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.

배경 정보

이 문서에서는 Cisco ASA(Adaptive Security Appliance)에 연결하는 AnyConnect 클라이언트에 대해 AD(Active Directory) 및 Cisco ISE(Identity Service Engine)와의 Duo Push 통합을 2단계 인증으로 구성하는 방법에 대해 설명합니다.

네트워크 다이어그램 및 시나리오

통신 과정

https://duo.com/docs/ciscoise-radius

1. Cisco ISE에 대한 기본 인증 시작

2. Cisco ASA가 Duo 인증 프록시에 인증 요청 전송

3. 기본 인증에서는 Active Directory 또는 RADIUS를 사용합니다.

4. Duo 인증 프록시 연결이 TCP 포트 443을 통해 Duo 보안에 설정됨

5. Duo Security 서비스를 통한 2차 인증

6. Duo 인증 프록시가 인증 응답을 수신함

7. Cisco ISE 액세스 권한 부여됨

사용자 계정:

- Active Directory Admin(Active Directory 관리자): 이 옵션은 Duo 인증 프록시가 기본 인증을 위해 Active Directory 서버에 바인딩할 수 있도록 디렉토리 계정으로 사용됩니다.

- Active Directory 테스트 사용자

- Duo 보조 인증을 위한 테스트 사용자

Active Directory 구성

Windows 서버가 Active Directory 도메인 서비스와 함께 미리 구성되어 있습니다.

참고:RADIUS 듀오 인증 프록시 관리자가 동일한 Active Directory 호스트 시스템에서 실행되는 경우 NPS(네트워크 정책 서버) 역할을 제거/삭제해야 합니다. 두 RADIUS 서비스가 모두 실행되는 경우 충돌하여 성능에 영향을 줄 수 있습니다.

원격 액세스 VPN 사용자의 인증 및 사용자 ID에 대한 AD 컨피그레이션을 수행하려면 몇 가지 값이 필요합니다.

ASA 및 Duo 인증 프록시 서버에서 컨피그레이션을 수행하려면 먼저 Microsoft 서버에서 이러한 모든 세부 정보를 만들거나 수집해야 합니다.

주요 값은 다음과 같습니다.

- 도메인 이름. 서버의 도메인 이름입니다. 이 컨피그레이션 가이드에서는 agarciam.cisco가 도메인 이름입니다.

- 서버 IP/FQDN 주소입니다. Microsoft 서버에 연결하는 데 사용되는 IP 주소 또는 FQDN. FQDN을 사용하는 경우 FQDN을 확인하려면 ASA 및 Duo 인증 프록시 내에서 DNS 서버를 구성해야 합니다.

이 컨피그레이션 가이드에서 이 값은 agarciam.cisco(10.28.17.107로 확인됨)입니다.

- 서버 포트. LDAP 서비스에서 사용하는 포트. 기본적으로 LDAP 및 STARTTLS는 LDAP에 TCP 포트 389를 사용하고 LDAP over SSL(LDAPS)은 TCP 포트 636을 사용합니다.

- 루트 CA. LDAPS 또는 STARTTLS를 사용하는 경우 LDAPS에서 사용하는 SSL 인증서에 서명하는 데 사용되는 루트 CA가 필요합니다.

- 디렉토리 사용자 이름 및 비밀번호. Duo Auth 프록시 서버에서 LDAP 서버에 바인딩하고 사용자를 인증하며 사용자 및 그룹을 검색하는 데 사용되는 계정입니다.

- 기본 및 그룹 DN(고유 이름)입니다. Base DN은 Duo Auth 프록시의 출발점이며 Active Directory에 사용자 검색 및 인증을 시작하도록 지시합니다.

이 컨피그레이션 가이드에서 루트 도메인 agarciam.cisco는 기본 DN으로 사용되며 그룹 DN은 Duo-USERS입니다.

1. 새 Duo 사용자를 추가하려면 Windows Server에서 왼쪽 하단의 Windows 아이콘으로 이동하여 이미지에 표시된 대로 Windows 관리 도구를 클릭합니다.

2. Windows 관리 도구 창에서 Active Directory 사용자 및 컴퓨터로 이동합니다.

Active Directory Users and Computers(Active Directory 사용자 및 컴퓨터) 패널에서 domain(도메인) 옵션을 확장하고 Users(사용자) 폴더로 이동합니다.

이 컨피그레이션에서는 Duo-USERS가 보조 인증을 위한 대상 그룹으로 사용됩니다.

3. 이미지에 표시된 대로 사용자 폴더를 마우스 오른쪽 버튼으로 클릭하고 신규 > 사용자를 선택합니다.

4. 새 객체 사용자 창에서 이 새 사용자에 대한 ID 속성을 지정하고 이미지에 표시된 대로 다음을 클릭합니다.

5. 비밀번호를 확인하고 다음, 사용자 정보가 확인되면 마침을 클릭합니다.

6. 이미지에 표시된 대로 특정 그룹에 새 사용자를 지정하고 마우스 오른쪽 단추로 누른 다음 그룹에 추가를 선택합니다.

7. [그룹 선택] 패널에서 원하는 그룹의 이름을 입력하고 이름 확인을 클릭합니다.

그런 다음 기준과 일치하는 이름을 선택하고 확인을 클릭합니다.

8. 이 문서에서 예로 사용되는 사용자입니다.

Duo 구성

1. Dudo 관리 포털에 로그인합니다.

2. 왼쪽 패널에서 Users(사용자)로 이동하고 Add User(사용자 추가)를 클릭한 다음 Active Domain 사용자 이름과 일치하는 사용자 이름을 입력하고 Add User(사용자 추가)를 클릭합니다.

3. 새 사용자 패널에서 필요한 모든 정보를 빈 칸에 입력합니다.

4. 사용자 장치에서 보조 인증 방법을 지정합니다.

참고:이 문서에서는 Duo push for mobile devices 방법을 사용하므로 전화 장치를 추가해야 합니다.

Add Phone(전화기 추가)을 클릭합니다.

5. 사용자 전화 번호를 입력하고 전화 추가를 클릭합니다.

6. 왼쪽 Duo Admin(듀오 관리자) 패널에서 Users(사용자)로 이동하여 새 사용자를 클릭합니다.

참고:현재 전화기에 액세스할 수 없는 경우 이메일 옵션을 선택할 수 있습니다.

7.Phones(전화기) 섹션으로 이동하고 Activate Duo Mobile(Duo Mobile 활성화)을 클릭합니다.

8. Generate Duo Mobile Activation Code(Duo Mobile 활성화 코드 생성)를 클릭합니다.

9. 전자메일을 통해 지시사항을 수신하려면 전자메일을 선택하고 전자메일 주소를 입력한 후 전자메일로 지시사항 발송을 클릭합니다.

10. 이미지에 표시된 대로 지침이 포함된 이메일을 수신합니다.

11. 모바일 장치에서 Duo Mobile App을 열고 [추가]를 클릭한 다음 [QR 코드 사용]을 선택하고 지침 전자 메일에서 코드를 스캔합니다.

12. Duo Mobile App에 새 사용자가 추가되었습니다.

Duo 인증 프록시 컨피그레이션

1.https://duo.com/docs/authproxy-reference에서 Duo Auth Proxy Manager를 다운로드하여 설치합니다.

참고:이 문서에서는 Duo Auth Proxy Manager가 Active Directory 서비스를 호스트하는 Windows Server에 설치됩니다.

2. Duo Admin(듀오 관리) 패널에서 Applications(애플리케이션)로 이동하고 Protect an Application(애플리케이션 보호)을 클릭합니다.

3. 검색 표시줄에서 Cisco ISE Radius를 찾습니다.

4. 통합 키, 보안 키 및 API 호스트 이름을 복사합니다. Duo Authentication Proxy 컨피그레이션에 이 정보가 필요합니다.

5. Duo Authentication Proxy Manager 애플리케이션을 실행하고 Active Directory 클라이언트와 ISE Radius 서버 모두에 대한 컨피그레이션을 완료한 후 Validate(검증)를 클릭합니다.

참고: 검증에 성공하지 못한 경우 자세한 내용은 디버그 탭을 참조하고 그에 따라 수정하십시오.

Cisco ISE 컨피그레이션

1. ISE 관리 포털에 로그인합니다.

2. Cisco ISE 탭을 확장하고 Administration(관리)으로 이동한 다음 Network Resources(네트워크 리소스)를 클릭하고 External RADIUS Servers(외부 RADIUS 서버)를 클릭합니다.

3. External Radius Servers(외부 Radius 서버) 탭에서 Add(추가)를 클릭합니다.

4. Duo Authentication Proxy Manager에서 사용되는 RADIUS 컨피그레이션으로 빈 칸을 채우고 Submit(제출)을 클릭합니다.

5. RADIUS Server Sequences(RADIUS 서버 시퀀스) 탭으로 이동하고 Add(추가)를 클릭합니다.

6. 시퀀스의 이름을 지정하고 새 RADIUS 외부 서버를 할당한 후 제출을 클릭합니다.

7. 대시보드 메뉴에서 정책으로 이동하고 정책 세트를 클릭합니다.

8. RADIUS 시퀀스를 기본 정책에 할당합니다.

참고:이 문서에서는 모든 연결에 대한 Duo 시퀀스가 적용되므로 기본 정책이 사용됩니다. 정책 할당은 요구 사항에 따라 달라질 수 있습니다.

Cisco ASA RADIUS/ISE 컨피그레이션

1. AAA Server groups(AAA 서버 그룹)에서 ISE RADIUS 서버를 구성하고 Configuration(컨피그레이션)으로 이동한 다음 Device Management(디바이스 관리)를 클릭하고 Users/AAA(사용자/AAA) 섹션을 확장하고 AAA Server Groups(AAA 서버 그룹)를 선택합니다.

2. AAA Server Groups(AAA 서버 그룹) 패널에서 Add(추가)를 클릭합니다.

3. 서버 그룹의 이름을 선택하고 사용할 프로토콜로 RADIUS를 지정한 다음 확인을 클릭합니다.

5. 새 서버 그룹을 선택하고 이미지에 표시된 대로 [선택한 그룹] 패널의 [서버] 아래에서 [추가]를 클릭합니다.

6. Edit AAA Server(AAA 서버 수정) 창에서 인터페이스 이름을 선택하고 ISE 서버의 IP 주소를 지정한 다음 RADIUS 비밀 키를 입력하고 Ok(확인)를 클릭합니다.

참고: 이 모든 정보는 Duo Authentication Proxy Manager에 지정된 정보와 일치해야 합니다.

CLI 컨피그레이션

aaa-server ISE protocol radius

dynamic-authorization

aaa-server ISE (outside) host 10.28.17.101

key *****

Cisco ASA Remote Access VPN 구성

ip local pool agarciam-pool 192.168.17.1-192.168.17.100 mask 255.255.255.0

group-policy DUO internal

group-policy DUO attributes

banner value This connection is for DUO authorized users only!

vpn-tunnel-protocol ikev2 ssl-client

split-tunnel-policy tunnelspecified

split-tunnel-network-list value split-agarciam

address-pools value agarciam-pool

tunnel-group ISE-users type remote-access

tunnel-group ISE-users general-attributes

address-pool agarciam-pool

authentication-server-group ISE

default-group-policy DUO

tunnel-group ISE-users webvpn-attributes

group-alias ISE enable

dns-group DNS-CISCO

테스트

1. PC 장치에서 Anyconnect 앱을 엽니다. VPN ASA 헤드엔드의 호스트 이름을 지정하고 Duo 보조 인증을 위해 생성된 사용자로 로그인한 후 OK(확인)를 클릭합니다.

2. 지정된 사용자 Duo 모바일 장치에서 Duo 푸시 알림을 받았습니다.

3. Duo Mobile App 알림을 열고 승인을 클릭합니다.

4. 배너를 수락하고 연결이 설정됩니다.

문제 해결

이 섹션에서는 설정 문제 해결에 사용할 수 있는 정보를 제공합니다.

Duo Authentication Proxy에는 오류 및 실패 이유를 표시하는 디버그 도구가 제공됩니다.

작업 디버그

참고:다음 정보는 C:\Program Files\Duo Security Authentication Proxy\log\connectivity_tool.log에 저장됩니다.

1. Active Directory 구성에서 연결 문제, 잘못된 IP, 확인할 수 없는 FQDN/호스트 이름

2. Active Directory의 관리자 사용자 암호가 잘못되었습니다.

디버그.

3.기본 도메인이 잘못되었습니다.

디버그.

4. 잘못된 ikey RADIUS 값입니다.

디버그

5. ISE 서버가 액세스 요청 패킷을 전송하는지 확인합니다.

6. Duo Authentication Proxy 서버가 작동하는지 확인하기 위해 Duo는 NTRadPing 툴을 제공하여 Duo와의 액세스 요청 패킷 및 응답을 시뮬레이션합니다.

6.1 다른 PC에 NTRadPing을 설치하고 트래픽을 생성합니다.

참고:이 예에서는 10.28.17.3 Windows 시스템이 사용됩니다.

6.2 ISE Radius 컨피그레이션에 사용되는 특성으로 구성합니다.

6.3 다음과 같이 Duo Authentication Proxy Manager를 구성합니다.

6.4. NTRadPing 도구로 이동하고 Send(보내기)를 클릭합니다. 할당된 모바일 디바이스에서 Duo 푸시 알림을 수신합니다.