본문 바로가기
Framework/MQ

초간단 Hawtio Tomcat Security 설정하기

by Tomining 2015. 8. 20.
먼저 Hawtio 를 Web Container 를 이용하여 설정해보자.

Hawtio.war 는 http://hawt.io/getstarted/index.html 에서 받을 수 있다.


hawtio-default.war 를 다운 받아 원하는 곳에 위치 시키면 된다.
/home1/irteam/deploy/hawtio.war 에 위치시켰다.

Context 설정을 해보자.

<Context path="/hawtio" debug="0" privileged="true" docBase=“/home1/irteam/deploy/hawtio.war” />

위처럼 설정한 뒤 Tomcat 을 구동하면 Hawtio 에 접속해 볼 수 있다.

http://localhost:8080/hawtio
위 URL 로 접속해보자. 정상 구동이 되었다면, 아래와 같은 화면을 접할 수 있다.


이렇게 되면 아무나 접속해서 JMX 를 통해 시스템일 망쳐놓을지 모른다.
계정을 발급하여 Login 을 할 수 있도록 만들어보자.

인증 설정하는 방법은 여러가지가 있으나, 여기서는 Tomcat 에서 MemoryRealm 을 통해서 설정해 보기로 한다.

$CATALINA_HOME/conf/server.xml 에서 Context 설정을 아래와 같이 변경해 주어야 한다.

<Context path="/hawtio" debug="0" privileged="true" docBase="/home1/irteam/deploy/hawtio.war">
               <Realm className="org.apache.catalina.realm.MemoryRealm" />
</Context>

$CATALINA_HOME/conf/tomcat-users.xml 에 권한 및 사용자 계정을 설정해 준다.

<role rolename="admin" />
<user username=“admin" password=“admin" roles="admin" />

여기까지 설정 한 뒤 Hawtio 를 재구동한 뒤 재접속해보자.
이젠 바로접속되는 것이 아니라 로그인 창이 노출된다.


설정해 둔 계정으로 접속하면 잘 접속됨을 확인 할 수 있다.



$CATALINA_HOME/conf/tomcat-users.xml 에 설정한 사용자 정보를 다시 확인해 보자.

<role rolename="admin" />
<user username=“admin" password=“admin" roles="admin" />

password 가 보기 좋게 노출되고 있다.
이를 암호화 할 필요가 있어 보인다.

간단히 SHA 알고리즘을 활용하여 적용해보자.

$CALATINA_HOME/bin/digest.sh -a {암호화 알고리즘} {암호} 를 하면 비밀번호를 암호화 한 내용을 확인할 수 있다.

./digest.sh -a SHA admin
admin:d033e22ae348aeb5660fc2140aec35850c4da997

Context 에서 MemoryRealm 설정시 SHA 알고리즘을 사용하겠다는 설정을 추가해 주어야 한다. 아래와 같이 수정해 주자.

<Context path="/hawtio" debug="0" privileged="true" docBase="/home1/irteam/deploy/hawtio.war">
               <Realm className=“org.apache.catalina.realm.MemoryRealm” digest=“SHA" />
</Context>

$CATALINA_HOME/conf/tomcat-users.xml 에 암호화 된 password 를 설정해 준다.

<role rolename="admin" />
<user username=“admin" password=“d033e22ae348aeb5660fc2140aec35850c4da997" roles="admin" />

이제 비밀번호가 암호화 되어 보일 것이다.
재구동 후 로그인 해 보자.

잘 접속된다.

이 외에도 특정 IP 에서만 접속가능하도록 설정도 할 수도 있다. 아래 참고페이지를 참조하자.



참고 사이트


Tomcat 공신문서에서 좀 더 자세한 내용을 확인 할 수 있다.



'Framework > MQ' 카테고리의 다른 글

ActiveMQ 모니터링(hawtio + jolokia)  (0) 2015.07.31
Kafka 블로그 정리  (0) 2015.05.20
RabbitMQ 참고 사이트  (0) 2015.03.10