목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

배경 정보

AnyConnect Secure Mobility Client 고려 사항

구성

네트워크 다이어그램

인증서

ISE

1단계. ISE의 네트워크 디바이스에 ASA를 추가합니다.

2단계. 로컬 저장소에 사용자 이름을 생성합니다.

ASA

Windows 7

1단계. CA 인증서를 설치합니다.

2단계. VPN 연결을 구성합니다.

다음을 확인합니다.

Windows 클라이언트

로그

ASA의 디버깅

패킷 레벨

문제 해결

관련 정보

소개

이 문서에서는 표준 EAP(Extensible Authentication Protocol) 인증과 함께 원격 VPN 액세스가 IKEv2(Internet Key Exchange Protocol)를 사용하도록 허용하는 Cisco ASA(Adaptive Security Appliance) 버전 9.3.2 이상에 대한 컨피그레이션 예를 제공합니다.이렇게 하면 네이티브 Microsoft Windows 7 클라이언트(및 기타 표준 기반 IKEv2)가 IKEv2 및 EAP 인증을 사용하여 ASA에 연결할 수 있습니다.

사전 요구 사항

요구 사항

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

- 기본 VPN 및 IKEv2 지식

- AAA(Basic Authentication, Authorization, and Accounting) 및 RADIUS 지식

- ASA VPN 컨피그레이션 경험

- ISE(Identity Services Engine) 구성 경험

사용되는 구성 요소

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

- Microsoft Windows 7

- Cisco ASA 소프트웨어, 버전 9.3.2 이상

- Cisco ISE, 릴리스 1.2 이상

배경 정보

AnyConnect Secure Mobility Client 고려 사항

네이티브 Windows IKEv2 클라이언트는 스플릿 터널을 지원하지 않습니다(Windows 7 클라이언트에서 수락할 수 있는 CONF REPLY 특성이 없음). 따라서 Microsoft 클라이언트에서 사용할 수 있는 유일한 정책은 모든 트래픽(0/0 트래픽 선택기)을 터널링하는 것입니다. 특정 스플릿 터널 정책이 필요한 경우 AnyConnect를 사용해야 합니다.

AnyConnect는 AAA 서버(PEAP, 전송 계층 보안)에서 종료되는 표준화된 EAP 방법을 지원하지 않습니다. AAA 서버에서 EAP 세션을 종료해야 하는 경우 Microsoft 클라이언트를 사용할 수 있습니다.

구성

참고:이 섹션에 사용된 명령에 대한 자세한 내용을 보려면 Command Lookup Tool(등록된 고객만 해당)을 사용합니다.

네트워크 다이어그램

ASA는 인증서로 인증하도록 구성됩니다(클라이언트는 해당 인증서를 신뢰해야 함). Windows 7 클라이언트는 EAP(EAP-PEAP)로 인증하도록 구성됩니다.

ASA는 클라이언트에서 IKEv2 세션을 종료하는 VPN 게이트웨이 역할을 합니다.ISE는 클라이언트에서 EAP 세션을 종료하는 AAA 서버 역할을 합니다.EAP 패킷은 클라이언트와 ASA(IKEv2) 간 트래픽에 대해 IKE_AUTH 패킷으로 캡슐화된 다음 ASA와 ISE 간의 인증 트래픽을 위해 RADIUS 패킷에서 캡슐화됩니다.

인증서

ASA용 인증서를 생성하기 위해 Microsoft CA(Certificate Authority)가 사용되었습니다.Windows 7 기본 클라이언트에서 수락하기 위한 인증서 요구 사항은 다음과 같습니다.

- EKU(Extended Key Usage) 확장에는 서버 인증(템플릿 "웹 서버"가 이 예에서 사용됨)이 포함되어야 합니다.

- Subject-Name에는 연결(이 예에서는 ASAv.example.com)을 위해 클라이언트에서 사용할 FQDN(Fully Qualified Domain Name)이 포함되어야 합니다.

Microsoft 클라이언트에 대한 자세한 내용은 IKEv2 VPN 연결 문제 해결을 참조하십시오.

참고:Android 4.x는 보다 제한적이며 RFC 6125에 따라 올바른 주체 대체 이름이 필요합니다.Android에 대한 자세한 내용은 Android strongSwan에서 Cisco IOS with EAP and RSA Authentication으로 IKEv2를 참조하십시오.

ASA에서 인증서 서명 요청을 생성하기 위해 이 컨피그레이션이 사용되었습니다.

hostname ASAv

domain-name example.com

crypto ca trustpoint TP

enrollment terminal

crypto ca authenticate TP

crypto ca enroll TP

ISE

1단계. ISE의 네트워크 디바이스에 ASA를 추가합니다.

관리 > 네트워크 장치를 선택합니다.ASA에서 사용할 사전 공유 비밀번호를 설정합니다.

