JBoss를 사용하는 사용자가 특별히 보안조치를 하지 않았다면 (default 환경이라면 ...)
http://www.yourserver.com/jmx-console 혹은 http://www.yourserver.com/web-console 로 접속하면
JBoss 서버의 내부 전체를 살펴볼 수 있으며 심지어는 정당하게 마우스 클릭 몇번으로 서버를 shutdown 시킬 수 있다. 그렇다고 모니터링 및 관리 유지에 도움이 되는 jmx-console과 web-console 서비스를 하지 않을 수도 없다. 이런 경우 반드시 jmx-console과 web-console에 보안조치를 취해야 한다.
jmx-console 보안
1. jmx console을 보안하기 위해서는 deploy 디렉토리로 이동하여 jmx-console.war를 찾는다.
shell>cd JBOSS_HOME/server/default/deploy/jmx-console.war <enter>
2. web.xml 과 jboss-web.xml의 security-constraint 부분 활성화한다.
shell>vi WEB-INF/web.xml <enter>
아래 처럼 comment 되어 있는 security 부분을 uncomment 하고 뒤에 <login-config> 블록을 추가한다.
<!-- A security constraint that restricts access to the HTML JMX console
to users with the role JBossAdmin. Edit the roles to what you want and
uncomment the WEB-INF/jboss-web.xml/security-domain element to enable
secured access to the HTML JMX console.
-->
<security-constraint>
<web-resource-collection>
<web-resource-name>HtmlAdaptor</web-resource-name>
<description>An example security config that only allows users with the
role JBossAdmin to access the HTML JMX console web application
</description>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>JBossAdmin</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>JBoss JMX Console</realm-name>
</login-config>
<security-role>
<role-name>JBossAdmin</role-name>
</security-role>
shell>vi jboss-web.xml <enter>
아래 처럼 comment 되어 있는 security 부분을 uncomment 해야한다.
<jboss-web>
<!-- Uncomment the security-domain to enable security. You will
need to edit the htmladaptor login configuration to setup the
login modules used to authentication users.
-->
<security-domain>java:/jaas/jmx-console</security-domain>
</jboss-web>
3. users , roles properties 를 수정한다.
JBoss 4.0.2 이상
shell>cd $JBOSS_HOME/server/default/conf/props <enter>
shell>vi jmx-console-users.properties <enter>
# A sample users.properties file for use with the UsersRolesLoginModule
myaccount=mypassword
shell>vi jmx-console-roles.properties <enter>
# A sample roles.properties file for use with the UsersRolesLoginModule
myaccount=JBossAdmin,HttpInvoker
JBoss 4.0.2 이전
shell>cd $JBOSS_HOME/server/default/jmx-console.war/WEB-INF/classes/props <enter>
shell>vi jmx-console-users.properties <enter>
shell>vi jmx-console-roles.properties <enter>
web-console 보안도 jmx-console과 매우 유사하다.
우선 deploy 디렉토리가 $JBOSS_HOME/server/default/deploy/management/console-mgr.sar/web-console.war 이다.
1. jboss-web.xml 과 web.xml의 security-domain 블록을 uncomment 한다.
2. JBOSS_HOME/server/default/conf/login-config.xml 을 수정한다.
shell>vi $JBOSS_HOME/server/default/conf/login-config.xml <enter>
중간쯤 "web-console"을 지정한 아래의 부분이 있는데
<!-- A template configuration for the web-console web application. This
defaults to the UsersRolesLoginModule the same as other and should be
changed to a stronger authentication mechanism as required.
-->
<application-policy name = "web-console">
<authentication>
<login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"
flag = "required">
<module-option name="usersProperties">web-console-users.properties</module-option>
<module-option name="rolesProperties">web-console-roles.properties</module-option>
</login-module>
</authentication>
</application-policy>
강조한 부분을 props/web-console-users.properties 와 props/web-console-roles.properties 로 각각 수정한다.
3. web-console-users.properties, web-console-roles.properties 내용을 작성한다.
shell>cd $JBOSS_HOME/server/default/conf/props <enter>
shell>cp jmx-console-users.properties web-console-users.properties <enter>
shell>cp jmx-console-roles.properties web-console-roles.properties <enter>
물론 web-console-users.properties 와 web-console-roles.properties 의 내용을 원하는대로 수정해도 된다.
마지막으로 JBoss를 restart 시키면 된다.
'기타 잡동사니 > JAVA' 카테고리의 다른 글
JBoss - EJB를 호출하는 Shell 프로그램 실행하기 (0) | 2008.03.21 |
---|---|
JBoss - Cron을 이용한 자동실행 및 shutdown 스크립트 (0) | 2008.03.20 |
JBoss 설치하기 - Linux 기반 (0) | 2008.03.20 |
mod-jk를 이용하여 Apache 와 JBoss 연동 (2) | 2008.01.25 |
자바메일 첨부파일 보내기 (0) | 2007.11.30 |