本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本文檔介紹如何將思科自適應安全裝置(ASA)設定為證書頒發機構(CA)伺服器以及作為Cisco AnyConnect安全移動客戶端的安全套接字層(SSL)網關。
思科建議您瞭解以下主題:
ASDM 7.3或更高版本
本文中的資訊係根據以下軟體和硬體版本:
根據相容性圖表運行受支援的作業系統的PC。
註:從Cisco軟體下載下載AnyConnect VPN客戶端軟體套件(anyconnect-win*.pkg)(僅限註冊客戶)。將AnyConnect VPN客戶端複製到ASA的快閃記憶體,快閃記憶體將下載到遠端使用者電腦,以便與ASA建立SSL VPN連線。有關詳細資訊,請參閱ASA配置指南的安裝AnyConnect客戶端部分。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
ASA上的證書頒發機構提供以下功能:
準則和限制
本節介紹如何將Cisco ASA配置為本地CA伺服器。
注意:使用命令查詢工具(僅供註冊客戶使用)可獲取有關此部分中所用命令的更多資訊。
等效的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
以下是可以在本地CA伺服器配置下配置的其他欄位。
CRL分發點URL | 這是ASA上的CRL位置。 預設位置是http://hostname.domain/+CSCOCA+/asa_ca.crl,但可以修改url。 |
Publish-CRL介面和埠 | 要使CRL可用於在給定介面和埠上進行HTTP下載,請從下拉選單中選擇一個publish-CRL介面。然後輸入埠號,可以是從1到65535的任何埠號。預設埠號為TCP埠80。 |
CRL存留期 | 每次撤銷或取消撤銷使用者證書時,本地CA都會更新並重新頒發CRL,但是如果沒有撤銷更改,則每隔CRL生存期(您在本地CA配置期間使用lifetime crlcommand指定的時間段)一次,CRL將自動重新頒發。如果不指定CRL生存期,則預設時間段為六小時。 |
資料庫儲存位置 | ASA使用本地CA資料庫訪問和實施使用者資訊、頒發的證書和撤銷清單。預設情況下,此資料庫駐留在本地快閃記憶體中,或者可以配置為駐留在已裝載並可由ASA訪問的外部檔案系統上。 |
預設主體名稱 | 輸入預設主體(DN字串)以附加到已簽發憑證上的使用者名稱。以下清單提供允許的DN屬性: ·CN (一般名稱)SN (姓氏) ·O (組織名稱) ·L(地區) ·C(國家/地區) ·OU (組織單位) ·EA (電子郵件地址) ·ST(州/省) ·T(標題) |
註冊期間 | 設定使用者從ASA檢索PKCS12檔案的註冊時間限制(小時)。 預設值為24小時。 注意:如果註冊期間在使用者檢索包括使用者證書的PKCS12檔案之前到期,則不允許註冊。 |
一次性密碼過期 | 定義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伺服器和電子郵件設定)。
或
直接檢視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配置嚮導/CLI可用於配置AnyConnect安全移動客戶端。在繼續操作之前,請確保已將AnyConnect客戶端軟體套件上傳到ASA防火牆的快閃記憶體/磁碟。
要透過配置嚮導配置AnyConnect安全移動客戶端,請完成以下步驟:
2. 輸入連線配置檔名稱,從VPN Access Interface下拉選單中選擇要終止VPN的介面,然後按一下Next。
3. 選中SSL覈取方塊以啟用Secure Sockets Layer (SSL)。裝置證書可以是受信任的第三方證書頒發機構(CA)頒發的證書(例如Verisign或Entrust),也可以是自簽名證書。如果證書已安裝在ASA上,則可透過下拉選單選擇證書。
注意:此證書是ASA向SSL客戶端提供的伺服器端證書。如果ASA上當前未安裝任何必須生成自簽名證書的伺服器證書,請按一下Manage。
要安裝第三方證書,請完成ASA 8.x手動安裝第三方供應商證書以用於WebVPN配置示例思科文檔中所述的步驟。
4. 按一下Add以便從本地驅動器或ASA快閃記憶體/磁碟中增加AnyConnect客戶端軟體套件(.pkg檔案)。
按一下Browse Flash以從快閃記憶體驅動器增加映像,或按一下Upload以從主機的本地驅動器增加映像。
5. 使用者身份驗證可以透過「身份驗證」、「授權」和「記帳」(AAA)伺服器組完成。如果已配置使用者,請選擇LOCAL,然後按一下Next。否則,請將使用者增加到本地使用者資料庫,然後按一下Next。
注意:在本示例中,配置了LOCAL身份驗證,這意味著將使用ASA上的本地使用者資料庫進行身份驗證。
6. 確保已配置VPN客戶端的地址池。如果已經配置了ip池,請從下拉選單中選擇該池。否則,請按一下新建以進行配置。完成後,按一下Next。
7. 選擇性地在DNS和「域名」欄位中配置域名系統(DNS)伺服器和DN,然後按一下下一步。
8. 確保客戶端和內部子網之間的流量必須免除任何動態網路地址轉換(NAT)。啟用Exempt VPN traffic from network address translation覈取方塊並配置用於免除的LAN介面。此外,請指定必須免除的本地網路,然後按一下下一步。
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工具(僅限註冊客戶)支援某些show指令。使用命令輸出解釋程式工具檢視show命令輸出的分析。
確保已啟用CA伺服器。
show 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
詳細資訊-提供有關會話的詳細資訊
註銷-從頭端手動註銷使用者
Ping -從頭端ping AnyConnect客戶端
本節提供的資訊可用於對組態進行疑難排解。
附註:使用 debug 指令之前,請先參閱有關 Debug 指令的重要資訊。
注意:在ASA上,您可以設定各種調試級別;預設情況下,使用級別1。如果更改調試級別,調試的冗長可能會增加。請謹慎執行此操作,尤其是在生產環境中。
使用no shut命令啟用CA伺服器時,此調試輸出會顯示。
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 |
初始版本 |