본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 Cisco ASA(Adaptive Security Appliance)를 Cisco AnyConnect Secure Mobility Client용 CA(Certificate Authority) 서버 및 SSL(Secure Sockets Layer) 게이트웨이로 설정하는 방법에 대해 설명합니다.
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
ASDM 7.3 이상
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
호환성 차트에 따라 지원되는 OS를 실행하는 PC.
참고: Cisco Software Download(등록된 고객만)에서 AnyConnect VPN 클라이언트 패키지(anyconnect-win*.pkg)를 다운로드합니다. ASA와의 SSL VPN 연결을 설정하기 위해 원격 사용자 컴퓨터에 다운로드할 ASA의 플래시 메모리에 AnyConnect VPN 클라이언트를 복사합니다. 자세한 내용은 ASA 컨피그레이션 가이드의 AnyConnect 클라이언트 설치 섹션을 참조하십시오.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
ASA의 Certificate Authority는 다음 기능을 제공합니다.
지침 및 제한 사항
이 섹션에서는 Cisco ASA를 로컬 CA 서버로 구성하는 방법에 대해 설명합니다.
참고: 이 섹션에서 사용된 명령에 대한 자세한 내용을 보려면 Command Lookup Tool(등록된 고객만 해당)을 사용하십시오.
CLI에 준하는 기능:
ASA(config)# crypto ca server ASA(config-ca-server)# issuer-name CN=ASA.local ASA(config-ca-server)# subject-name-default CN=ASA.local ASA(config-ca-server)# lifetime certificate 365 ASA(config-ca-server)# lifetime ca-certificate 1095 ASA(config-ca-server)# passphrase cisco123 ASA(config-ca-server)# no shutdown % Some server settings cannot be changed after CA certificate generation. Keypair generation process begin. Please wait... Completed generation of the certificate and keypair... Archiving certificate and keypair to storage... Complete
이는 Local CA Server(로컬 CA 서버) 컨피그레이션에서 구성할 수 있는 추가 필드입니다.
CRL 배포 지점 URL | ASA의 CRL 위치입니다. 기본 위치는 http://hostname.domain/+CSCOCA+/asa_ca.crl이지만 url을 수정할 수 있습니다. |
Publish-CRL 인터페이스 및 포트 | 지정된 인터페이스 및 포트에서 HTTP 다운로드에 CRL을 사용하려면 드롭다운 목록에서 publish-CRL 인터페이스를 선택합니다. 그런 다음 포트 번호를 입력합니다. 이는 1~65535의 포트 번호일 수 있습니다. 기본 포트 번호는 TCP 포트 80입니다. |
CRL 수명 | 로컬 CA는 사용자 인증서가 폐기되거나 폐기되지 않을 때마다 CRL을 업데이트하고 재발급하지만, 폐기 변경이 없는 경우 CRL은 로컬 CA 컨피그레이션 중 lifetime crlcommand로 지정한 기간인 CRL 수명마다 한 번씩 자동으로 재발급됩니다. CRL 수명을 지정하지 않을 경우 기본 기간은 6시간입니다. |
데이터베이스 저장소 위치 | ASA는 로컬 CA 데이터베이스를 사용하여 사용자 정보, 발급된 인증서 및 해지 목록에 액세스하고 이를 구현합니다. 이 데이터베이스는 기본적으로 로컬 플래시 메모리에 상주하거나, ASA에 마운트되고 액세스할 수 있는 외부 파일 시스템에 상주하도록 구성할 수 있습니다. |
기본 주체 이름 | 발급된 인증서의 사용자 이름에 추가할 기본 주체(DN 문자열)를 입력합니다. 허용된 DN 특성은 이 목록에 제공됩니다. ·CN(일반 이름)SN(성) ·O(조직 이름) ·L(지역) ·C(국가) ·OU(조직 단위) ·EA(이메일 주소) ·ST(주/도) ·T(제목) |
등록 기간 | 사용자가 ASA에서 PKCS12 파일을 검색할 수 있는 등록 시간 제한을 시간 단위로 설정합니다. 기본값은 24시간입니다. 참고: 사용자가 사용자 인증서가 포함된 PKCS12 파일을 검색하기 전에 등록 기간이 만료되면 등록이 허용되지 않습니다. |
1회 비밀번호 만료 | OTP가 사용자 등록에 유효한 시간(시간)을 정의합니다. 이 기간은 사용자가 등록할 수 있는 시점부터 시작됩니다. 기본값은 72시간입니다. |
인증서 만료 미리 알림 | 인증서 만료 전에 인증서 소유자에게 재등록 초기 알림을 보낼 일수를 지정합니다. |
이 이미지에 표시된 대로 사용자 이름, 이메일 ID 및 주체 이름을 통해 사용자 세부 정보를 지정합니다.
CLI에 준하는 기능:
ASA(config)# crypto ca server user-db add user1 dn CN=user1,OU=TAC email user1@cisco.com
사용자 상태를 확인하는 CLI:
ASA# show crypto ca server user-db username: user1 email: user1@cisco.com dn: CN=user1,OU=TAC allowed: 19:03:11 UTC Thu Jan 14 2016 notified: 1 times enrollment status: Allowed to Enroll
OTP에 이메일을 보냅니다(CA 서버 컨피그레이션에서 SMTP 서버 및 이메일 설정을 구성해야 함).
또는
View/Re-generate OTP(OTP 보기/재생성)를 클릭하여 OTP를 직접 보고 사용자와 공유합니다. 또한 OTP를 재생성하는 데에도 사용할 수 있습니다.
CLI에 준하는 기능:
!! Email the OTP to the user
ASA# crypto ca server user-db allow user1 email-otp
!! Display the OTP on terminal
ASA# crypto ca server user-db allow user1 display-otp
Username: user1
OTP: 18D14F39C8F3DD84
Enrollment Allowed Until: 14:18:34 UTC Tue Jan 12 2016
!! Enable web-access on the "Internet" interface of the ASA
ASA(config)# webvpn ASA(config-webvpn)#enable Internet
https://IP/FQDN>/+CSCOCA+/enroll.html
클라이언트 인증서를 설치하기 위한 암호가 이전에 받은 OTP와 동일합니다.
AnyConnect Secure Mobility Client를 구성하기 위해 AnyConnect 컨피그레이션 마법사/CLI를 사용할 수 있습니다. 계속하기 전에 AnyConnect 클라이언트 패키지가 ASA 방화벽의 플래시/디스크에 업로드되었는지 확인합니다.
컨피그레이션 마법사를 통해 AnyConnect Secure Mobility Client를 구성하려면 다음 단계를 완료하십시오.
2. 연결 프로파일 이름을 입력하고 VPN 액세스 인터페이스 드롭다운 메뉴에서 VPN이 종료될 인터페이스를 선택한 후 다음을 클릭합니다.
3. SSL(Secure Sockets Layer)을 활성화하려면 SSL 확인란을 선택합니다. 디바이스 인증서는 신뢰할 수 있는 서드파티 CA(Certificate Authority) 발급 인증서(예: Verisign 또는 Entrust) 또는 자체 서명 인증서일 수 있습니다. 인증서가 ASA에 이미 설치되어 있는 경우 드롭다운 메뉴를 통해 선택할 수 있습니다.
참고: 이 인증서는 ASA에서 SSL 클라이언트에 제공할 서버측 인증서입니다. 자체 서명 인증서를 생성해야 하는 것보다 현재 ASA에 설치된 서버 인증서가 없으면 Manage(관리)를 클릭합니다.
서드파티 인증서를 설치하려면 ASA 8.x Manually Install 3rd Party Vendor Certificates for use with WebVPN Configuration 예 Cisco 문서에 설명된 단계를 완료합니다.
4. 로컬 드라이브 또는 ASA의 플래시/디스크에서 AnyConnect 클라이언트 패키지(.pkg 파일)를 추가하려면 Add를 클릭합니다.
플래시 드라이브에서 이미지를 추가하려면 Browse Flash(플래시 찾아보기)를 클릭하고, 호스트 시스템의 로컬 드라이브에서 이미지를 추가하려면 Upload(업로드)를 클릭합니다.
5. 사용자 인증은 AAA(Authentication, Authorization, and Accounting) 서버 그룹을 통해 완료할 수 있습니다. 사용자가 이미 구성된 경우 LOCAL(로컬)을 선택하고 Next(다음)를 클릭합니다. 또는 로컬 사용자 데이터베이스에 사용자를 추가하고 다음을 누릅니다.
참고: 이 예에서는 LOCAL 인증이 구성되므로 ASA의 로컬 사용자 데이터베이스가 인증에 사용됩니다.
6. VPN 클라이언트의 주소 풀이 구성되었는지 확인합니다. IP 풀이 이미 구성된 경우 드롭다운 메뉴에서 선택합니다. 그렇지 않은 경우 New(새로 만들기)를 클릭하여 구성합니다. 완료되면 Next(다음)를 클릭합니다.
7. 선택적으로, DNS(Domain Name System) 서버 및 DN을 DNS 및 Domain Name 필드에 구성하고 Next(다음)를 클릭합니다.
8. 클라이언트와 내부 서브넷 간의 트래픽은 동적 NAT(Network Address Translation)에서 제외되어야 합니다. Exempt VPN traffic from network address translation(네트워크 주소 변환에서 VPN 트래픽 제외) 확인란을 활성화하고 제외에 사용할 LAN 인터페이스를 구성합니다. 또한 면제되어야 하는 로컬 네트워크를 지정하고 Next(다음)를 클릭합니다.
9. 다음을 클릭합니다.
10. 마지막 단계에서는 요약을 표시하고 완료를 눌러 설정을 완료합니다.
이제 AnyConnect 클라이언트 컨피그레이션이 완료되었습니다. 그러나 컨피그레이션 마법사를 통해 AnyConnect를 구성할 때 기본적으로 인증 방법을 AAA로 구성합니다. 인증서 및 사용자 이름/비밀번호를 통해 클라이언트를 인증하려면 인증 방법으로 인증서 및 AAA를 사용하도록 터널 그룹(연결 프로파일)을 구성해야 합니다.
!! *****Configure the VPN Pool*****
ip local pool VPN_Pool 10.10.10.1-10.10.10.200 mask 255.255.255.0 !! *****Configure Address Objects for VPN Pool and Local Network*****
object network NETWORK_OBJ_10.10.10.0_24 subnet 10.10.10.0 255.255.255.0
object network NETWORK_OBJ_192.168.10.0_24 subnet 192.168.10.0 255.255.255.0 exit !! *****Configure WebVPN*****
webvpn enable Internet anyconnect image disk0:/anyconnect-win-4.2.00096-k9.pkg 1 anyconnect enable tunnel-group-list enable exit !! *****Configure User*****
username user1 password mbO2jYs13AXlIAGa encrypted privilege 2 !! *****Configure Group-Policy*****
group-policy GroupPolicy_SSL_GRP internal group-policy GroupPolicy_SSL_GRP attributes vpn-tunnel-protocol ssl-client dns-server none wins-server none default-domain none exit !! *****Configure Tunnel-Group*****
tunnel-group SSL_GRP type remote-access tunnel-group SSL_GRP general-attributes authentication-server-group LOCAL default-group-policy GroupPolicy_SSL_GRP address-pool VPN_Pool tunnel-group SSL_GRP webvpn-attributes authentication aaa certificate group-alias SSL_GRP enable exit !! *****Configure NAT-Exempt Policy*****
nat (Inside,Internet) 1 source static NETWORK_OBJ_192.168.10.0_24 NETWORK_OBJ_192.168.10.0_24 destination static NETWORK_OBJ_10.10.10.0_24 NETWORK_OBJ_10.10.10.0_24 no-proxy-arp route-lookup
구성이 올바르게 작동하는지 확인하려면 이 섹션을 활용하십시오.
참고: Output Interpreter Tool(등록된 고객만 해당)은 특정 show 명령을 지원합니다. show 명령 출력의 분석을 보려면 아웃풋 인터프리터 툴을 사용합니다.
CA 서버가 활성화되었는지 확인합니다.
crypto ca server 표시
ASA(config)# show crypto ca server Certificate Server LOCAL-CA-SERVER:
Status: enabled
State: enabled
Server's configuration is locked (enter "shutdown" to unlock it)
Issuer name: CN=ASA.local
CA certificate fingerprint/thumbprint: (MD5)
32e868b9 351a1b07 4b59cce5 704d6615
CA certificate fingerprint/thumbprint: (SHA1)
6136511b 14aa1bbe 334c2659 ae7015a9 170a7c4d
Last certificate issued serial number: 0x1
CA certificate expiration timer: 19:25:42 UTC Jan 8 2019
CRL NextUpdate timer: 01:25:42 UTC Jan 10 2016
Current primary storage dir: flash:/LOCAL-CA-SERVER/
Auto-Rollover configured, overlap period 30 days
Autorollover timer: 19:25:42 UTC Dec 9 2018
WARNING: Configuration has been modified and needs to be saved!!
다음을 추가한 후 사용자가 등록 가능한지 확인합니다.
*****Before Enrollment***** ASA# show crypto ca server user-db username: user1 email: user1@cisco.com dn: CN=user1,OU=TAC allowed: 19:03:11 UTC Thu Jan 14 2016 notified: 1 times enrollment status: Allowed to Enroll >>> Shows the status "Allowed to Enroll" *****After Enrollment***** username: user1 email: user1@cisco.com dn: CN=user1,OU=TAC allowed: 19:05:14 UTC Thu Jan 14 2016 notified: 1 times enrollment status: Enrolled, Certificate valid until 19:18:30 UTC Tue Jan 10 2017, Renewal: Allowed
CLI 또는 ASDM을 통해 anyconnect 연결의 세부사항을 확인할 수 있습니다.
CLI를 통해
show vpn-sessiondb detail anyconnect
ASA# show vpn-sessiondb detail anyconnect Session Type: AnyConnect Detailed Username : user1 Index : 1 Assigned IP : 10.10.10.1 Public IP : 10.142.189.181 Protocol : AnyConnect-Parent SSL-Tunnel DTLS-Tunnel License : AnyConnect Essentials Encryption : AnyConnect-Parent: (1)none SSL-Tunnel: (1)RC4 DTLS-Tunnel: (1)AES128 Hashing : AnyConnect-Parent: (1)none SSL-Tunnel: (1)SHA1 DTLS-Tunnel: (1)SHA1 Bytes Tx : 13822 Bytes Rx : 13299 Pkts Tx : 10 Pkts Rx : 137 Pkts Tx Drop : 0 Pkts Rx Drop : 0 Group Policy : GroupPolicy_SSL_GRP Tunnel Group : SSL_GRP Login Time : 19:19:10 UTC Mon Jan 11 2016 Duration : 0h:00m:47s Inactivity : 0h:00m:00s NAC Result : Unknown VLAN Mapping : N/A VLAN : none AnyConnect-Parent Tunnels: 1 SSL-Tunnel Tunnels: 1 DTLS-Tunnel Tunnels: 1 AnyConnect-Parent: Tunnel ID : 1.1 Public IP : 10.142.189.181 Encryption : none Hashing : none TCP Src Port : 52442 TCP Dst Port : 443 Auth Mode : Certificate and userPassword Idle Time Out: 30 Minutes Idle TO Left : 29 Minutes Client OS : Windows Client Type : AnyConnect Client Ver : Cisco AnyConnect VPN Agent for Windows 4.2.00096 Bytes Tx : 6911 Bytes Rx : 768 Pkts Tx : 5 Pkts Rx : 1 Pkts Tx Drop : 0 Pkts Rx Drop : 0 SSL-Tunnel: Tunnel ID : 1.2 Assigned IP : 10.10.10.1 Public IP : 10.142.189.181 Encryption : RC4 Hashing : SHA1 Encapsulation: TLSv1.0 TCP Src Port : 52443 TCP Dst Port : 443 Auth Mode : Certificate and userPassword Idle Time Out: 30 Minutes Idle TO Left : 29 Minutes Client OS : Windows Client Type : SSL VPN Client Client Ver : Cisco AnyConnect VPN Agent for Windows 4.2.00096 Bytes Tx : 6911 Bytes Rx : 152 Pkts Tx : 5 Pkts Rx : 2 Pkts Tx Drop : 0 Pkts Rx Drop : 0 DTLS-Tunnel: Tunnel ID : 1.3 Assigned IP : 10.10.10.1 Public IP : 10.142.189.181 Encryption : AES128 Hashing : SHA1 Encapsulation: DTLSv1.0 UDP Src Port : 59167 UDP Dst Port : 443 Auth Mode : Certificate and userPassword Idle Time Out: 30 Minutes Idle TO Left : 30 Minutes Client OS : Windows Client Type : DTLS VPN Client Client Ver : Cisco AnyConnect VPN Agent for Windows 4.2.00096 Bytes Tx : 0 Bytes Rx : 12907 Pkts Tx : 0 Pkts Rx : 142 Pkts Tx Drop : 0 Pkts Rx Drop : 0 NAC: Reval Int (T): 0 Seconds Reval Left(T): 0 Seconds SQ Int (T) : 0 Seconds EoU Age(T) : 51 Seconds Hold Left (T): 0 Seconds Posture Token: Redirect URL :
ASDM을 통해
Details(세부 정보) - 세션에 대한 추가 정보 제공
Logout(로그아웃) - Headend에서 사용자를 수동으로 로그아웃합니다.
Ping - 헤드엔드에서 AnyConnect 클라이언트에 ping합니다.
이 섹션에서는 설정 문제 해결을 위해 사용할 수 있는 정보를 제공합니다.
참고: debug 명령을 사용하기 전에 Debug 명령에 대한 중요 정보를 참조하십시오.
주의: ASA에서는 다양한 디버그 레벨을 설정할 수 있습니다. 기본적으로 레벨 1이 사용됩니다. 디버그 수준을 변경하면 디버그의 세부 정도가 증가할 수 있습니다. 특히 프로덕션 환경에서는 이 작업을 신중하게 수행해야 합니다.
이 디버그 출력은 no shut 명령을 사용하여 CA 서버가 Enabled일 때 표시됩니다.
ASA# debug crypto ca 255 ASA# debug crypto ca server 255 ASA# debug crypto ca message 255 ASA# debug crypto ca transaction 255 CRYPTO_CS: input signal enqueued: no shut >>>>> Command issued to Enable the CA server Crypto CS thread wakes up! CRYPTO_CS: enter FSM: input state disabled, input signal no shut CRYPTO_CS: starting enabling checks CRYPTO_CS: found existing serial file. CRYPTO_CS: started CA cert timer, expiration time is 17:53:33 UTC Jan 13 2019 CRYPTO_CS: Using existing trustpoint 'LOCAL-CA-SERVER' and CA certificate CRYPTO_CS: file opened: flash:/LOCAL-CA-SERVER/LOCAL-CA-SERVER.ser CRYPTO_CS: DB version 1 CRYPTO_CS: last issued serial number is 0x4 CRYPTO_CS: closed ser file CRYPTO_CS: file opened: flash:/LOCAL-CA-SERVER/LOCAL-CA-SERVER.crl CRYPTO_CS: CRL file LOCAL-CA-SERVER.crl exists. CRYPTO_CS: Read 220 bytes from crl file. CRYPTO_CS: closed crl file CRYPTO_PKI: Storage context locked by thread Crypto CA Server CRYPTO_PKI: inserting CRL CRYPTO_PKI: set CRL update timer with delay: 20250 CRYPTO_PKI: the current device time: 18:05:17 UTC Jan 16 2016 CRYPTO_PKI: the last CRL update time: 17:42:47 UTC Jan 16 2016 CRYPTO_PKI: the next CRL update time: 23:42:47 UTC Jan 16 2016 CRYPTO_PKI: CRL cache delay being set to: 20250000 CRYPTO_PKI: Storage context released by thread Crypto CA Server CRYPTO_CS: Inserted Local CA CRL into cache! CRYPTO_CS: shadow not configured; look for shadow cert CRYPTO_CS: failed to find shadow cert in the db CRYPTO_CS: set shadow generation timer CRYPTO_CS: shadow generation timer has been set CRYPTO_CS: Enabled CS. CRYPTO_CS: exit FSM: new state enabled CRYPTO_CS: cs config has been locked. Crypto CS thread sleeps!
이 디버그 출력은 클라이언트의 등록을 표시합니다
ASA# debug crypto ca 255 ASA# debug crypto ca server 255 ASA# debug crypto ca message 255 ASA# debug crypto ca transaction 255 CRYPTO_CS: writing serial number 0x2. CRYPTO_CS: file opened: flash:/LOCAL-CA-SERVER/LOCAL-CA-SERVER.ser CRYPTO_CS: Writing 32 bytes to ser file CRYPTO_CS: Generated and saving a PKCS12 file for user user1 at flash:/LOCAL-CA-SERVER/user1.p12
다음 조건에서는 클라이언트 등록이 실패할 수 있습니다.
시나리오 1.
CLI에 준하는 기능:
ASA(config)# show crypto ca server user-db username: user1 email: user1@cisco.com dn: CN=user1,OU=TAC allowed: <not allowed> notified: 0 times enrollment status: Not Allowed to Enroll
시나리오 2.
다음과 같은 경우 클라이언트가 ASA의 등록 포털에 액세스하지 못할 수 있습니다.
ASA(config)# show run webvpn webvpn port 4433 enable Internet no anyconnect-essentials anyconnect image disk0:/anyconnect-win-4.2.00096-k9.pkg 1
anyconnect enable
tunnel-group-list enable
시나리오 3.
ASA(config)# debug crypto ca 255 ASA(config)# debug crypto ca server 255 ASA(config)# debug crypto ca message 255 ASA(config)# debug crypto ca transaction 255 ASA(config)# debug crypto ca trustpool 255 CRYPTO_CS: writing serial number 0x2. CRYPTO_CS: file opened: flash:/LOCAL-CA-SERVER/LOCAL-CA-SERVER.ser CRYPTO_CS: Writing 32 bytes to ser file CRYPTO_CS: Generated and saving a PKCS12 file for user user1 at flash:/LOCAL-CA-SERVER/user1.p12 CRYPTO_CS: Failed to write to opened PKCS12 file for user user1, fd: 0, status: -1. CRYPTO_CS: Failed to generate pkcs12 file for user user1 status: -1. CRYPTO_CS: Failed to process enrollment in-line for user user1. status: -1
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
03-Aug-2016 |
최초 릴리스 |