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>
2)在.../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行)