WebSphere® Application Server 구성에 포함된 비밀번호를 보호해야 합니다. 서버 프로파일을 작성한 후에는 비밀번호를 암호화하기 위한 사용자 정의 클래스를 작성하여
보호를 강화할 수 있습니다.
이 태스크 정보
다음 단계를 완료하여 사용자 정의 비밀번호 암호화를 사용 가능하게 하십시오. 암호화해야 하는 비밀번호와 해당 탐색 경로를 포함하는 애플리케이션 서버 프로파일의 파일 목록은 파일에서 비밀번호 인코딩을 참조하십시오.
프로시저
- 모든 서버 및 클라이언트 프로세스에 대해 다음 시스템 특성을
추가하십시오. 서버 프로세스의 경우 각 프로세스에 대한 server.xml
파일을 업데이트하십시오. 이들 특성을 -D 접두부가 앞에 오는 genericJvmArgument 인수로서 추가하십시오.
com.ibm.wsspi.security.crypto.customPasswordEncryptionClass=
com.acme.myPasswordEncryptionClass
com.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled=true
중요: wsadmin 클라이언트와 관련하여, 연결 모드에서 wsadmin을 사용하는 경우
AdminTask.setJVMSystemProperties 명령을 사용하거나 콘솔을 통해 연결된 배치 관리자 또는 서버에서 이 특성을 설정해야 합니다. 로컬
모드(
conntype=NONE)에서 wsadmin을 사용하는 경우 다음과 같이
javaoption 명령을 사용하여 특성을 설정할 수 있습니다.
wsadmin -conntype none -lang jython -javaoption
-Dcom.ibm.wsspi.security.crypto.customPasswordEncryptionClass=<encryptionClassToUse>
팁: 사용자 정의 암호화 클래스 이름이 com.ibm.wsspi.security.crypto.CustomPasswordEncryptionImpl인 경우, 이 클래스가 클래스 경로에 있으면 자동으로 사용 가능하게 됩니다. 사용자
정의 구현이 이 패키지 및 클래스 이름을 가질 때 이전에 나열되는
시스템 특성을 정의하지 마십시오. 이 클래스의 암호화를 사용하지 않으려면 다음과 같이 지정해야 합니다.com.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled=false시스템 특성으로 사용할 수 있습니다.
- 다음 메소드 중 하나를 선택하여 사용자 정의 암호화 구현 클래스를 로드하도록 WebSphere Application Server 런타임을 구성하십시오.
- 모든 서버 프로세스를 다시 시작하십시오.
- 비밀번호를 포함하는 각 구성 문서를 편집하고 구성을
저장하십시오.
그런 다음, 모든 비밀번호 필드가 WSEncoderDecoder 유틸리티를 통해 실행되며,
이는 사용 가능할 때 플러그 지점을 호출합니다. {custom:alias} 태그는 구성 문서에 표시됩니다. 비밀번호는 암호화되는 경우에도 여전히 Base64 인코딩됩니다. 태그가 다르다는 점을 제외하고 인코딩된 비밀번호와 비슷합니다.
- PropsFilePasswordEncoder (.bat 또는 .sh) 유틸리티를 사용하여 클라이언트 측 특성 파일에 있는 비밀번호를 암호화하십시오.
이 유틸리티는
새 비밀번호를 인코딩하는 대신 암호화하기 위해 이전에 나열되는 특성이
스크립트에 시스템 특성으로 정의되어야 합니다. 특성을 Java 명령행에 추가하려면 스크립트를 편집해야 합니다. 예를 들어 다음과 같습니다.
%JAVA_EXE% -Dcom.ibm.wsspi.security.crypto.customPasswordEncryptionEnabled=true
-Dcom.ibm.wsspi.security.crypto.customPasswordEncryptionClass=mysample.MySampleEncryption
-Dcmd.properties.file=%TMPJAVAPROPFILE%
"-Dwas.install.root=%WAS_HOME%" com.ibm.ws.bootstrap.WSLauncher com.ibm.ws.security.util.PropFilePasswordEncoder %*
PropsFilePasswordEncoder를 통해 실행해야 하는 파일 목록은
파일에서 비밀번호 인코딩의 표 2를 참조하십시오.
- 클라이언트 JVM(Java Virtual Machine)의 암호를 암호 해독하려면
각 클라이언트 유틸리티에 대한 시스템 특성으로 이전에 나열되는 특성을
추가하십시오.
- 이 기능을 사용하기 전에 모든 노드가 클래스 경로 내에 사용자 정의 암호화 클래스를
가지고 있는지 확인하십시오.
결과
사용자 정의 비밀번호 암호화가 사용 가능합니다.
다음에 수행할 내용
사용자 정의 비밀번호 암호화가 실패하거나 더 이상 필요하지 않은 경우 사용자 정의 비밀번호 암호화 사용 안함을 참조하십시오.