소개
이 문서에서는 VPN 게이트웨이가 관리 VPN 터널을 통해 AnyConnect Secure Mobility Client의 연결을 수락하는 경우의 ASA 구성에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- ASDM(Adaptive Security Device Manager)을 통한 VPN 구성
- 기본 ASA(Adaptive Security Appliance) CLI 컨피그레이션
- X509 인증서
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- Cisco ASA 소프트웨어 버전 9.12(3)9
- Cisco ASDM 소프트웨어 버전 7.12.2
- Windows 10(Cisco AnyConnect Secure Mobility Client 버전 4.8.03036)
참고: Cisco Software Download(등록된 고객만 해당)에서 AnyConnect VPN Web Deploy Package(anyconnect-win*.pkg or anyconnect-macos*.pkg
)를 다운로드합니다. AnyConnect VPN 클라이언트를 원격 사용자 컴퓨터에 다운로드할 ASA의 플래시 메모리에 복사하여 ASA와의 SSL VPN 연결을 설정합니다. 자세한 내용은 ASA 컨피그레이션 가이드의 AnyConnect 클라이언트 설치 섹션을 참조하십시오.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
배경 정보
관리 VPN 터널은 최종 사용자가 VPN 연결을 설정하는 경우뿐만 아니라 클라이언트 시스템의 전원이 켜질 때마다 기업 네트워크에 대한 연결을 보장합니다. 사무실 외부 엔드포인트, 특히 사용자가 VPN을 통해 사무실 네트워크에 연결하는 빈도가 낮은 디바이스에 대해 패치 관리를 수행할 수 있습니다. 회사 네트워크 연결이 필요한 엔드포인트 OS 로그인 스크립트도 이 기능을 활용할 수 있습니다.
관리자는 AnyConnect 관리 터널을 사용하여 사용자가 로그인하기 전에 사용자 작업 없이 AnyConnect를 연결할 수 있습니다. AnyConnect 관리 터널은 신뢰할 수 있는 네트워크 탐지와 함께 작동할 수 있으므로 엔드포인트가 오프프레미스 상태이고 사용자가 시작한 VPN에서 연결이 끊어진 경우에만 트리거됩니다. AnyConnect 관리 터널은 엔드 유저에게 투명하며, 사용자가 VPN을 시작하면 자동으로 연결이 끊깁니다.
OS/애플리케이션 |
최소 버전 요구 사항 |
ASA |
9.0.1 |
ASDM |
7.10.1 |
Windows AnyConnect 버전 |
4.7.00136 |
macOS AnyConnect 버전 |
4.7.01076 |
Linux |
지원되지 않음 |
관리 터널 작업
AnyConnect VPN 에이전트 서비스는 시스템 부팅 시 자동으로 시작됩니다. 관리 터널 기능이 (관리 VPN 프로필을 통해) 활성화된 것을 탐지하므로 관리 클라이언트 애플리케이션을 시작하여 관리 터널 연결을 시작합니다. 관리 클라이언트 애플리케이션은 관리 VPN 프로필의 호스트 항목을 사용하여 연결을 시작합니다. 그런 다음 VPN 터널이 평소와 같이 설정됩니다. 단, 관리 터널은 사용자에게 투명하게 설정되므로 관리 터널 연결 중에 소프트웨어 업데이트가 수행되지 않습니다.
사용자는 AnyConnect UI를 통해 VPN 터널을 시작하며, 이는 관리 터널 종료를 트리거합니다. 관리 터널이 종료되면 사용자 터널 설정이 평소와 같이 계속됩니다.
사용자가 VPN 터널을 연결 해제하면 관리 터널의 자동 재설정이 트리거됩니다.
제한 사항
- 사용자 상호 작용이 지원되지 않습니다.
- 머신 인증서 저장소(Windows)를 통한 인증서 기반 인증만 지원됩니다.
- 엄격한 서버 인증서 검사가 시행됩니다.
- 개인 프록시는 지원되지 않습니다.
- 공용 프록시가 지원되지 않습니다. ProxyNative 값은 기본 프록시 설정이 브라우저에서 검색되지 않는 플랫폼에서 지원됩니다.
- AnyConnect 사용자 지정 스크립트는 지원되지 않습니다.
참고: 자세한 내용은 관리 VPN 터널 정보를 참조하십시오.
구성
이 섹션에서는 AnyConnect 클라이언트에서 관리 VPN 터널을 통해 연결을 허용하도록 Cisco ASA를 VPN 게이트웨이로 구성하는 방법에 대해 설명합니다.
ASDM/CLI를 통한 ASA 컨피그레이션
1단계. AnyConnect 그룹 정책을 생성합니다. 로Configuration > Remote Access VPN > Network (Client) Access > Group Policies
이동합니다. 를Add
클릭합니다.
참고: AnyConnect 관리 터널에만 사용되는 새 AnyConnect 그룹 정책을 생성하는 것이 좋습니다.
2단계. 그룹 정책에Name
대한 를 제공합니다. 를 할당/Address Pool
생성합니다. 이미지Tunneling Protocols
에 표시된 대로SSL VPN Client
및/또는IPsec IKEv2
을 선택합니다.
3단계. 로Advanced > Split Tunneling
이동합니다. 를Policy
로Tunnel Network List Below
구성하고 이미지에 표시된Network List
대로 를 선택합니다.
참고: 두 IP 프로토콜(IPv4 및 IPv6) 모두에 대해 클라이언트 주소가 푸시되지 않은 경우, 해당하는 트래픽이 관리 터널에 의해 중단되지 않도록Client Bypass Protocol
enabled
설정을 구성해야 합니다. 구성하려면 4단계를 참조하십시오.
4단계. 로Advanced > AnyConnect Client
이동합니다. 로Client Bypass Protocol
설정합니다Enable
. 이미지에 표시된 대로 클릭하여OK
저장합니다.
5단계. 이 이미지에 표시된 대로 를 클릭하여 ASA에 컨피그레이션을 푸시합니다Apply
.
그룹 정책에 대한 CLI 구성:
ip local pool VPN_Pool 192.168.10.1-192.168.10.100 mask 255.255.255.0
!
access-list VPN-Split standard permit 172.16.0.0 255.255.0.0
!
group-policy AnyConnect_MGMT_Tunnel internal
group-policy AnyConnect_MGMT_Tunnel attributes
vpn-tunnel-protocol ikev2 ssl-client
split-tunnel-network-list value VPN-Split
client-bypass-protocol enable
address-pools value VPN_Pool
6단계. AnyConnect 연결 프로파일을 생성합니다. 로Configuration > Remote Access VPN > Network (Client) Access > AnyConnect Connection Profile
이동합니다. 를Add
클릭합니다.
참고: AnyConnect 관리 터널에만 사용되는 새 AnyConnect 연결 프로파일을 생성하는 것이 좋습니다.
7단계. 연결 프로파일Name
에 대한 을 제공하고 로Authentication Method
설정합니다Certificate only
. 1단계에서 생성한Group Policy
로 를 선택합니다.
참고: 로컬 CA의 루트 인증서가 ASA에 있어야 합니다. 인증서를 추가/보려면Configuration > Remote Access VPN > Certificate Management > CA Certificates
로 이동합니다.
참고: 동일한 로컬 CA에서 발급한 ID 인증서가 머신 인증서 저장소(Windows용) 및/또는 시스템 키 체인(macOS용)에 있는지 확인하십시오.
8단계. 로Advanced > Group Alias/Group URL
이동합니다. 아래Add
를 클릭하고 를Group URLs
추가합니다URL
. 선택Enabled
되었는지 확인합니다. 이미지에 표시된 대로 클릭하여OK
저장합니다.
IKEv2를 사용하는 경우 AnyConnectIPsec (IKEv2) Access
에 사용되는 인터페이스에서 활성화되었는지 확인합니다.
9단계. ASAApply
에 컨피그레이션을 푸시하려면 클릭합니다.
연결 프로파일(터널 그룹)에 대한 CLI 컨피그레이션:
tunnel-group AnyConnect_MGMT_Tunnel type remote-access
tunnel-group AnyConnect_MGMT_Tunnel general-attributes
default-group-policy AnyConnect_MGMT_Tunnel
tunnel-group AnyConnect_MGMT_Tunnel webvpn-attributes
authentication certificate
group-url https://asa.example.com/AnyConnect_MGMT_Tunnel enable
10단계. 신뢰할 수 있는 인증서가 ASA에 설치되어 있고 AnyConnect 연결에 사용되는 인터페이스에 바인딩되어 있는지 확인합니다. 이 설정을 추가/보려면 로 이동합니다Configuration > Remote Access VPN > Advanced > SSL Settings
.
참고: ASA에 ID 인증서 설치를 참조하십시오.
SSL 신뢰 지점에 대한 CLI 구성:
ssl trust-point ROOT-CA outside
AnyConnect 관리 VPN 프로파일 생성
1단계. AnyConnect 클라이언트 프로파일을 생성합니다. 로Configuration > Remote Access VPN > Network (Client) Access > AnyConnect Client Profile
이동합니다. 이미지에 표시된 대로 을 클릭합니다Add
.
2단계. 를Profile Name
제공합니다. 을(를)Profile Usage
(으)로AnyConnect Management VPN profile
선택합니다. 1단계에서Group Policy
생성한 를 선택합니다. 이미지에 표시된 대로 를 클릭합니다OK
.
3단계. 이미지에 표시된 대로 생성된 프로파일을 선택하고 Edit(편집)를 클릭합니다.
4단계. 로 Server List
이동합니다. 이미지Add
에 표시된 대로 새 서버 목록 항목을 추가하려면 를 클릭합니다.
5단계. 를Display Name
제공합니다. ASA를FQDN/IP address
추가합니다. 터널 그룹 이름User Group
으로 를 제공합니다.Group URL
이(가) 자동으로 및 로FQDN
채워집니다User Group
. 를OK
클릭합니다.
참고: FQDN/IP 주소 + 사용자 그룹은 8단계에서 AnyConnect 연결 프로파일 컨피그레이션 중에 언급된 그룹 URL과 동일해야 합니다.
참고: IKEv2를 프로토콜로 사용하는 AnyConnect를 사용하여 ASA에 대한 관리 VPN을 설정할 수도 있습니다. Primary Protocol
단계 5에서IPsec
이(가) 로 설정되었는지 확인합니다.
6단계. 그림에 표시된 대로 저장하려면 를 클릭합니다OK
.
7단계. 이미지Apply
에 표시된 대로 ASA에 컨피그레이션을 푸시하려면 클릭합니다.
AnyConnect 관리 VPN 프로파일 추가 후 CLI 구성
webvpn
enable outside
hsts
enable
max-age 31536000
include-sub-domains
no preload
no anyconnect-essentials
anyconnect image disk0:/anyconnect-win-4.8.02045-webdeploy-k9.pkg 1
anyconnect profiles AnyConnect_MGMT_Profile disk0:/anyconnect_mgmt_profile.vpnm
anyconnect enable
tunnel-group-list enable
cache
disable
error-recovery disable
!
group-policy AnyConnect_MGMT_Tunnel internal
group-policy AnyConnect_MGMT_Tunnel attributes
vpn-tunnel-protocol ikev2 ssl-client
split-tunnel-network-list value VPN-Split
client-bypass-protocol enable
address-pools value VPN_Pool
webvpn
anyconnect profiles value AnyConnect_MGMT_Profile type vpn-mgmt
AnyConnect 클라이언트 머신의 AnyConnect 관리 VPN 프로파일:
<?xml version="1.0" encoding="UTF-8"?>
<AnyConnectProfile xmlns="http://schemas.xmlsoap.org/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.xmlsoap.org/encoding/ AnyConnectProfile.xsd">
<ClientInitialization>
<UseStartBeforeLogon UserControllable="false">false</UseStartBeforeLogon>
true
<ShowPreConnectMessage>false</ShowPreConnectMessage>
Machine
System
true
<ProxySettings>IgnoreProxy</ProxySettings>
<AllowLocalProxyConnections>true</AllowLocalProxyConnections>
<AuthenticationTimeout>30</AuthenticationTimeout>
--- Output Omitted ---
<CaptivePortalRemediationBrowserFailover>false</CaptivePortalRemediationBrowserFailover>
<AllowManualHostInput>false</AllowManualHostInput>
</ClientInitialization>
AnyConnect_MGMT_Tunnel
asa.example.com
AnyConnect_MGMT_Tunnel
</AnyConnectProfile>
참고: 사용자 AnyConnect VPN 프로파일에서 TND(Trusted Network Detection)를 사용하는 경우 일관된 사용자 환경을 위해 관리 VPN 프로파일에서 동일한 설정을 확인하는 것이 좋습니다. 관리 VPN 터널은 사용자 VPN 터널 프로파일에 적용된 TND 설정에 따라 트리거됩니다. 또한 관리 VPN 프로파일의 TND 연결 작업(관리 VPN 터널이 활성 상태일 때만 시행됨)은 관리 VPN 터널이 최종 사용자에게 투명하게 유지되도록 항상 사용자 VPN 터널에 적용됩니다.
참고: 모든 최종 사용자 PC에서 Management VPN 프로필에 TND 설정이 활성화되어 있고 사용자 VPN 프로필이 누락된 경우, 누락된 사용자 VPN 프로필 대신 TND에 대한 기본 환경 설정(AC 클라이언트 애플리케이션의 기본 환경 설정에서 비활성화됨)을 고려합니다. 이러한 불일치는 예기치 않은/정의되지 않은 동작으로 이어질 수 있습니다.
기본적으로 TND 설정은 기본 환경 설정에서 비활성화되어 있습니다.
AnyConnect 클라이언트 애플리케이션에서 기본 환경 설정 하드코딩된 설정을 극복하려면 최종 사용자 PC에 두 개의 VPN 프로파일, 즉 사용자 VPN 프로파일과 AC 관리 VPN 프로파일이 있어야 하며 두 프로파일 모두 동일한 TND 설정이 있어야 합니다.
관리 VPN 터널 연결 및 연결 해제의 논리는 AC 에이전트가 관리 VPN 터널을 설정하기 위해 사용자 VPN 프로필 TND 설정을 사용하고 관리 VPN 터널의 연결을 해제하려면 관리 VPN 프로필 TND 설정을 확인하는 것입니다.
AnyConnect 관리 VPN 프로파일의 구축 방법
- VPN 게이트웨이에서 AnyConnect 관리 VPN 프로파일을 다운로드하기 위해 ASA 연결 프로파일을 사용하여 성공한 사용자 VPN 연결이 완료되었습니다.
참고: 관리 VPN 터널에 사용된 프로토콜이 IKEv2인 경우 SSL을 통해 첫 번째 연결을 설정해야 합니다(ASA에서 AnyConnect 관리 VPN 프로파일을 다운로드하려면).
(선택 사항) Tunnel-All 컨피그레이션을 지원하도록 사용자 지정 특성을 구성합니다
사용자가 시작한 네트워크 통신에 영향을 주지 않으려면 관리 VPN 터널에는 기본적으로 터널링 컨피그레이션이 포함된 분할이 필요합니다. 관리 터널 연결에서 사용하는 그룹 정책에서 사용자 지정 특성을 구성할 때 이를 무시할 수 있습니다.
1단계. 로 이동합니다Configuration > Remote Access VPN > Network (Client) Access > Advanced > AnyConnect Custom Attributes
. 이미지에 표시된 대로 을 클릭합니다.
2단계. 사용자 지정 특성 Type(유형)을ManagementTunnelAllAllowed
로 설정하고 를Description
제공합니다. 이미지에 표시된 대로 을 클릭합니다OK
.
3단계. 로 Configuration > Remote Access VPN > Network (Client) Access > Advanced > AnyConnect Custom Attribute Names
이동합니다. 이미지에 표시된 대로 을 클릭합니다.
4단계. Type as(유형)를 선택합니다ManagementTunnelAllAllowed
. Name(이름)을 로true
설정합니다. 이미지Add
에 표시된 대로 사용자 지정 특성 값을 제공하려면 클릭합니다.
5단계. Value(값)를 로true
설정합니다. 이미지에 표시된 대로 을 클릭합니다OK
.
6단계. 로Configuration > Remote Access VPN > Network (Client) Access > Group Policies
이동합니다. 그룹 정책을 선택합니다. 그림과 같이 를 Edit
클릭합니다.
7단계. 이 이미지에 표시된 대로 로Advanced > Split Tunneling
이동합니다. 정책을 다음으로Tunnel All Networks
구성합니다.
8단계. 로Advanced > Anyconnect Client > Custom Attributes
이동합니다. 이미지에 표시된 대로 을 클릭합니다Add
.
9단계. Attribute type as(특성 유형)를ManagementTunnelAllAllowed
선택하고 Value as(값)를 선택합니다 true
. 이미지에 표시된 대로 클릭합니다 OK
.
10단계. 이미지에 표시된 대로 컨피그레이션을 ASA에 푸시하려면 클릭합니다Apply
.
Custom Attribute가ManagementTunnelAllAllowed
추가된 후 CLI 컨피그레이션:
webvpn
enable outside
anyconnect-custom-attr ManagementTunnelAllAllowed description ManagementTunnelAllAllowed
hsts
enable
max-age 31536000
include-sub-domains
no preload
no anyconnect-essentials
anyconnect image disk0:/anyconnect-win-4.8.02045-webdeploy-k9.pkg 1
anyconnect profiles AnyConnect_MGMT_Profile disk0:/anyconnect_mgmt_profile.vpnm
anyconnect enable
tunnel-group-list enable
cache
disable
error-recovery disable
!
anyconnect-custom-data ManagementTunnelAllAllowed true true
!
group-policy AnyConnect_MGMT_Tunnel internal
group-policy AnyConnect_MGMT_Tunnel attributes
vpn-tunnel-protocol ikev2 ssl-client
split-tunnel-policy tunnelall
client-bypass-protocol enable
address-pools value VPN_Pool
anyconnect-custom ManagementTunnelAllAllowed value true
webvpn
anyconnect profiles value AnyConnect_MGMT_Profile type vpn-mgmt
다음을 확인합니다.
명령을 사용하여 ASA CLI에서 관리 VPN 터널 연결을show vpn-sessiondb detail anyconnect
확인합니다.
ASA# show vpn-sessiondb detail anyconnect
Session Type: AnyConnect Detailed
Username : vpnuser Index : 10
Assigned IP : 192.168.10.1 Public IP : 10.65.84.175
Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel
License : AnyConnect Premium
Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)AES-GCM-256 DTLS-Tunnel: (1)AES-GCM-256
Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA384 DTLS-Tunnel: (1)SHA384
Bytes Tx : 17238 Bytes Rx : 1988
Pkts Tx : 12 Pkts Rx : 13
Pkts Tx Drop : 0 Pkts Rx Drop : 0
Group Policy : AnyConnect_MGMT_Tunnel Tunnel Group : AnyConnect_MGMT_Tunnel
Login Time : 01:23:55 UTC Tue Apr 14 2020
Duration : 0h:11m:36s
Inactivity : 0h:00m:00s
VLAN Mapping : N/A VLAN : none
Audt Sess ID : c0a801010000a0005e9510ab
Security Grp : none
AnyConnect-Parent Tunnels: 1
SSL-Tunnel Tunnels: 1
DTLS-Tunnel Tunnels: 1
--- Output Omitted ---
DTLS-Tunnel:
Tunnel ID : 10.3
Assigned IP : 192.168.10.1 Public IP : 10.65.84.175
Encryption : AES-GCM-256 Hashing : SHA384
Ciphersuite : ECDHE-ECDSA-AES256-GCM-SHA384
Encapsulation: DTLSv1.2 UDP Src Port : 57053
UDP Dst Port : 443 Auth Mode : Certificate
Idle Time Out: 30 Minutes Idle TO Left : 18 Minutes
Client OS : Windows
Client Type : DTLS VPN Client
Client Ver : Cisco AnyConnect VPN Agent for Windows 4.8.03036
Bytes Tx : 17238 Bytes Rx : 1988
Pkts Tx : 12 Pkts Rx : 13
Pkts Tx Drop : 0 Pkts Rx Drop : 0
ASDM에서 관리 VPN 터널 연결을 확인합니다.
Monitoring(모니터링) > VPN > VPN Statistics(VPN 통계) > Sessions(세션)로 이동합니다. 클라이언트 세션을 보려면 AnyConnect 클라이언트로 필터링합니다.
클라이언트 컴퓨터에서 관리 VPN 터널 연결 확인:
문제 해결
새 UI Statistics 라인(Management Connection State(관리 연결 상태))을 사용하여 관리 터널 연결 문제를 해결할 수 있습니다. 일반적으로 나타나는 오류 상태입니다.
연결 끊김(사용 안 함):
- 기능이 비활성화되어 있습니다.
- 사용자 터널 연결(사용자 터널 그룹 정책에 관리 VPN 프로파일을 추가해야 함)을 통해 관리 VPN 프로파일이 클라이언트에 배포되었거나 프로파일 수동 업로드를 통해 대역 외 상태인지 확인합니다.
- 관리 VPN 프로필이 터널 그룹을 포함하는 단일 호스트 항목으로 구성되어 있는지 확인합니다.
연결 끊김(신뢰할 수 있는 네트워크):
- TND가 트러스트된 네트워크를 탐지하여 관리 터널이 설정되지 않았습니다.
연결 끊김(사용자 터널 활성):
연결 끊김(프로세스 시작 실패):
- 관리 터널 연결을 시도하는 동안 프로세스 시작 오류가 발생했습니다.
연결 끊김(연결 실패):
- 관리 터널을 설정하는 동안 연결 오류가 발생했습니다.
- 인증서 인증이 터널 그룹에 구성되어 있고 그룹 정책에 배너가 없으며 서버 인증서를 신뢰할 수 있어야 합니다.
연결 끊김(잘못된 VPN 구성):
- VPN 서버에서 잘못된 스플릿 터널링 또는 클라이언트 바이패스 프로토콜 구성을 받았습니다.
- 설명서에 대한 관리 터널 그룹 정책의 컨피그레이션을 확인합니다.
연결 끊김(소프트웨어 업데이트 보류 중):
- AnyConnect 소프트웨어 업데이트가 현재 보류 중입니다.
연결 끊김:
- 관리 터널이 설치되려고 하거나 다른 이유로 설치할 수 없습니다.
추가 트러블슈팅을 위해 DART를 수집합니다.
관련 정보