はじめに
このドキュメントでは、Cisco AnyConnect セキュア モビリティ クライアント、Cisco Secure Desktop(CSD)/Cisco Hostscan、およびクライアントレス SSL VPN(WebVPN)の Java 7 に関する問題をトラブルシュートする方法について説明します。
注:調査対象としてマークされたCisco Bug IDは、説明されている症状に限定されません。Java 7 の問題が発生した場合は、AnyConnect クライアントのバージョンを、最新のクライアント バージョン、または Cisco Connection Online(CCO)で入手できる 3.1 メンテナンス リリース 3 のバージョン以降にアップグレードしていることを確認します。
一般的なトラブルシューティング
Java Verifier を実行して、使用中のブラウザで Java がサポートされているかどうかを確認します。Java が適切に有効化されている場合は、Java コンソールを確認して、問題を分析します。
Windows
この手順では、Windows でコンソール ログを有効にする方法を説明します。
- Windows のコントロール パネルを開き、Java を検索します。
- [Java](コーヒー カップのアイコン)をダブルクリックします。 Java コントロール パネルが表示されます。
- [Advanced] タブをクリックします。
- [Debugging] を展開し、[Enable tracing] と [Enable logging] を選択します。
- [Java console] を展開し、[Show console] をクリックします。
Mac
この手順では、Mac でコンソール ログを有効にする方法を説明します。
- [System Preferences] を開き、[Java] アイコン(コーヒー カップ)をダブルクリックします。 Java コントロール パネルが表示されます。
- [Advanced] タブをクリックします。
- [Java console] で [Show console] をクリックします。
- [Debugging] で [Enable tracing] と [Enable logging] をクリックします。
特定のトラブルシューティング
AnyConnect
AnyConnect 関連の問題の場合は、Diagnostic AnyConnect Reporting(DART)ログと Java コンソール ログを収集します。
Windows
Cisco bug ID CSCuc55720、「3.1.1 パッケージが ASA で有効になっていると、IE が Java 7 とともにクラッシュする」は、既知の問題でした。つまり、WebLaunch を実行し、ヘッドエンドで AnyConnect 3.1 が有効になっていると、Internet Explorer がクラッシュしていました。この不具合は修正されています。
AnyConnect のいずれかのバージョンと Java 7 を、Java アプリケーションとともに使用すると、問題が発生することがあります。詳細については、Cisco Bug ID CSCue48916、「AnyConnect 3.1.00495 または 3.1.02026 と Java v7 を使用している場合の Java アプリケーションの障害」を参照してください。
Java 7 と IPv6 ソケット コールの問題
Java Runtime Environment(JRE)を Java 7 にアップグレードした後でも AnyConnect が接続できない場合や、Java アプリケーションが VPN トンネルで接続できない場合は、Java コンソール ログを見直し、次のメッセージを検索してください。
java.net.SocketException: Permission denied: connect
at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
これらのログ エントリは、クライアント/アプリケーションが IPv6 コールを発信することを示しています。
この問題の解決方法の 1 つは、イーサネット アダプタと AnyConnect Virtual Adapter(VA)の IPv6(使用中でない場合)を無効にすることです。
2 番目の解決方法は、IPv6 より IPv4 を優先するよう Java を設定することです。次の例に示すように、システム プロパティ「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
詳細については、次を参照してください。
3番目の解決策は、WindowsマシンでIPv6を完全に無効にすることです。次のレジストリエントリを編集します。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters
詳細については、「Windows で IPv6 またはそのコンポーネントを無効にする方法」を参照してください。
Java 7 アップグレード後の AnyConnect WebLaunch の問題
以前のシスコの JavaScript コードは、Java ベンダーの値として Sun を検索していました。ただし、「JDK7: Java vendor property changes」で説明されているように、Oracleによってその値が変更されました。この問題は、Cisco bug ID CSCub46241、「Java 7 を使用する Internet Explorer で AnyConnect Weblaunch に障害が発生する」で修正されています。
Mac
問題は報告されていません。AnyConnect 3.1(WebLaunch/Safari/Mac 10.7.4/Java 7.10 設定の)のテストでエラーは表示されません。
その他
Cisco AnyConnect での Java 7 アプリケーションの問題
この問題については、Cisco bug ID CSCue48916、「AnyConnect 3.1.00495 または 3.1.02026 と Java v7 を使用している場合の Java アプリケーションの障害」に記載があります。初期調査は、問題がクライアント側の不具合ではなく、Java 仮想マシン(VM)の設定と関連している可能性があることを示しています。
以前は、AnyConnect 3.1(2026) クライアントで Java 7 アプリケーションを使用する場合は、IPv6 仮想アダプタの設定のチェックマークを外していました。現在は、次の手順のステップをすべて完了することが必要になっています。
- AnyConnect バージョン 3.1(2026) をインストールします。
- Java 7 をアンインストールします。
- 再起動します。
- Oracle Web サイトで入手できる Java SE 6 Update 38 をインストールします。
- Java 6 コントロール パネルの設定に移動し、[Update] タブをクリックして、Java 7 の最新バージョンにアップグレードします。
- コマンド プロンプトを開き、次のように入力します。
setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true
- AnyConnect でログインすると、Java アプリケーションは動作します。
注:この手順は、Java 7アップデート9、10、および11でテストされています。
CSD/Hostscan
CSD/Hostscan 関連の問題の場合は、DART ログと Java コンソール ログを収集します。
DART ログを取得するには、CSD ログ レベルを、ASA でのデバッグ用にする必要があります。
- [ASDM] > [Configuration] > [Remote Access VPN] > [Secure Desktop Manager] > [Global Settings] に移動します。
- Cisco Adaptive Security Device Manager(ASDM)でのデバッグ用に CSD ログ レベルを引き上げます。
- DART を使用して CSD/Hostscan ログを収集します。
Windows
Hostscan では、以前に「Windows での AnyConnect」(Cisco bug ID CSCuc55720)で説明したようなクラッシュが発生しやすくなっています。 Hostscan の問題は、Cisco bug ID CSCuc48299、「Java 7 を使用する IE が HostScan Weblaunch でクラッシュする」で解決されています。
Mac
CSD バージョン 3.5.x および Java 7 の問題
CSD 3.5.xでは、AnyConnect Webの起動を含むすべてのWebVPN接続が失敗します。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 をダウングレードすることです。シスコでは、CSD の最新バージョンの実行を推奨しているため、Java をダウングレードするのではなく、CSD をアップグレードしてください。特に、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 をインストールしている場合の計決方法は次のとおりです。
ヒント: Javaがインストールされていない場合、または古いバージョンのJavaを使用している場合は、java.comに「Java blocked for this web site」というエラーメッセージが表示される可能性があります。Java アップデートのインストールの詳細については、Apple サポート フォーラムの「Java updates available for OS X on August 28, 2013 」を参照してください。
Mac 10.9 での WebLaunch の場合の Safari の問題
Mac 10.9 を使用しており、すでに Java プラグインを有効にしている(「Mac 10.8 での WebLaunch の場合の Chrome と Safari の問題」に記載)場合は、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 bug ID CSCuj02425、「Java の非セーフ モードが無効な場合は OSX 10.9 で WebLaunch に障害が発生する」の状況が発生していることを示します。 この問題を回避するには、Java のユーザ設定を変更して、Java が Safari の非セーフ モードで動作できるようにします。
- [Preferences] をクリックします。
- [Manage Website Settings] をクリックします。
- [Security] タブで [Java] を選択し、デフォルトで [Allow] が選択されていることに注意します。
- [Allow] を [Run in Unsafe Mode] に変更します。
WebVPN
Java 関連の WebVPN の問題の場合は、トラブルシューティングのために次のデータを収集します。
テスト設定を使用すると、迅速に解決できます。
Java 7 U51 のセキュリティ機能および WebVPN ユーザへの影響
最近発表された、Java 7 update 51 で予定されている変更(2014 年 1 月)により、デフォルトのセキュリティ スライダに、コード シグニチャと Permissions Manifest 属性が必要となります。要約すると、すべての Java アプレットに次のものが必要となります。
- 署名(アプレットおよび Web Start アプリケーション)。
- マニフェスト内での「Permissions」属性の設定。
アプリケーションは、Web ブラウザを介して開始された Java を使用する場合は影響を受けます。Web ブラウザの外部から実行されるアプリケーションは影響されません。これが WevVPN に対して意味することは、シスコが配布するすべてのクライアント プラグインが影響を受ける可能性があるということです。これらのプラグインは、シスコによって保守されず、サポートされてもいないため、シスコは、これらの制限に準拠するためにコード署名証明書とアプレットのいずれも変更できません。これに対する適切な解決方法は、ASA で一時的なコード署名証明書を使用することです。 ASA は、(Java リライタおよびプラグインの)Java アプレットに署名するための一時的なコード署名証明書を提供します。 一時的な証明書を使用すると、Java アプレットが、意図されていた機能を警告メッセージなしで実行できます。ASA 管理者は、一時的な証明書が期限切れになる前に、信頼できる認証局(CA)によって発行されるコード署名証明書に置き換える必要があります。 これが可能でない場合は、回避策として、次の手順を完了します。
- エンド クライアント マシンの Java 設定で例外サイト リスト機能を使用して、セキュリティ設定でブロックされるアプリケーションを実行できます。これを行う手順については、を参照してください。
- また、Java セキュリティ設定を下げることができます。この設定は、次に示すように、クライアント マシンの Java 設定でも設定されます。
警告:これらの回避策を使用してもまだエラーが発生しますが、回避策を適用しなければJavaがアプリケーションをブロックすることはありません
Windows
Java 7 へのアップグレード後に、Java アプレットを起動するアプリケーションに WebVPN で障害が発生したと報告されています。この問題は、Java リライタ用の Secure Hash Algorithm(SHA)-256 のサポートがないために発生します。この問題は、Cisco bug ID CSCud54080、「WebVPN Java リライタの SHA-256 サポート」に記載されています。
スマートトンネルを使用してポータルからJavaアプレットを起動するアプリケーションは、JRE7が使用されている場合に失敗する可能性があります。これは、64ビットシステムで最も一般的です。キャプチャでは、Java VM が、ASA へのスマート トンネル接続経由ではなく、クリア テキストでパケットを送信することに注意してください。これについては、Cisco bug ID CSCue17876、「一部の Java アプレットが、JRE1.7 を使用する Windows でスマート トンネル経由で接続しない」に記載されています。