目錄

簡介

一般疑難排解

Windows

Mac

特定故障排除

AnyConnect

Windows

Mac

其他

CSD/主機掃描

Windows

Mac

WebVPN

Java 7 U51中的安全功能及其對WebVPN使用者的影響

Windows

簡介

本文檔介紹如何對Cisco AnyConnect安全移動客戶端、思科安全案頭(CSD)/思科主機掃描和無客戶端SSL VPN(WebVPN)上的Java 7問題進行故障排除。

附註：標籤為調查的思科錯誤ID不限於上述症狀。如果您在Java 7上遇到問題，請確保將AnyConnect客戶端版本升級到最新客戶端版本或至少升級到Cisco Connection Online(CCO)上提供的3.1維護版本3。

一般疑難排解

運行Java驗證程式 ，以檢查使用的瀏覽器是否支援Java。如果正確啟用了Java，請檢視Java控制檯日誌以分析問題。

Windows

以下過程介紹了如何在Windows中啟用控制檯日誌：

1. 開啟Windows控制面板，並搜尋Java。

2. 按兩下Java（咖啡杯圖示）。 系統將顯示Java控制面板。

3. 按一下Advanced頁籤。

1. 展開Debugging，然後選擇Enable tracing和Enable logging。

2. 展開Java控制檯，然後按一下Show console。

Mac

以下過程介紹了如何在Mac上啟用控制檯日誌：

1. 開啟「系統首選項」，然後按兩下Java圖示（咖啡杯）。 系統將顯示Java控制面板。

2. 按一下Advanced頁籤。

1. 在Java控制檯下，按一下Show console。

2. 在「調試」下，按一下啟用跟蹤和啟用日誌記錄。

特定故障排除

AnyConnect

對於AnyConnect相關問題，收集診斷AnyConnect報告(DART)日誌以及Java控制檯日誌。

Windows

思科錯誤ID CSCuc55720「IE在ASA上啟用3.1.1軟體包時與Java 7一起崩潰」是一個已知問題，其中在頭端執行WebLaunch並啟用AnyConnect 3.1時Internet Explorer崩潰。此錯誤已修正。

將AnyConnect和Java 7的某些版本與Java應用配合使用時，可能會遇到問題。如需更多資訊，請參閱Cisco錯誤ID CSCue48916，「Java App(s)Break when using AnyConnect 3.1.00495 or 3.1.02026 & Java v7」。

Java 7和IPv6套接字呼叫問題

如果AnyConnect即使在將Java Runtime Environment(JRE)升級到Java 7後仍無法連線，或者Java應用程式無法通過VPN隧道連線，請檢視Java控制檯日誌並查詢以下消息：

java.net.SocketException: Permission denied: connect

at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)

at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)

這些日誌條目指示客戶端/應用程式進行IPv6呼叫。

此問題的一個解決方案是在乙太網介面卡和AnyConnect虛擬介面卡(VA)上禁用IPv6（如果未使用）：

第二個解決方案是配置Java使其優先使用IPv4而非IPv6。將系統屬性「java.net.preferIPv4Stack」設定為「true」，如以下示例所示：

- 將系統屬性的代碼新增到Java代碼中（對於客戶編寫的Java應用程式）：

System.setProperty("java.net.preferIPv4Stack" , "true");

- 從命令列新增系統屬性的代碼：

-Djava.net.preferIPv4Stack=true

- 設定環境變數_JPI_VM_OPTIONS和_JAVA_OPTIONS以包含系統屬性：

-Djava.net.preferIPv4Stack=true

如需其他資訊，請參閱：

- 如何在java代碼中設定java.net.preferIPv4Stack=true?

- 如何強制java改用ipv4?

第三個解決方案是在Windows電腦上完全禁用IPv6;編輯此登錄檔項：

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters

有關其他資訊，請參閱如何在Windows中禁用IP第6版或其特定元件 。

Java 7升級後的AnyConnect WebLaunch問題

Cisco JavaScript代碼以前將Sun作為Java供應商的值。但是，Oracle按照JDK7 中的說明更改了該值： Java供應商屬性更改 。此問題已由Cisco錯誤ID CSCub46241「AnyConnect weblaunch fails from Internet Explorer with Java 7」修復。

Mac

未報告任何問題。使用AnyConnect 3.1（使用WebLaunch/Safari/Mac 10.7.4/Java 7.10配置）進行的測試未顯示錯誤。

其他

Cisco AnyConnect上的Java 7應用問題

思科錯誤ID CSCue48916「Java App(s)Break when using AnyConnect 3.1.00495 or 3.1.02026 & Java v7」已失敗。初始調查顯示問題不是客戶端上的錯誤，而可能與Java虛擬機器(VM)配置相關。

以前，要在AnyConnect 3.1(2026)客戶端上使用Java 7應用，請取消選中IPv6虛擬介面卡設定。但是現在必須完成此過程中的所有步驟：

