Sun GlassFish Enterprise Server 2.1 릴리스 노트

보안

이 절에서는 Enterprise Server 및 웹 응용 프로그램 보안과 인증에 관련된 알려진 문제점과 해결 방법을 설명합니다.

과도한 스트레스 하에 SSL 시나리오에 OutOfMemoryError가 발생함(JDK 6 이슈 23)

설명

JDK6 Sun PKCS11 공급자에 있는 JDK 버그(https://jdk6.dev.java.net/issues/show_bug.cgi?id=23 참조)는 과도한 스트레스 하에 특정 SSL 시나리오를 실행하는 경우 OutOfMemoryError를 일으킬 수 있습니다.

해결 방법

이 문제가 발생하면 sun.security.pkcs11.SunPKCS11 공급자를 JRE 설치 경로에 있는 java.security 파일에서 제거하십시오.

AIX: 서버측 인증 검증 오류로 인해 WSS 동적 암호화 키가 실패함(6627379)

설명

AIX 플랫폼에서 응답에 대해 암호화 키를 결정하기 위한 동적 암호화가 실패합니다. 실패는 서버측에서 인증을 검증하는 동안 발생합니다.

실패에 대한 응답으로 서버 로그 파일 server.log에 다음 오류 메시지가 기록됩니다.


Unable to validate certificate

Error occurred while resolving key information
com.sun.xml.wss.impl.WssSoapFaultException: Certificate validation failed

해결 방법

Enterprise Server 2.1에 Metro 1.1을 설치합니다.

AIX: EJB의 @RunAs 모듈 인증 테스트가 실패함 AccessLocalException: 클라이언트가 인증되지 않음(6627385)

설명

run-as 또는 전파된 보안 ID가 @RunAs 주석으로 정의된 엔터프라이즈 빈의 메소드가 다른 엔터프라이즈 빈의 메소드를 호출하려고 합니다. run-as 기본이 sun-ejb-jar.xml 배포 설명자 파일에 정의되어 있지 않으면 시도가 javax.ejb.AccessLocalException 예외와 함께 실패합니다.


javax.ejb.AccessLocalException: Client not authorized for this invocation.

해결 방법

sun-ejb-jar.xml 배포 설명자 파일에서 principal-name 요소에 run-as 역할이 지정한 대상 기본 이름을 정의합니다.

SSL 종료가 작동하지 않음(6269102)

설명

SSL 종료가 작동하지 않습니다. 로드 밸런서(하드웨어)가 SSL 종료에 맞게 구성되었다면 Enterprise Server는 리디렉션 동안 프로토콜을 https 에서 http로 변경합니다.

해결 방법

하드웨어 로드 밸런서와 Enterprise Server 사이에 소프트웨어 로드 밸런서를 추가합니다.

SSL에서 소켓 연결 누수 발생(6492477)

설명

JVM 버그 때문에 HTTP Listener에서 security-enabledtrue로 설정되어 있는 경우 일부 JDK 버전에서 누수 문제가 발생합니다. 이 버그를 재현할 수 있는 단계는 다음과 같습니다.

  1. HTTP Listener에서 security-enabledtrue로 설정합니다.


    <http-listener acceptor-threads="1" address="0.0.0.0" 
    blocking-enabled="false" default-virtual-server="server" enabled="true" 
    family="inet" id=" http-listener-1" port="8080" security-enabled="true" 
    server-name="" xpowered-by="true">
  2. quicklook 테스트의 끝에서 정지 도메인을 주석으로 처리합니다.

  3. quicklook 테스트를 실행합니다.

  4. 소켓 사용을 검사합니다.


    netstat -an | grep 8080

    다음이 사용 중인 것으로 표시됩니다.


    *.8080               *.*                0      0 49152      0 LISTEN
    *.8080               *.*                0      0 49152      0 BOUND

이 문제는 GlassFish 사이트(https://glassfish.dev.java.net/issues/show_bug.cgi?id=849)에 설명되어 있습니다.

해결 방법

최신 JDK 버전으로 업그레이드합니다.