소개
이 문서에서는 Cisco AnyConnect Secure Mobility Client, Cisco Secure Desktop(CSD)/Cisco Hostscan 및 클라이언트리스 SSL VPN(WebVPN)에서 Java 7의 문제를 해결하는 방법에 대해 설명합니다.
참고: 조사 대상으로 표시된 Cisco 버그 ID는 설명된 증상으로 제한되지 않습니다. Java 7에 문제가 있는 경우 AnyConnect 클라이언트 버전을 최신 클라이언트 버전으로 업그레이드하거나 CCO(Cisco Connection Online)에서 사용 가능한 3.1 유지 관리 릴리스 3 버전 이상으로 업그레이드해야 합니다.
일반 문제 해결
사용 중인 브라우저에서 Java가 지원되는지 확인하려면 Java Verifier를 실행합니다. Java가 제대로 활성화되어 있으면 Java 콘솔 로그를 검토하여 문제를 분석합니다.
창
이 절차에서는 Windows에서 콘솔 로그를 활성화하는 방법에 대해 설명합니다.
- Windows 제어판을 열고 Java를 검색합니다.
- Java(커피 컵 아이콘)를 두 번 클릭합니다. Java Control Panel이 나타납니다.
- Advanced(고급) 탭을 클릭합니다.
- Debugging(디버깅)을 확장하고 Enable tracing(추적 활성화) 및 Enable logging(로깅 활성화)을 선택합니다.
- Java 콘솔을 확장하고 콘솔 표시를 클릭합니다.
맥
이 절차에서는 Mac에서 콘솔 로그를 활성화하는 방법에 대해 설명합니다.
- System Preferences(시스템 기본 설정)를 열고 Java 아이콘(커피 컵)을 두 번 클릭합니다. Java Control Panel이 나타납니다.
- Advanced(고급) 탭을 클릭합니다.
- Java 콘솔에서 콘솔 표시를 클릭합니다.
- Debugging(디버깅)에서 Enable tracing(추적 활성화) 및 Enable logging(로깅 활성화)을 클릭합니다.
특정 트러블슈팅
AnyConnect
AnyConnect 관련 문제의 경우 DART(Diagnostic 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"을 참조하십시오.
Java 7 및 IPv6 소켓 호출 문제
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(Virtual Adapter)에서 IPv6(사용 중이 아닌 경우)를 비활성화하는 것입니다.
두 번째 솔루션은 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
자세한 내용은 다음을 참조하십시오.
세 번째 솔루션은 Windows 시스템에서 IPv6를 완전히 비활성화하는 것입니다. 이 레지스트리 항목을 편집합니다.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TCPIP6\Parameters
자세한 내용은 How to disable IP version 6 or its specific components in Windows를 참조하십시오.
Java 7 업그레이드 후 AnyConnect WebLaunch 문제
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 AnyConnect의 Java 7 앱 문제
Cisco 버그 ID CSCue48916, "AnyConnect 3.1.00495 또는 3.1.02026 및 Java v7을 사용할 때 Java App(s) Break" 파일이 제출되었습니다. 초기 조사에서는 문제가 클라이언트 측의 버그가 아니라 Java VM(가상 머신) 컨피그레이션과 관련될 수 있음을 나타냅니다.
이전에는 AnyConnect 3.1(2026) 클라이언트에서 Java 7 앱을 사용하기 위해 IPv6 가상 어댑터 설정을 선택 취소했습니다. 그러나 이제 이 절차의 모든 단계를 완료해야 합니다.
- AnyConnect 버전 3.1(2026)을 설치합니다.
- Java 7을 제거합니다.
- 재부팅합니다.
- Oracle 웹 사이트에서 사용 가능한 Java SE 6, 업데이트 38을 설치합니다.
- Java 6 제어판 설정으로 이동한 다음 업데이트 탭을 클릭하여 최신 버전의 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(원격 액세스 VPN) > Secure Desktop Manager(Secure Desktop 관리자) > Global Settings(전역 설정)로 이동합니다.
- Cisco ASDM(Adaptive Security Device Manager)에서 디버깅할 CSD 로깅을 켭니다.
- CSD/Hostscan 로그를 수집하려면 DART를 사용합니다.
창
Hostscan은 Windows의 AnyConnect에 대해 이전에 설명한 것과 유사한 충돌에 취약합니다(Cisco 버그 ID CSCuc55720). hostscan 문제는 Cisco 버그 ID CSCuc48299, "HostScan Weblaunch에서 IE with Java 7 crash"로 해결되었습니다.
맥
CSD 버전 3.5.x 및 Java 7 문제
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 다운그레이드가 어려울 수 있습니다.
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 차단됨' 오류 메시지가 표시될 수 있습니다. Java 업데이트 설치에 대한 자세한 내용은 Apple 지원 포럼에서 2013년 8월 28일 OS X에 사용 가능한 Java 업데이트를 참조하십시오.
Mac 10.9에서 WebLaunch를 사용한 Safari 문제
Mac 10.9에 있고 Java 플러그인이 이미 활성화되어 있는 경우(Mac 10.8에서 WebLaunch를 사용한 Chrome 및 Safari 문제 섹션 참조) WebLaunch는 계속 실패할 수 있습니다. 모든 Java 애플릿이 시작되지만 브라우저는 계속 회전합니다. General Troubleshooting(일반 문제 해결) 섹션에 설명된 대로 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, "WebLaunch on OSX 10.9 fails if java unsafe mode is disabled(Java 안전하지 않은 모드가 비활성화되면 WebLaunch가 실패함)가 발생했음을 나타냅니다. 이 문제를 해결하려면 Java를 Safari에 대해 안전하지 않은 모드에서 실행할 수 있도록 Java 환경 설정을 수정합니다.
- 기본 설정을 클릭합니다.
- Manage Website Settings(웹 사이트 설정 관리)를 클릭합니다.
- Security(보안) 탭에서 Java를 선택하고 Allow(허용)가 기본적으로 선택되어 있습니다.
- Allow to Run in Unsafe Mode(안전하지 않은 모드에서 실행 허용)를 변경합니다.
웹VPN
Java와 관련된 WebVPN 문제의 경우 문제 해결을 위해 이 데이터를 수집합니다.
테스트 설정을 통해 신속하게 문제를 해결할 수 있습니다.
Java 7 U51의 보안 기능 및 WebVPN 사용자에게 미치는 영향
Java 7 업데이트 51(2014년 1월)에 대해 최근에 발표된 변경 내용으로 인해 기본 보안 슬라이더에 코드 서명 및 권한 매니페스트 특성이 필요하다는 사실이 확인되었습니다. 요약하면, 모든 Java 애플릿에는 다음이 필요합니다.
- (애플릿 및 웹 시작 응용 프로그램).
- - 매니페스트 내에서 "Permissions" 특성을 설정합니다.
웹 브라우저를 통해 시작된 Java를 사용하는 경우 응용 프로그램이 영향을 받습니다. 응용 프로그램은 웹 브라우저 외부의 어디에서나 실행됩니다. 이것이 WevVPN에 의미하는 바는 Cisco에서 배포하는 모든 클라이언트 플러그인이 영향을 받을 수 있다는 것입니다. 이러한 플러그인은 Cisco에서 유지 관리하거나 지원하지 않으므로 Cisco는 이러한 제한을 준수하기 위해 코드 서명 인증서 또는 애플릿을 변경할 수 없습니다. 이를 위한 적절한 해결 방법은 ASA에서 임시 코드 서명 인증서를 사용하는 것입니다. ASA는 Java 애플릿을 서명하는 임시 코드 서명 인증서를 제공합니다(Java 재작성기 및 플러그인용). 임시 인증서를 사용하면 Java 애플릿이 경고 메시지 없이 원하는 기능을 수행할 수 있습니다. ASA 관리자는 임시 인증서가 만료되기 전에 신뢰할 수 있는 CA(인증 기관)에서 발급한 자체 코드 서명 인증서로 대체해야 합니다. 실행 가능한 옵션이 아닌 경우 해결 방법은 다음 단계를 완료하는 것입니다.
- 최종 클라이언트 시스템의 Java 설정에서 예외 사이트 목록 기능을 사용하여 보안 설정에 의해 차단된 응용 프로그램을 실행할 수 있습니다. 이 작업을 수행하는 단계는에 설명되어 있습니다.
- Java 보안 설정을 낮출 수도 있습니다. 이 설정은 다음과 같이 클라이언트 시스템의 Java 설정에서도 설정됩니다.
경고: 이러한 해결 방법을 사용하면 여전히 몇 가지 오류가 발생하지만, Java는 해결 방법을 사용하지 않고 실행했을 때처럼 애플리케이션을 차단하지 않습니다
창
Java 애플릿을 실행하는 응용 프로그램은 Java 7로 업그레이드한 후 WebVPN을 장애 조치하는 것으로 보고되었습니다. 이 문제는 Java 재작성기에 대한 SHA(Secure Hash Algorithm)-256 지원이 부족하기 때문에 발생합니다. 이 문제에 대해 Cisco 버그 ID CSCud54080, "webvpn Java 재작성기를 위한 SHA-256 지원"이 제출되었습니다.
스마트 터널로 포털을 통해 Java 애플릿을 시작하는 애플리케이션은 JRE7을 사용할 때 실패할 수 있습니다. 이는 64비트 시스템에서 가장 일반적입니다. 캡처에서 Java VM은 ASA에 대한 스마트 터널 연결을 통하지 않고 일반 텍스트로 패킷을 전송합니다. 이 문제는 Cisco 버그 ID CSCue17876에서 해결되었습니다. "일부 Java 애플릿은 jre1.7을 사용하는 windows에서 스마트 터널을 통해 연결되지 않습니다."