1. 安裝AnyConnect版本3.1(2026)。

2. 解除安裝Java 7。

3. 重新啟動。

4. 安裝Java SE 6，更新38，可從Oracle Web站點獲得 。

5. 導航到Java 6控制面板設定，然後按一下Update頁籤以升級到最新版本的Java 7。

6. 開啟命令提示符並輸入：

setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true

7. 使用AnyConnect登入，Java應用應該可以工作。

附註：此過程已使用Java 7更新9、10和11進行了測試。

CSD/主機掃描

對於CSD/Hostscan相關問題，請收集DART日誌以及Java控制檯日誌。

要獲取DART日誌，必須將CSD日誌記錄級別設定為ASA上的調試：

1. 導覽至ASDM > Configuration > Remote Access VPN > Secure Desktop Manager > Global Settings。

2. 在思科自適應安全裝置管理器(ASDM)上開啟CSD日誌記錄進行調試。

3. 使用DART收集CSD/Hostscan日誌。

Windows

Hostscan容易發生與先前在Windows中對AnyConnect所描述的類似崩潰(思科錯誤ID CSCuc55720)。 Cisco錯誤ID CSCuc48299「IE with Java 7 crashes on HostScan Weblaunch」已解決hostscan問題。

Mac

CSD 3.5.x版和Java 7版的問題

在CSD 3.5.x中，所有WebVPN連線均失敗；其中包括AnyConnect Web啟動。Java控制檯日誌不會顯示任何問題：

Java Plug-in 10.10.2.12

Using JRE version 1.7.0_10-ea-b12 Java HotSpot(TM) 64-Bit Server VM

User home directory = /Users/rtpvpn

----------------------------------------------------

c:   clear console window

f:   finalize objects on finalization queue

g:   garbage collect

h:   display this help message

l:   dump classloader list

m:   print memory usage

o:   trigger logging

q:   hide console

r:   reload policy configuration

s:   dump system and deployment properties

t:   dump thread list

v:   dump thread stack

x:   clear classloader cache

0-5: set trace level to <n>

----------------------------------------------------

如果降級到JRE 6或將CSD升級到3.6.6020或更高版本，Java控制檯日誌會顯示以下問題：

Java Plug-in 10.10.2.12

Using JRE version 1.7.0_10-ea-b12 Java HotSpot(TM) 64-Bit Server VM

User home directory = /Users/rtpvpn

----------------------------------------------------

c:   clear console window

f:   finalize objects on finalization queue

g:   garbage collect

h:   display this help message

l:   dump classloader list

m:   print memory usage

o:   trigger logging

q:   hide console

r:   reload policy configuration

s:   dump system and deployment properties

t:   dump thread list

v:   dump thread stack

x:   clear classloader cache

0-5: set trace level to <n>

----------------------------------------------------

CacheEntry[ https://rtpvpnoutbound6.cisco.com/CACHE/sdesktop/install/binaries/

instjava.jar ]: updateAvailable=false,lastModified=Wed Dec 31 19:00:00 EST

1969,length=105313

Fri Oct 19 18:12:20 EDT 2012 Downloaded

https://rtpvpnoutbound6.cisco.com/CACHE/sdesktop/hostscan/darwin_i386/cstub

to /var/folders/zq/w7l9gxks7512fsl4vk07v9nc0000gn/T/848638312.tmp/cstub

Fri Oct 19 18:12:20 EDT 2012 file signature verification

PASS: /var/folders/zq/w7l9gxks7512fsl4vk07v9nc0000gn/T/848638312.tmp/cstub

Fri Oct 19 18:12:20 EDT 2012 Spawned CSD stub.

解決方法是升級CSD或降級Java。因為Cisco建議您執行最新版本的CSD，所以您應該升級CSD，而不是降級Java，尤其是因為Mac上的Java降級可能會很困難。

Mac 10.8上WebLaunch的Chrome和Safari問題

預期會出現Chrome和Safari問題：

- Chrome是一種32位瀏覽器，不支援Java 7。

- Chrome從未成為WebLaunch的正式支援瀏覽器。

- Mac 10.8禁用了在Safari上使用Java 7，並且預設情況下未啟用Java的舊版本。

如果您已安裝Java 7，解決方案為：

- 使用Firefox。

- 在Safari上啟用Java 7:

1. 驗證Mac上是否已安裝Java 7，以及Mac是否已重新啟動。開啟Firefox，然後轉到Java Verifier 。

2. 開啟Safari，然後再次轉到Java驗證 程式。您現在應該會看到以下螢幕：

- 禁用Java 7，並啟用Apple提供的Java SE 6 。

提示：如果您尚未安裝Java或者您使用的是較舊版本的Java，則可能會在java.com上看到錯誤消息「Java blocked for this web site」（為此網站阻止了Java）。 有關安裝Java更新的資訊，請參閱Apple支援論壇上的Java update available for OS X on 2013  28,

Mac 10.9上WebLaunch的Safari問題

