跳转至

JBOSS

JBoss jmx-console和web-console的安全设置

介绍

如果在网上公布了自己的JBoss服务器(用选项-b 0.0.0.0启动服务器或者在.../jboss/server/default/deploy/web-deployer/server.xml 改变第一个发生变量jboss.bind.address 为 0.0.0.0), 你也自动的公开了JBoss web-console (http://localhost:8080/web-console) 和 jmx-console (http://localhost:8080/jmx-console) 的管理平台,并且没有用户名和密码。 网上的任何人都可以通过这个途径,停止你的服务器,清空服务器上的应用,而且可以部署自己的应用上去。

jmx-console的安全设置

1) 在.../jboss/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml 里,取消下面代码注释

<security-domain>java:/jaas/jmx-console</security-domain>  

2) 在.../jboss/server/default/deploy/jmx-console.war/WEB-INF/web.xml里取消下面代码注释

<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>  

3) 在.../jboss/server/default/conf/props/jmx-console-users.properties文件里,增加/编辑行:

 admin=a_password_you_like 

. 要分配一个用户到JBossAdmin组里,在jmx-console-roles.properties.properties(相同目录下)文件里添加

username=JBossAdmin

. jmx-console-users.properties文件里有一个admin/admin的用户,为了安全起见,要么删除这个用户,要么改变这个pw更安全

web-console的安全设置

1)在.../jboss/server/default/deploy/management/console-mgr.sar/web-console.war/WEB-INF/jboss-web.xml取消下面代码注释

<security-domain>java:/jaas/web-console</security-domain>  

在.../jboss/server/default/deploy/management/console-mgr.sar/web-console.war/WEB-INF/web.xml取消下面代码注释

<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>  

3)在.../jboss/server/default/deploy/management/console-mgr.sar/web-console.war/WEB-INF/classes/web-console-users.properties 文件里, 增加/编辑行

 admin=a_password_you_like 

. 要分配一个用户到JBossAdmin组里,在web-console-roles.properties.properties(相同目录下)文件里添加

username=JBossAdmin

. web-console-users.properties文件里有一个admin/admin的用户,为了安全起见,要么删除这个用户,要么改变这个pw更安全

说明: -两个 jboss-jmx-plugin用JMX控制台(跟maven-cargo-plugin一样)

-不需要web-console, 因此应该是不可用的(通过删除或是注释web-console-users.properties中的user/password行)