본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 Cisco IOS® XE 라우터에 대한 AnyConnect IPSec 연결을 위해 외부 2단계 인증을 구성하는 방법에 대해 설명합니다.
기고자: Sadhana K S 및 Rishabh Aggarwal Cisco TAC 엔지니어
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
AnyConnect 사용자는 ISE 서버에서 사용자 이름 및 비밀번호로 인증합니다. Duo Authentication Proxy 서버는 또한 푸시 알림(push notification) 형태의 추가 인증을 사용자의 모바일 디바이스로 전송한다.
구성을 완료하려면 다음 섹션을 고려하십시오.
1. RADIUS 서버를 구성합니다. RADIUS 서버의 IP 주소는 Duo 인증 프록시의 IP여야 합니다.
radius server rad_server
address ipv4 10.197.243.97 auth-port 1812 acct-port 1813
timeout 120
key cisco
2. RADIUS 서버를 다음과 같이 구성합니다 aaa
로컬로 인증 및 권한 부여
aaa new-model
aaa group server radius FlexVPN_auth_server
server name rad_server
aaa authentication login FlexVPN_auth group FlexVPN_auth_server
aaa authorization network FlexVPN_authz local
3. 로컬 인증을 위해 ID 인증서가 없는 경우 ID 인증서를 설치하기 위해 신뢰 지점을 만듭니다. 인증서 생성에 대한 자세한 내용은 PKI의 Certificate Enrollment(인증서 등록)를 참조하십시오.
crypto pki trustpoint TP_AnyConnect
enrollment url http://x.x.x.x:80/certsrv/mscep/mscep.dll
usage ike
serial-number none
fqdn flexvpn-C8000V.cisco.com
ip-address none
subject-name cn=flexvpn-C8000V.cisco.com
revocation-check none
rsakeypair AnyConnect
4. (선택 사항) 스플릿 터널에 사용할 표준 액세스 목록을 구성합니다. 이 액세스 목록은 VPN 터널을 통해 액세스할 수 있는 대상 네트워크로 구성됩니다. 스플릿 터널이 구성되지 않은 경우 기본적으로 모든 트래픽이 VPN 터널을 통과합니다.
ip access-list standard split-tunnel-acl
10 permit 192.168.11.0 0.0.0.255
20 permit 192.168.12.0 0.0.0.255
5. IPv4 주소 풀을 생성합니다.
ip local pool SSLVPN_POOL 192.168.13.1 192.168.13.10
생성된 IP 주소 풀은 성공적인 AnyConnect 연결 중에 AnyConnect 클라이언트에 IPv4 주소를 할당합니다.
6. 권한 부여 정책을 구성합니다.
crypto ikev2 authorization policy ikev2-authz-policy
pool SSLVPN_POOL
dns 10.106.60.12
route set access-list split-tunnel-acl
IP 풀, DNS, 스플릿 터널 목록 등은 권한 부여 정책에 지정됩니다.
참고: 맞춤형 IKEv2 권한 부여 정책이 구성되지 않은 경우 'default'라는 기본 권한 부여 정책이 권한 부여에 사용됩니다. IKEv2 권한 부여 정책에 지정된 특성은 RADIUS 서버를 통해 푸시될 수도 있습니다.
7. IKEv2 제안서 및 정책을 구성합니다.
crypto ikev2 proposal FlexVPN_IKEv2_Proposal
encryption aes-cbc-128
integrity sha384
group 19
crypto ikev2 policy FlexVPN_IKEv2_Policy
match fvrf any
proposal FlexVPN_IKEv2_Proposal
8. AnyConnect 클라이언트 프로파일을 라우터의 부트플래시에 업로드하고 지정된 대로 프로파일을 정의합니다.
crypto vpn anyconnect profile Client_Profile bootflash:/Client_Profile.xml
9. HTTP 보안 서버를 비활성화합니다.
no ip http secure-server
10. SSL 정책을 구성하고 라우터의 WAN IP를 프로파일 다운로드를 위한 로컬 주소로 지정합니다.
crypto ssl policy ssl-server
pki trustpoint TP_AnyConnect sign
ip address localport 443
11. virtual-access int가 시작되는 가상 템플릿을 구성합니다인터페이스가 복제됩니다.
interface Virtual-Template20 type tunnel
ip unnumbered GigabitEthernet1
unnumbered 명령은 구성된 인터페이스(GigabitEthernet1)에서 IP 주소를 가져옵니다.
13. 모든 connection-relat를 포함하는 IKEv2 프로파일을 구성합니다ed 정보.
crypto ikev2 profile Flexvpn_ikev2_Profile
match identity remote any
authentication local rsa-sig
authentication remote eap query-identity
pki trustpoint TP_AnyConnect
dpd 60 2 on-demand
aaa authentication eap FlexVPN_auth
aaa authorization group eap list FlexVPN_authz ikev2-authz-policy
aaa authorization user eap cached
virtual-template 20 mode auto
anyconnect profile Client_Profile
IKEv2 프로파일에서 사용됩니다.
match identity remote any
- 클라이언트의 ID를 나타냅니다. 여기서 'any'는 올바른 자격 증명을 가진 모든 클라이언트가 연결할 수 있도록 구성됩니다authentication remote
- 클라이언트 인증에 EAP 프로토콜을 사용해야 한다는 점을 설명합니다.authentication local
- 인증서를 로컬 인증에 사용해야 한다는 점을 언급합니다.aaa authentication eap
- EAP 인증 중에 RADIUS 서버 FlexVPN_auth
사용aaa authorization group eap list
- 권한 부여 과정에서 네트워크 목록 FlexVPN_authz
권한 부여 정책과 함께 사용됩니다. ikev2-authz-policy
aaa authorization user eap cached
- 암시적 사용자 권한 부여 활성화virtual-template 20 mode auto
- 복제할 가상 템플릿을 정의합니다.anyconnect profile Client_Profile
- 8단계에서 정의한 클라이언트 프로파일이 여기에 이 IKEv2 프로파일에 적용됩니다.14. 변형 집합 및 IPSec 프로필을 구성합니다.
crypto ipsec transform-set TS esp-gcm 256
mode tunnel
crypto ipsec profile Flexvpn_IPsec_Profile
set transform-set TS
set ikev2-profile Flexvpn_ikev2_Profile
15. IPSec 프로필을 가상 템플릿에 추가합니다.
interface Virtual-Template20 type tunnel
tunnel mode ipsec ipv4
tunnel protection ipsec profile Flexvpn_IPsec_Profile
Cisco IOS XE 16.9.1 이전에는 헤드엔드에서 자동 프로파일 다운로드를 사용할 수 없습니다. 16.9.1을 게시하면 헤드엔드에서 프로필을 다운로드할 수 있습니다.
!
!
false
true
false
All
All
false
Native
false
30
false
true
false
false
true
IPv4,IPv6
true
ReconnectAfterResume
false
true
Automatic
SingleLocalLogon
SingleLocalLogon
AllowRemoteUsers
LocalUsersOnly
false
Automatic
false
false
20
4
false
false
true
<ServerList>
<HostEntry>
<HostName>FlexVPN</HostName>
<HostAddress>flexvpn-csr.cisco.com</HostAddress>
<PrimaryProtocol>IPsec
<StandardAuthenticationOnly>true
<AuthMethodDuringIKENegotiation>EAP-MD5</AuthMethodDuringIKENegotiation>
</StandardAuthenticationOnly>
</PrimaryProtocol>
</HostEntry>
</ServerList>
참고: Duo Authentication Proxy는 RADIUS 인증을 사용하는 경우에만 MS-CHAPv2를 지원합니다.
1단계. Duo 인증 프록시 서버를 다운로드하고 설치합니다.
Windows 시스템에 로그인하고 Duo 인증 프록시 서버를 설치합니다.
최소 1개의 CPU, 200MB의 디스크 공간 및 4GB RAM이 있는 시스템을 사용하는 것이 좋습니다.
2단계. 탐색 C:\Program Files\Duo Security Authentication Proxy\conf\
및 열기 authproxy.cfg
인증 프록시를 적절한 세부사항으로 구성합니다.
[radius_client]
host=10.197.243.116
secret=cisco
참고: 여기서 '10.197.243.116'은 ISE 서버의 IP 주소이고 'cisco'는 기본 인증을 확인하기 위해 구성된 비밀번호입니다.
이러한 변경 사항을 적용한 후에는 파일을 저장합니다.
3단계. 열기 Windows 서비스 콘솔(services.msc
). 다시 시작 Duo Security Authentication Proxy Service
.
1단계. 탐색 Administration > Network Devices
, 그리고Add
네트워크 디바이스를 구성합니다.
참고: 바꾸기 x.x.x.x
Duo Authentication Proxy 서버의 IP 주소.
2단계. 구성 Shared Secret
에서 언급했듯이 authproxy.cfg
에서 secret
:
3단계. 탐색 Administration > Identities > Users
.선택 Add
AnyConnect 기본 인증을 위해 ID 사용자를 구성하려면
1단계. Duo 어카운트에 로그인합니다.
탐색 Applications > Protect an Application
. 클릭 Protect
사용할 애플리케이션에 대해 설명합니다. (이 경우 RADIUS)
2단계. 클릭 Protect
사용할 애플리케이션에 대해 설명합니다. (이 경우 RADIUS)
Integration Key, Secret Key 및 API 호스트 이름을 복사하여 authproxy.cfg
Duo Authentication 프록시의 VLAN입니다.
이 값을 복사하고 DUO 인증 프록시로 다시 이동하여 authproxy.cfg
다음과 같이 값을 붙여 넣습니다.
통합 키 = ikey
비밀 키 = skey
API 호스트 이름 = api_host
[radius_server_auto]
ikey=xxxxxxxx
skey=xxxxxxxv1zG
api_host=xxxxxxxx
radius_ip_1=10.106.54.143
radius_secret_1=cisco
failmode=safe
client=radius_client
port=1812
참고: 서버를 구성할 때 Duo 서버에서 ikey, skey 및 api_host를 복사해야 합니다. '10.106.54.143'은 C8000V 라우터의 IP 주소이고 'cisco'는 radius 서버 구성의 라우터에 구성된 키입니다.
이러한 변경 사항을 적용한 후 파일을 다시 저장하고 Duo Security Authentication Proxy Service(Duo 보안 인증 프록시 서비스)를 다시 시작합니다. services.msc
).
3단계. DUO에서 보조 인증용 사용자를 생성합니다.
탐색 Users > Add User
사용자 이름을 입력합니다.
참고: 사용자 이름은 기본 인증 사용자 이름과 일치해야 합니다.
클릭 Add User
. 일단 생성되면 Phones
, c핥기 Add Phone
을 누르고 전화 번호를 입력한 다음 Add Phone
.
Type of authentication을 선택합니다.
선택 Generate Duo Mobile Activation Code
.
선택 Send Instructions by SMS
.
전화기로 전송된 링크를 클릭하면 DUO 앱이 Device Info
섹션, 이미지에 표시된 대로
인증을 테스트하려면 AnyConnect를 통해 사용자의 PC에서 C8000V에 연결합니다.
기본 인증을 위한 사용자 이름 및 비밀번호를 입력합니다.
그런 다음 DUO가 모바일에 푸시하는 것을 수락합니다.
연결이 설정되었습니다.
VPN 헤드엔드에서 이를 확인할 수 있습니다.
1. IKEv2 parameters
R1#sh crypto ikev2 sa detailed
IPv4 Crypto IKEv2 SA
Tunnel-id Local Remote fvrf/ivrf Status
1 10.106.54.143/4500 10.197.243.98/54198 none/none READY
Encr: AES-CBC, keysize: 256, PRF: SHA384, Hash: SHA384, DH Grp:19, Auth sign: RSA, Auth verify: FlexVPN-ikev2_Profile
Life/Active Time: 86400/147 sec
CE id: 1108, Session-id: 15
Status Description: Negotiation done
Local spi: 81094D322A295C92 Remote spi: 802F3CC9E1C33C2F
Local id: 10.106.54.143
Remote id: cisco.com
Remote EAP id: sadks //AnyConnect username
Local req msg id: 0 Remote req msg id: 10
Local next msg id: 0 Remote next msg id: 10
Local req queued: 0 Remote req queued: 10
Local window: 5 Remote window: 1
DPD configured for 60 seconds, retry 2
Fragmentation not configured.
Dynamic Route Update: disabled
Extended Authentication not configured.
NAT-T is detected outside
Cisco Trust Security SGT is disabled
Assigned host addr: 192.168.13.5 //Assigned IP address from the address pool
Initiator of SA : No
2 . Crypto session detail for the vpn session
R1#sh crypto session detail
Crypto session current status
Code: C - IKE Configuration mode, D - Dead Peer Detection
K - Keepalives, N - NAT-traversal, T - cTCP encapsulation
X - IKE Extended Authentication, F - IKE Fragmentation
R - IKE Auto Reconnect, U - IKE Dynamic Route Update
S - SIP VPN
Interface: Virtual-Access2
Profile: FlexVPN-ikev2_Profile
Uptime: 00:01:07
Session status: UP-ACTIVE
Peer: 10.197.243.97 port 54198 fvrf: (none) ivrf: (none)
Phase1_id: cisco.com
Desc: (none)
Session ID: 114
IKEv2 SA: local 10.106.54.143/4500 remote 10.197.243.98/54198 Active
Capabilities:DN connid:1 lifetime:23:58:53
IPSEC FLOW: permit ip 0.0.0.0/0.0.0.0 host 192.168.13.5
Active SAs: 2, origin: crypto map
Inbound: #pkts dec'ed 3 drop 0 life (KB/Sec) 4607998/3532
Outbound: #pkts enc'ed 0 drop 0 life (KB/Sec) 4608000/3532
3 .Verification on ISE live logs
탐색 Operations > Live Logs
ISE에서 기본 인증에 대한 인증 보고서를 볼 수 있습니다.
4. Verification on DUO authentication proxy
DUO Authentication Proxy(DUO 인증 프록시)에서 이 파일로 이동합니다. C:\Program Files\Duo Security Authentication Proxy\log
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Sending request from 10.106.54.143 to radius_server_auto //10.106.54.143 IP address of C8000V
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Received new request id 163 from ('10.106.54.143', 1645)
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): login attempt for username 'sadks'
2022-02-08T23:24:50.080854+0530 [duoauthproxy.lib.log#info] Sending request for user 'sadks' to ('10.197.243.116', 1812) with id 191 //Primary auth sent to ISE 10.197.243.116
2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.log#info] Got response for id 191 from ('10.197.243.116', 1812); code 2 //ISE auth successful
2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.log#info] http POST to https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth
2022-02-08T23:24:50.174606+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Starting factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth '>
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Got preauth result for: 'auth'
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.log#info] http POST to https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth // Proxy is sending secondary auth request to DUO server
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Starting factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth '>
2022-02-08T23:24:51.753590+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Stopping factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/preauth '>
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Duo authentication returned 'allow': 'Success. Logging you in...'
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Returning response code 2: AccessAccept //DUO push successful
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 163): Sending response
2022-02-08T23:24:59.357413+0530 [duoauthproxy.lib.http._DuoHTTPClientFactory#info] Stopping factory <_DuoHTTPClientFactory: b'https://api-xxxx[.]duosecurity[.]com:443/rest/v1/auth '>
IKEv2의 경우
debug crypto ikev2
debug crypto ikev2 client flexvpn
debug crypto ikev2 internal
debug crypto ikev2 packet
debug crypto ikev2 error
IPSec의 경우:
debug crypto ipsec
debug crypto ipsec error
2. DUO 인증 프록시의 경우 로그 파일 proxy-relate를 확인합니다d 로그. (C:\Program Files\Duo Security Authentication Proxy\log
)
ISE가 기본 인증을 거부하는 오류 로그용 코드 조각이 표시됩니다.
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] Sending proxied request for id 26 to ('10.197.243.116', 1812) with id 18
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] Got response for id 18 from ('10.197.243.116', 1812); code 3
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 26): Primary credentials rejected - No reply message in packet
2022-02-07T13:01:39.589679+0530 [duoauthproxy.lib.log#info] (('10.106.54.143', 1645), sadks, 26): Returning response code 3: AccessReject
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
26-Jun-2023 |
최초 릴리스 |