如果您在Mac 10.9上並且已啟用Java外掛(如Chrome和Safari with WebLaunch on Mac 10.8一節所述),WebLaunch可能會繼續失敗。所有Java小程式都會啟動，但瀏覽器只是繼續旋轉。如果Java日誌如一般故障排除一節中所述啟用，日誌會快速填充，如下所示：

at java.lang.Thread.run(Thread.java:744)

Mon Dec 16 16:00:17 EST 2013 Failed to download cstub

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

network: Created version ID: 1.7.0.45

在日誌中早期查詢此類條目：

Mon Dec 16 16:00:17 EST 2013 Downloaded https://rave.na.sage.com/CACHE/

sdesktop/hostscan/darwin_i386/manifest java.io.FileNotFoundException:

/Users/user1/.cisco/hostscan/bin/cstub (Operation not permitted) at

java.io.FileInputStream.open(Native Method)

這表示您遇到Cisco錯誤ID CSCuj02425，「如果禁用了Java不安全模式，則OSX 10.9上的WebLaunch將失敗。」 為了解決此問題，請修改Java首選項，以便Java可以在Safari的不安全模式下運行：

1. 按一下「Preferences」。

2. 按一下Manage Website Settings。

3. 在安全頁籤中，選擇Java，並注意，預設情況下選擇了Allow。

4. 將Allow更改為Unsafe Mode。

WebVPN

對於與Java相關的WebVPN問題，請收集此資料以進行故障排除：

- show tech-support命令的輸出。

- 使用Adaptive Security Appliance(ASA)和不使用Adaptive Security Appliance(ASA)的Java控制檯日誌，如一般故障排除一節所述。

- WebVPN擷取。

- 在本地計算 機上使用ASA和不使用ASA時捕獲HTTP watch。

- 標準資料包在ASA和本地電腦上捕獲。

- 在本地電腦上，可以使用Wireshark完成這些捕獲。

- 有關如何在ASA上捕獲流量的資訊，請參閱配置資料包捕獲。

- 通過ASA時下載到Java快取的所有jar檔案。以下是Java控制檯中的示例：

Reading Signers from 8412

https://rtpvpnoutbound6.cisco.com/+CSCO+00756767633A2F2F7A2D73767972662E6

E7067727A76687A2E6179++/mffta.jar

C:\Users\wvoosteren\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\41\

6a0665e9-1f510559.idx
在本示例中，6a0665e9-1f510559.idx是mffta.jar 7的快取版本。如果無法訪問這些檔案，則可以在使用直接連線時從Java快取中收集它們。

測試設定可以加快解決速度。

Java 7 U51中的安全功能及其對WebVPN使用者的影響

最近宣佈的針對Java 7更新51(2014 年1月)的更改已確定，預設安全滑塊需要代碼簽名和「許可權清單」屬性。總之，所有Java小程式都需要：

- 待簽名（Applet和Web Start應用程式）。

- 設定清單中的「許可權」屬性。

如果應用程式使用通過Web瀏覽器啟動的Java，則會受到影響。應用程式從Web瀏覽器以外的任何位置運行。這對於WevVPN意味著思科分發的所有客戶端外掛都可能受到影響。由於思科不維護或支援這些外掛，因此思科無法更改代碼簽名證書或小程式以確保其符合這些限制。正確的解決方案是使用ASA上的臨時代碼簽名證書。ASA提供臨時代碼簽名證書以對Java小程式（用於Java重寫程式和外掛）進行簽名。 臨時證書使Java applet能夠執行預期功能，而不會出現警告消息。ASA管理員應在臨時證書過期之前將其替換為受信任的證書頒發機構(CA)頒發的自己的代碼簽名證書。 如果這不是可行的選項，則解決方法是完成以下步驟：

1. 您可以在最終客戶機的Java設定上使用「異常站點清單」功能，以便運行被安全設定阻止的應用程式。有關執行此操作的步驟，請參閱Mac 10.9上WebLaunch的Safari問題。

2. 還可以降低「Java安全性」設定。此設定還設定在客戶機的Java設定中，如下所示：

警告：使用這些變通方法仍會給你帶來一些錯誤，但Java不會像沒有變通方法時那樣阻止應用程式。

Windows

據報告，啟動Java applet的應用程式在升級到Java 7後會對WebVPN進行故障轉移。此問題是由於Java重寫程式缺少安全雜湊演算法(SHA)-256支援造成的。已針對此問題提交了思科漏洞ID CSCud54080「SHA-256 support for webvpn Java rewriter」。

使用JRE7時，通過具有智慧隧道的門戶啟動Java applet的應用程式可能會失敗；這在64位系統中最常見。在捕獲中，請注意Java VM以明文形式傳送資料包，而不是通過智慧隧道連線至ASA。此問題已由Cisco錯誤ID CSCue17876「某些java applet不會在使用jre1.7的windows上透過智慧通道連線。」