이 문서에서는 Cisco AnyConnect Secure Mobility Client, Cisco CSD(Secure Desktop)/Cisco Hostscan 및 클라이언트리스 SSL VPN(WebVPN)에서 Java 7과 관련된 문제를 해결하는 방법에 대해 설명합니다.
사용 중인 브라우저에서 Java가 지원되는지 확인하려면 Java 검증 도구를 실행합니다.Java가 제대로 활성화된 경우 Java 콘솔 로그를 검토하여 문제를 분석합니다.
이 절차에서는 Windows에서 콘솔 로그를 활성화하는 방법에 대해 설명합니다.
다음 절차에서는 Mac에서 콘솔 로그를 활성화하는 방법에 대해 설명합니다.
AnyConnect 관련 문제의 경우 진단 DART(AnyConnect Reporting) 로그와 Java 콘솔 로그를 수집합니다.
Cisco 버그 ID CSCuc55720, "ASA에서 3.1.1 패키지가 활성화되었을 때 IE가 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"을 참조하십시오.
JRE(Java Runtime Environment)를 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 통화를 수행함을 나타냅니다.
이 문제의 한 가지 해결 방법은 이더넷 어댑터 및 AnyConnect 가상 어댑터(VA)에서 IPv6를 비활성화하는 것입니다.
두 번째 솔루션은 IPv6를 통해 IPv4를 선호하도록 Java를 구성하는 것입니다. 다음 예와 같이 시스템 속성 'java.net.preferIPv4Stack'을 'true'로 설정하십시오.
System.setProperty("java.net.preferIPv4Stack" , "true");
-Djava.net.preferIPv4Stack=true
-Djava.net.preferIPv4Stack=true
자세한 내용은 다음을 참조하십시오.
세 번째 솔루션은 Windows 시스템에서 IPv6를 완전히 비활성화하는 것입니다.이 레지스트리 항목 편집:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters
자세한 내용은 Windows에서 IP 버전 6 또는 특정 구성 요소를 비활성화하는 방법을 참조하십시오.
이전에 Cisco JavaScript 코드에서는 Java 벤더의 값으로 Sun을 찾았습니다.그러나 Oracle은 JDK7에 설명된 대로 해당 값을 변경했습니다.Java 공급업체 등록 정보가 변경됩니다.이 문제는 Cisco 버그 ID CSCub46241, "AnyConnect weblaunch fails from Internet Explorer with Java 7"에 의해 수정되었습니다.
보고된 문제가 없습니다.AnyConnect 3.1(WebLaunch / Safari / Mac 10.7.4 / Java 7.10 컨피그레이션 포함)을 사용한 테스트에는 오류가 표시되지 않습니다.
Cisco 버그 ID CSCue48916, "AnyConnect 3.1.00495 또는 3.1.02026 & Java v7 사용 시 Java App Break"가 접수되었습니다.초기 조사에 따르면 클라이언트 측에서 문제가 버그가 아니라 Java 가상 머신(VM) 컨피그레이션과 관련이 있을 수 있습니다.
이전에는 AnyConnect 3.1(2026) 클라이언트에서 Java 7 앱을 사용하기 위해 IPv6 가상 어댑터 설정을 선택하지 않았습니다.그러나 이제 이 절차의 모든 단계를 완료해야 합니다.
setx _JAVA_OPTIONS -Djava.net.preferIPv4Stack=true
CSD/Hostscan 관련 문제의 경우 DART 로그와 Java 콘솔 로그를 수집합니다.
DART 로그를 얻으려면 ASA에서 디버깅으로 CSD 로깅 레벨을 설정해야 합니다.
Hostscan은 Windows의 AnyConnect에 대해 이전에 설명한 것과 유사한 충돌(Cisco 버그 ID CSCuc55720)에 취약합니다. 호스트 스캔 문제는 Cisco 버그 ID CSCuc48299, "Java 7이 포함된 IE crash on HostScan Weblaunch"로 해결되었습니다.
CSD 3.5.x에서 모든 WebVPN 연결이 실패합니다.여기에는 AnyConnect 웹 실행이 포함됩니다.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를 실행할 것을 권장하기 때문에 Java 다운그레이드보다는 CSD를 업그레이드해야 합니다. 특히 Mac에서 Java 다운그레이드가 어려울 수 있기 때문입니다.
Chrome 및 Safari의 문제는 정상적인 동작입니다.
Java 7이 이미 설치되어 있는 경우 해상도는 다음과 같습니다.
Mac 10.9에 있고 Java 플러그인이 이미 활성화되어 있는 경우(Mac 10.8의 Chrome 및 Safari with WebLaunch 섹션에 설명 참조) 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 unsafe 모드가 비활성화된 경우 OSX 10.9에서 WebLaunch 실패"를 의미합니다. 이 문제를 해결하려면 Java 환경 설정을 수정하여 Safari에서 Java를 안전하지 않은 모드로 실행할 수 있도록 합니다.
Java와 관련된 WebVPN 문제의 경우 문제 해결을 위해 이 데이터를 수집합니다.
Reading Signers from 8412이 예에서 6a0665e9-1f510559.idx는 mffta.jar 7의 캐시된 버전입니다. 이러한 파일에 액세스할 수 없는 경우 직접 연결을 사용할 때 Java 캐시에서 파일을 수집할 수 있습니다.
https://rtpvpnoutbound6.cisco.com/+CSCO+00756767633A2F2F7A2D73767972662E6
E7067727A76687A2E6179++/mffta.jar
C:\Users\wvoosteren\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\41\
6a0665e9-1f510559.idx
테스트 설정을 통해 문제를 신속하게 해결할 수 있습니다.
최근 발표된 Java 7 업데이트 51(2014년 1월) 변경 사항은 기본 보안 슬라이더에 코드 시그니처와 Permissions Manifest 특성이 필요하다는 것을 설정했습니다.요약하면, 모든 Java 애플릿에는 다음이 필요합니다.
웹 브라우저를 통해 시작된 Java를 사용하는 응용 프로그램은 영향을 받습니다.웹 브라우저 외부의 모든 위치에서 애플리케이션이 실행됩니다.이는 WebVPN에 대해 Cisco에서 배포한 모든 클라이언트 플러그인이 영향을 받을 수 있다는 것을 의미합니다.이러한 플러그인은 Cisco에서 유지 관리하거나 지원하지 않으므로 Cisco는 이러한 제한을 준수하도록 코드 서명 인증서 또는 애플릿을 변경할 수 없습니다.이를 위한 적절한 방법은 ASA에서 임시 코드 서명 인증서를 사용하는 것입니다. ASA는 임시 코드 서명 인증서를 제공하여 Java 애플릿(Java 리라이터 및 플러그인용)에 서명합니다. 임시 인증서를 사용하면 Java 애플릿이 경고 메시지 없이 원하는 기능을 수행할 수 있습니다.ASA 관리자는 임시 인증서가 만료되기 전에 신뢰할 수 있는 CA(인증 기관)에서 발급한 자체 코드 서명 인증서로 교체해야 합니다. 이 옵션이 실행 가능한 옵션이 아니면 해결 방법은 다음 단계를 완료하는 것입니다.
Java 7로 업그레이드한 후 Java 애플릿을 실행하는 애플리케이션이 WebVPN을 통해 장애 조치된 것으로 보고되었습니다. 이 문제는 Java 재작성기에 대한 SHA(Secure Hash Algorithm)-256의 지원이 부족하기 때문입니다.Cisco 버그 ID CSCud54080, 이 문제에 대해 "webvpn Java 리라이터에 대한 SHA-256 지원"이(가) 접수되었습니다.
JRE7을 사용하면 스마트 터널로 포털을 통해 Java 애플릿을 시작하는 애플리케이션이 실패할 수 있습니다.이는 64비트 시스템에서 가장 일반적입니다.캡처에서 Java VM은 스마트 터널 연결을 통해 ASA에 연결하지 않고 일반 텍스트로 패킷을 전송합니다.이 문제는 Cisco 버그 ID CSCue17876에서 해결되었습니다. "일부 Java 애플릿은 jre1.7이 있는 windows의 스마트 터널을 통해 연결하지 않습니다."