WAS/WebLogic

[Tips] serializedsystemini.dat 파일 복구하기

투칼론 2016. 3. 31. 11:29
반응형

SerializedSystemIni.dat 파일은 WLS 도메인에 필요한 암호화 및 암호해독에 필요한 해쉬 값을 저장하는 파일이다. 웹로직은 중요한 보안 파일을 암호화하기 위해 AES 알고리즘을 사용합니다. 각 웹 로직 서버의 도메인은 고유의 암호화(encryption) / salt / cypher 키를 가지고 있으며, SerializedSystemIni.dat에 해당 키를 보관한다.

손상된 serializedsystemini.dat을 복구하는 방법은 아래와 같다.


1. 도메인의 모든 웹로직 인스턴스 종료

   cd $DOMAIN_HOME/servers/AdminServer/security
   mv boot.properties boot.properties_bkp
   cd $DOMAIN_HOME/security
   mv SerializedSystemInit.dat SerializedSystemInit.dat_bkp
   cd $DOMAIN_HOME
   mv fileRealm.properties fileRealm.properties.src
   vi fileRealm.properties.src     

fileRealm.properties.src 내용 중에서 user.system=[암호화 된 비밀번호]를 user.system=[텍스트암호]로 변경함


2. SerializedSystemInit.dat과 fileRealm.properties 파일을 재생성

   . $DOMAIN_HOME/bin/setDomainEnv.sh
   java weblogic.security.acl.internal.FileRealm fileRealm.properties SerializedSystemIni.dat
    • 위의 명령어는 새로운 salt/chpher 키로 SerializedSystemIni.dat 및 fileRealm.properties 파일을 재생성합니다


3. config.xml 파일에 담고 있는 암호 생성

   cd $DOMAIN_HOME
   java weblogic.security.Encrypt <웹로직 관리자 패스워드>
  • 위의 명령어는 config.xml 파일에 대체할 암호를 제공합니다. 


4. 노드 매니저와 부팅를 위한 암호 생성 (node manager 사용 시)

  • $DOMAIN_HOME/nodemanager/nmpassword.properties를 아래와 같이 설정합니다.

   username=<admin username>
   password=<password>



5. boot.properties 수정

  • 기동 시에 사용되는 boot.properties를 아래와 같이 설정합니다.
   username=<admin username>
   password=<password>
  • 혹시 Serializedsystemini.dat 파일을 업데이트하고, config.xml 파일에 암호화가 잘 적용되지 않는 경우에는 아래와 같이 파일을 삭제합니다.
rm -rf $ DOMAIN_HOME/edit.lok  
rm -rf $ DOMAIN_HOME/config.lok  


[자료출처http://middlewaresuite.com/2014/11/07/steps-to-recover-corrupted-serializedsystemini-dat/



[참고] config wizard로 도메인을 신규로 생성한 후, 새로 생성된 도메인 환경의 SerializedSystemIni.dat 파일을 복사하고, boot.properties와 config.xml 파일에 암호화된 해당 부분을 수정해도 된다.