2단계. 로컬 저장소에 사용자 이름을 생성합니다.

관리 > ID > 사용자를 선택합니다.필요에 따라 사용자 이름을 생성합니다.

ISE가 EAP-PEAP(Protected Extensible Authentication Protocol)를 사용하여 엔드포인트를 인증하기 위해 다른 모든 설정은 기본적으로 활성화되어 있습니다.

ASA

원격 액세스에 대한 컨피그레이션은 IKEv1 및 IKEv2와 유사합니다.

aaa-server ISE2 protocol radius

aaa-server ISE2 (inside) host 10.62.97.21

key cisco

group-policy AllProtocols internal

group-policy AllProtocols attributes

vpn-tunnel-protocol ikev1 ikev2 ssl-client ssl-clientless

ip local pool POOL 192.168.1.10-192.168.1.20 mask 255.255.255.0

crypto ipsec ikev2 ipsec-proposal ipsec-proposal

protocol esp encryption aes-256 aes-192 aes

protocol esp integrity sha-256 sha-1 md5

crypto dynamic-map DYNMAP 10 set ikev2 ipsec-proposal ipsec-proposal

crypto map MAP 10 ipsec-isakmp dynamic DYNMAP

crypto map MAP interface outside

crypto ikev2 policy 10

encryption 3des

integrity sha

group 2

prf sha

lifetime seconds 86400

Windows 7은 IKE_AUTH 패킷에서 IKE-ID 유형 주소를 전송하므로 DefaultRAGroup을 사용하여 연결이 올바른 터널 그룹에 있는지 확인해야 합니다. ASA는 인증서(로컬 인증)를 사용하여 인증하고 클라이언트가 EAP(원격 인증)를 사용하도록 예상합니다. 또한 ASA는 클라이언트가 EAP ID 응답(쿼리 ID)으로 응답하도록 EAP ID 요청을 특별히 보내야 합니다.

tunnel-group DefaultRAGroup general-attributes

address-pool POOL

authentication-server-group ISE

default-group-policy AllProtocols

tunnel-group DefaultRAGroup ipsec-attributes

ikev2 remote-authentication eap query-identity

ikev2 local-authentication certificate TP

마지막으로 IKEv2를 활성화하고 올바른 인증서를 사용해야 합니다.

crypto ikev2 enable outside client-services port 443

crypto ikev2 remote-access trustpoint TP

Windows 7

1단계. CA 인증서를 설치합니다.

ASA에서 제공하는 인증서를 신뢰하려면 Windows 클라이언트가 해당 CA를 신뢰해야 합니다.해당 CA 인증서는 사용자 저장소가 아니라 컴퓨터 인증서 저장소에 추가해야 합니다. Windows 클라이언트는 컴퓨터 저장소를 사용하여 IKEv2 인증서를 검증합니다.

CA를 추가하려면 MMC > 스냅인 추가 또는 제거 > 인증서를 선택합니다.

컴퓨터 계정 라디오 버튼을 클릭합니다.

CA를 신뢰할 수 있는 루트 인증 기관으로 가져옵니다.

Windows 클라이언트가 ASA에서 제공한 인증서를 검증할 수 없는 경우 다음을 보고합니다.

13801: IKE authentication credentials are unacceptable

2단계. VPN 연결을 구성합니다.

네트워크 및 공유 센터에서 VPN 연결을 구성하려면 VPN 연결을 생성하려면 Connect to a workplace(작업 공간에 연결)를 선택합니다.

