Tomcat manager 암호화 패스워드 설정
Tomcat 에는 Tomcat 서버를 관리를 쉽게 하기위한 GUI,Script 페이지를 제공합니다. 그런데, 여기에 접근하기 위해서는 인증을 설정해야 하는데 이는 $CATALINA_BASE/conf/tomcat-users.xml 파일에 설정하도록 되어 있습니다.
1 2 3 4 5 |
<tomcat-users> <role rolename="manager-gui"/> <role rolename="manager-script"/> <user username="admin" password="admin" roles="manager-gui,manager-script"/> </tomcat-users> |
그런데, 여기에는 패스워드를 입력하도록 되어 있는데 텍스트로 되어 있습니다. 보안상 좋지 않습니다. 그래서 Tomcat manager 암호화 패스워드 설정 을 하는게 좋습니다.
이 문서는 Tomcat 7.x 버전에서 테스트 되었습니다.
Digest 암호화 생성
다음과 같이 패스워드를 생성 합니다.
1 2 3 |
]# cd $CATALINA_HOME/bin ]# ./digest.sh -a SHA mypassword mypassword:91dfd9ddb4198affc5c194cd8ce6d338fde470e2 |
SHA 암호화된 패스워드가 나왔습니다. 이것을 다음과 같이 $CATALINA_BASE/conf/tomcat-users.xml 에 넣어줍니다.
1 2 3 4 5 |
<tomcat-users> <role rolename="manager-gui"/> <role rolename="manager-script"/> <user username="admin" password="91dfd9ddb4198affc5c194cd8ce6d338fde470e2" roles="manager-gui,manager-script"/> </tomcat-users> |
이제 이러한 암호화 패스워드를 Tomcat 서버가 알아먹도록 설정을 해줍니다. 설정은 $CATALINA_BASE/conf/server.xml 에 다음과 같이 해줍니다.
1 2 3 4 5 |
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <Realm className="org.apache.catalina.realm.MemoryRealm" digest="SHA" /> ...... </Host> |
이제 Tomcat 을 재시작 해줍니다.