基于JBOSS安全配置

大致有两种方式

一、暴力解决法

JMX Console对应的应用在%JBOSSHOME%/server/default/deploy/jmx-console.war

JBoss Web Console对应的应用在%JBOSSHOME%/server/default/deploy/management/console-mgr.sar

删除以上的两个文件夹,重启jboss,这样就访问不了jmx-console和web-console了,一了百了。

二、修改配置法

JMS-CONSOLE的安全配置
 

 1: 找到%JBOSS_HOME%/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml文件,去掉对下面这段xml文本的注释。

Xml代码
  • <jboss-web>    
  • <security-domain>java:/jaas/jmx-console</security-domain>    
  • </jboss-web>   

    2: 与jboss-web.xml同级目录下还有一个文件web.xml,找到下面这段xml文本,取消注释。

    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: 在第一步中的jmx-console安全域和第二步中的运行角色JBossAdmin都是在login-config.xml中配置,我们在   % JBOSS_HOME%/server/default/conf/login-config.xml文件可以看到以下配置,

    Xml代码
  • <application-policy name = "jmx-console">    
  • <authentication>    
  • <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"    
  • flag = "required">    
  • <module-option name="usersProperties">props/jmx-console-users.properties</module-option>    
  • <module-option name="rolesProperties">props/jmx-console-roles.properties</module-option>    
  • </login-module>    
  • </authentication>    
  • </application-policy>   

    文件props/jmx-console-users.properties定义了用户名、密码;props/jmx-console-roles.properties定义了用户所属角色 注:
    jmx-console-users.properties 格式是:用户名=密码明文
    jmx-console-roles.properties 格式是:用户名=角色1,角色2,角色3 可以找到这两个文件,修改用户名和密码。    WEB-CONSOLE的安全配置
    1:
    找到%JBOSS_HOME%/server/default/deploy/ management/console-mgr.sar/web-console.war/WEB-INF/jboss-web.xml文件,去掉对以下xml文本的注释。

    Xml代码
  • <jboss-web>    
  • <depends>jboss.admin:service=PluginManager</depends>    
  • </jboss-web>   

    2:
    与jboss-web.xml同级目录下还有一个文件web.xml,找到下面这段xml文本,取消注释。

    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_HOME%/server/default/conf/login-config.xml文件可以看到以下配置: Xml代码
  • <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>   上面提到的两个文件在%JBOSS_HOME%/server/default/deploy/ management/console-mgr.sar/web-console.war/WEB-INF/classes文件夹下,你可以修改其中的用户名和密码,格式和上面的两个properties文件中的一样。 启动服务输入http://localhost:8080/jmx-console 和http://localhost:8080/web-console测试安全机制 。

你可能感兴趣的:(jboss,职场,休闲,安全设置)