Use my Internet connection (VPN)(내 인터넷 연결 사용(VPN)을 선택합니다.

ASA FQDN으로 주소를 구성합니다.DNS(Domain Name Server)에서 올바르게 확인했는지 확인합니다.

필요한 경우 Protected EAP Properties(보호된 EAP 속성) 창에서 속성(예: 인증서 검증)을 조정합니다.

다음을 확인합니다.

이 섹션을 사용하여 컨피그레이션이 제대로 작동하는지 확인합니다.

Output Interpreter 도구(등록된 고객만 해당)는 특정 show 명령을 지원합니다.show 명령 출력의 분석을 보려면 [출력 인터프리터 도구]를 사용합니다.

Windows 클라이언트

연결할 때 자격 증명을 입력합니다.

인증에 성공하면 IKEv2 컨피그레이션이 적용됩니다.

세션이 UP입니다.

라우팅 테이블이 낮은 메트릭으로 새 인터페이스를 사용하여 기본 경로로 업데이트되었습니다.

C:\Users\admin>route print

===========================================================================

Interface List

41...........................IKEv2 connection to ASA

11...08 00 27 d2 cb 54 ......Karta Intel(R) PRO/1000 MT Desktop Adapter

1...........................Software Loopback Interface 1

15...00 00 00 00 00 00 00 e0 Karta Microsoft ISATAP

12...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface

22...00 00 00 00 00 00 00 e0 Karta Microsoft ISATAP #4

===========================================================================

IPv4 Route Table

===========================================================================

Active Routes:

Network Destination        Netmask          Gateway       Interface  Metric

0.0.0.0          0.0.0.0     192.168.10.1    192.168.10.68   4491

0.0.0.0          0.0.0.0         On-link      192.168.1.10     11

10.62.71.177  255.255.255.255     192.168.10.1    192.168.10.68   4236

127.0.0.0        255.0.0.0         On-link         127.0.0.1   4531

127.0.0.1  255.255.255.255         On-link         127.0.0.1   4531

127.255.255.255  255.255.255.255         On-link         127.0.0.1   4531

192.168.1.10  255.255.255.255         On-link      192.168.1.10    266

192.168.10.0    255.255.255.0         On-link     192.168.10.68   4491

192.168.10.68  255.255.255.255         On-link     192.168.10.68   4491

192.168.10.255  255.255.255.255         On-link     192.168.10.68   4491

224.0.0.0        240.0.0.0         On-link         127.0.0.1   4531

224.0.0.0        240.0.0.0         On-link     192.168.10.68   4493

224.0.0.0        240.0.0.0         On-link      192.168.1.10     11

255.255.255.255  255.255.255.255         On-link         127.0.0.1   4531

255.255.255.255  255.255.255.255         On-link     192.168.10.68   4491

255.255.255.255  255.255.255.255         On-link      192.168.1.10    266

===========================================================================

로그

성공적인 인증 후 ASA는 다음을 보고합니다.

ASAv(config)# show vpn-sessiondb detail ra-ikev2-ipsec

Session Type: Generic Remote-Access IKEv2 IPsec Detailed

Username     : cisco                  Index        : 13

Assigned IP  : 192.168.1.10           Public IP    : 10.147.24.166

Protocol     : IKEv2 IPsecOverNatT

License      : AnyConnect Premium

Encryption   : IKEv2: (1)3DES  IPsecOverNatT: (1)AES256

Hashing      : IKEv2: (1)SHA1  IPsecOverNatT: (1)SHA1

Bytes Tx     : 0                      Bytes Rx     : 7775

Pkts Tx      : 0                      Pkts Rx      : 94

Pkts Tx Drop : 0                      Pkts Rx Drop : 0

Group Policy : AllProtocols           Tunnel Group : DefaultRAGroup

Login Time   : 17:31:34 UTC Tue Nov 18 2014

Duration     : 0h:00m:50s

Inactivity   : 0h:00m:00s

VLAN Mapping : N/A                    VLAN         : none

Audt Sess ID : c0a801010000d000546b8276

Security Grp : none

IKEv2 Tunnels: 1

IPsecOverNatT Tunnels: 1

IKEv2:

Tunnel ID    : 13.1

UDP Src Port : 4500                   UDP Dst Port : 4500

Rem Auth Mode: EAP

Loc Auth Mode: rsaCertificate

Encryption   : 3DES                   Hashing      : SHA1

Rekey Int (T): 86400 Seconds          Rekey Left(T): 86351 Seconds

PRF          : SHA1                   D/H Group    : 2

Filter Name  :

IPsecOverNatT:

Tunnel ID    : 13.2

Local Addr   : 0.0.0.0/0.0.0.0/0/0

Remote Addr  : 192.168.1.10/255.255.255.255/0/0

Encryption   : AES256                 Hashing      : SHA1

Encapsulation: Tunnel

Rekey Int (T): 28800 Seconds          Rekey Left(T): 28750 Seconds

Idle Time Out: 30 Minutes             Idle TO Left : 29 Minutes

Bytes Tx     : 0                      Bytes Rx     : 7834

Pkts Tx      : 0                      Pkts Rx      : 95

ISE 로그는 기본 인증 및 권한 부여 규칙을 통한 성공적인 인증을 나타냅니다.

세부 정보는 PEAP 방법을 나타냅니다.

ASA의 디버깅

가장 중요한 디버그에는 다음이 포함됩니다.

ASAv# debug crypto ikev2 protocol 32

<most debugs omitted for clarity....

ASA에서 받은 IKE_SA_INIT 패킷(DH(Diffie-Hellman)에 대한 IKEv2 제안서와 키 교환 포함):

IKEv2-PROTO-2: Received Packet [From 10.147.24.166:500/To 10.62.71.177:500/VRF i0:f0]

Initiator SPI : 7E5B69A028355701 - Responder SPI : 0000000000000000 Message id: 0

IKEv2 IKE_SA_INIT Exchange REQUESTIKEv2-PROTO-3: Next payload: SA,

version: 2.0 Exchange type: IKE_SA_INIT, flags: INITIATOR Message id: 0, length: 528

Payload contents:

SA  Next payload: KE, reserved: 0x0, length: 256

last proposal: 0x2, reserved: 0x0, length: 40

Proposal: 1, Protocol id: IKE, SPI size: 0, #trans: 4    last transform: 0x3,

reserved: 0x0: length: 8

.....

개시자에 대한 IKE_SA_INIT 응답(IKEv2 제안서, DH에 대한 키 교환 및 인증서 요청 포함):

IKEv2-PROTO-2: (30): Generating IKE_SA_INIT message

IKEv2-PROTO-2: (30): IKE Proposal: 1, SPI size: 0 (initial negotiation),

Num. transforms: 4

(30):    3DES(30):    SHA1(30):    SHA96(30):    DH_GROUP_1024_MODP/Group

2IKEv2-PROTO-5:

Construct Vendor Specific Payload: DELETE-REASONIKEv2-PROTO-5: Construct Vendor

Specific Payload: (CUSTOM)IKEv2-PROTO-5: Construct Notify Payload:

NAT_DETECTION_SOURCE_IPIKEv2-PROTO-5: Construct Notify Payload:

NAT_DETECTION_DESTINATION_IPIKEv2-PROTO-5: Construct Vendor Specific Payload:

FRAGMENTATION(30):

IKEv2-PROTO-2: (30): Sending Packet [To 10.147.24.166:500/From

10.62.71.177:500/VRF i0:f0]

IKE-ID, 인증서 요청, 제안된 변형 집합, 요청된 컨피그레이션 및 트래픽 선택기가 있는 클라이언트의 IKE_AUTH:

IKEv2-PROTO-2: (30): Received Packet [From 10.147.24.166:4500/To 10.62.71.177:500/VRF

i0:f0]

(30): Initiator SPI : 7E5B69A028355701 - Responder SPI : 1B1A94C7A7739855 Message id: 1

(30): IKEv2 IKE_AUTH Exchange REQUESTIKEv2-PROTO-3: (30): Next payload: ENCR,

version: 2.0 (30): Exchange type: IKE_AUTH, flags: INITIATOR (30): Message id: 1,

length: 948(30):

EAP ID 요청을 포함하는 ASA의 IKE_AUTH 응답(EAP 확장의 첫 번째 패킷). 해당 패킷에는 인증서도 포함됩니다(ASA에 올바른 인증서가 없으면 오류가 발생함).

IKEv2-PROTO-2: (30): Generating EAP request

IKEv2-PROTO-2: (30): Sending Packet [To 10.147.24.166:4500/From 10.62.71.177:4500/VRF

i0:f0]

ASA에서 받은 EAP 응답(길이 5, 페이로드:cisco):

(30): REAL Decrypted packet:(30): Data&colon; 14 bytes

(30):  EAP(30):   Next payload: NONE, reserved: 0x0, length: 14

(30):     Code: response: id: 36, length: 10

(30):     Type: identity

(30): EAP data&colon; 5 bytes

그런 다음 여러 패킷이 EAP-PEAP의 일부로 교환됩니다.마지막으로 ASA에서 EAP 성공을 수신하고 신청자에게 전달됩니다.

Payload contents:

(30):  EAP(30):   Next payload: NONE, reserved: 0x0, length: 8

(30):     Code: success: id: 76, length: 4

피어 인증 성공:

IKEv2-PROTO-2: (30): Verification of peer's authenctication data PASSED

VPN 세션이 올바르게 완료되었습니다.

패킷 레벨

EAP ID 요청은 ASA에서 보내는 IKE_AUTH의 "Extensible Authentication"으로 캡슐화됩니다.ID 요청과 함께 IKE_ID 및 인증서가 전송됩니다.

모든 후속 EAP 패킷은 IKE_AUTH에 캡슐화됩니다.서 플리 컨 트가 방법 (EAP-PEAP) 확인 한 후 인증에 사용 된 MSCHAPv2 세션을 보호 하는 SSL (Secure Sockets Layer) 터널을 만들기 시작 합니다.

여러 패킷이 교환된 후 ISE는 성공을 확인합니다.

IKEv2 세션은 ASA에 의해 완료되고, 최종 컨피그레이션(할당된 IP 주소와 같은 값으로 컨피그레이션 응답), 변형 집합 및 트래픽 선택기가 VPN 클라이언트에 푸시됩니다.

문제 해결

현재 이 컨피그레이션에 사용할 수 있는 특정 문제 해결 정보가 없습니다.

관련 정보

- Cisco ASA Series VPN CLI 컨피그레이션 가이드, 9.3

- Cisco Identity Services Engine 사용 설명서, 릴리스 1.2

- 기술 지원 및 문서 − Cisco Systems