• Jboss 安全和优化


    Jboss 安全和优化 
    
    
    
    一.        Jboss后台启动:
    添加后台修改命令:
    vi run.sh
    while true; do
       if [ "x$LAUNCH_JBOSS_IN_BACKGROUND" = "x" ]; then
          # Execute the JVM in the foreground
         nohup  "$JAVA" $JAVA_OPTS 
             -Djava.endorsed.dirs="$JBOSS_ENDORSED_DIRS" 
             -classpath "$JBOSS_CLASSPATH" 
             org.jboss.Main "$@"
          JBOSS_STATUS=$?
       else
          # Execute the JVM in the background
          "$JAVA" $JAVA_OPTS 
             -Djava.endorsed.dirs="$JBOSS_ENDORSED_DIRS" 
             -classpath "$JBOSS_CLASSPATH" 
             org.jboss.Main "$@" &
          JBOSS_PID=$!
          # Trap common signals and relay them to the jboss process
          trap "kill -HUP  $JBOSS_PID" HUP
          trap "kill -TERM $JBOSS_PID" INT
          trap "kill -QUIT $JBOSS_PID" QUIT
          trap "kill -PIPE $JBOSS_PID" PIPE
          trap "kill -TERM $JBOSS_PID" TERM
          # Wait until the background process exits
          WAIT_STATUS=0
          while [ "$WAIT_STATUS" -ne 127 ]; do
             JBOSS_STATUS=$WAIT_STATUS
             wait $JBOSS_PID 2>/dev/null
             WAIT_STATUS=$?
          done
       fi
       # If restart doesn't work, check you are running JBossAS 4.0.4+
       #    http://jira.jboss.com/jira/browse/JBAS-2483
       # or the following if you're running Red Hat 7.0
       #    http://developer.java.sun.com/developer/bugParade/bugs/4465334.html   
       if [ $JBOSS_STATUS -eq 10 ]; then
          echo "Restarting JBoss..."
       else
          exit $JBOSS_STATUS
       fi
    done &
    二.        Jboss内存优化:
    修改这个两参数,给jvm分配适当的内存,一般为服务器的3/4内存量,推荐至少使用4G内存。
    另外添加两个参数 -XX:+UseParallelGC -XX:+UseParallelOldGC 这两个让服务并行回收内存空间。修改完成后,大致为 JAVA_OPTS = “-Xms4096m -Xmx8192m -XX:+UseParallelGC -XX:+UseParallelOldGC -Dsum……
    三.        Jboss日志输出模式
    [root@190MEM conf]# pwd
    /usr/local/jboss/server/default/conf
    [root@190MEM conf]# vi jboss-log4j.xml
       <appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
          <errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
          <param name="File" value="${jboss.server.log.dir}/server.log"/>
          <param name="Append" value="false"/>
          <param name="Threshold" value="ERROR"/>
    四.        Jboss数据库连接池优化
    修改数据库连接池:
    <datasources>
      <local-tx-datasource>
        <jndi-name>training_master_db</jndi-name>    <connection-url>jdbc:mysql://211.100.192.128:3306/dts?useUnicode=true&characterEncoding=UTF-8</connection-url>
        <driver-class>com.mysql.jdbc.Driver</driver-class>
        <user-name>root</user-name>
        <password></password>
            <min-pool-size>100</min-pool-size>
            <max-pool-size>500</max-pool-size>    <exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter</exception-sorter-class-name>
    五.        Jboss部署目录优化:
         去掉和应用无关的部署,加快jboss运行速度
    bsh-deployer.xml 
    client-deployer-service.xml  
    ear-deployer.xml
    ejb-deployer.xml 
    http-invoker.sar 
    jboss-bean.deployer 
    jboss-ws4ee.sar
    jms 
    jsr88-service.xml   
    schedule-manager-service.xml
    scheduler-service.xml
    sqlexception-service.xml
    uuid-key-generator.sar
    六.        Jboss应用安全加固:
    去掉:
    Tomcat status (full) (XML) 
    JMX Console 
    JBoss Web Console
    删除deploy下的jmx-console.war/ management/
    [root@190MEM deploy]# pwd
    /usr/local/jboss/server/default/deploy
    [root@190MEM deploy]# ls jmx-console.war/ management/
    jmx-console.war/:
    checkJNDI.jsp  displayMBeans.jsp    images     inspectMBean.jsp  META-INF          WEB-INF
    cluster        displayOpResult.jsp  index.jsp  jboss.css         style_master.css
    
    management/:
    console-mgr.sar
    
     
    
    一、 前言: 
    Jboss默认安装以后,会默认打开http://127.0.0.1,显示如下: 
    JBoss Online Resources 
    • JBoss 4.0 documentation 
    • JBoss Wiki 
    • JBoss forums 
    JBoss Management 
    • Tomcat status (full) (XML) 
    • JMX Console 
    • JBoss Web Console 
    Jmx Console和Jboss Web Console 里面可以修改和删除应用的参数,如果不加强安全设置,将会带来严重安全后果。 
    二、 关闭管理端口和相关统计信息: 
    1、 关闭jmx-console: 
    删除 
    /export/home/jboss-4.0.3SP1/server/default/deploy下目录jmx-console.war、management 
    2、 关闭web-console: 
    删除 
    /export/home/jboss-4.0.3SP1/server/default/deploy/jbossweb-tomcat55.sar下目录ROOT.war 
    3、 关闭status统计信息: 
    修改/export/home/jboss-4.0.3SP1/server/default/deploy/ROOT.war/WEB-INF/web.xml 
    屏蔽其中jboss的内容:粗体为添加屏蔽符号: 
      <!--display-name>Welcome to JBoss </display-name> 
      <description> 
        Welcome to JBoss 
      </description> 
      <servlet> 
        <servlet-name>Status Servlet </servlet-name> 
        <servlet-class>org.jboss.web.tomcat.tc5.StatusServlet </servlet-class> 
      </servlet--> 
    
      <!--servlet-mapping> 
        <servlet-name>Status Servlet </servlet-name> 
        <url-pattern>/status </url-pattern> 
      </servlet-mapping--> 
    4、 删除jboss主页相目录和文件: 
    /export/home/jboss-4.0.3SP1/server/default/deploy/ROOT.war下:Manager/favicon.ico/jboss.css/jbossindex.html/logo.gif 
    
    lion:/export/home/jboss-4.0.3SP1/server/default/deploy/ROOT.war # rm -rf manager favicon.ico jboss.css jbossindex.html logo.gif 
    5、 备注: 
    三、 关闭完成测试: 
    1、 http://127.0.0.1/jmx-console 
    2、 http://127.0.0.1/web-console 
    3、 http://127.0.0.1/jbossindex.html 
    4、 http://127.0.0.1/status 
    5、 测试结果: 
    测试人 时间 
    服务器 jmx-console web-console status jbossindex.html 测试 
    
     
    
     
    
     
    
    jboss默认配置了以下服务:
    •  JMX Console 
    •  JBoss Web Console 
    为了安全起见,需要用户通过授权进行访问。
    一、JMX安全配置
    STEP 1:
        找到%JBOSS_HOME%/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml文件,根据说明,去掉注释。
    
    
     
    
    <jboss-web>   
       <security-domain>java:/jaas/jmx-console</security-domain>   
    </jboss-web>   
    
    
    STEP 2:
        与jboss-web.xml同级目录下还有一个文件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>   
    
    
    STEP 3:
        在第一步中的jmx-console安全域和第二步中的运行角色JBossAdmin都是在login-config.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的安全配置
    STEP 1:
    找到%JBOSS_HOME%/server/default/deploy/ management/console-mgr.sar/web-console.war/WEB-INF/jboss-web.xml文件,根据说明,去掉注释。
    
    
    
    
    
    <jboss-web>   
       <depends>jboss.admin:service=PluginManager</depends>   
    </jboss-web> 
    
     
    
    
    STEP 2:
    与jboss-web.xml同级目录下还有一个文件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>   
    
    
    
    STEP 3:
    在本目录的classes文件夹下找到web-console-users.properties和web-console-roles.properties两个文件更名为:
    
    
    <application-policy name = "web-console">   
           <authentication>   
              <login-module code="org.jboss.security.auth.spi.UsersRolesLoginModule"   
                 flag = "required">   
                 <module-option name="usersProperties">users.properties</module-option>   
                 <module-option name="rolesProperties">roles.properties</module-option>   
              </login-module>   
           </authentication>   
    </application-policy>   
    
    
    启动服务输入http://localhost:8080/
     然后分别点击JMX Console以及Jboss Web Console测试安全机制
    
    user.properties和role.propertie并修改users.properties其中的用户名和密码修改%JBOSS_HOME%/server/default/conf/login-config.xml中web-console节点修改为以下:
    到后自行修改或重新定义用户名、密码。JBOSS_HOME%/server/default/config下找到它。查找名字为:jmx-console的application-policy:
    
     
    
    http://wiki.jboss.org/wiki/Wiki.jsp?page=SecureTheJmxConsole  
    
    http://jira.jboss.com/jira/secure/attachment/12313981/index.html
    
    http://wiki.jboss.org/wiki/Wiki.jsp?page=SecureTheJmxConsole  
    
    http://jira.jboss.com/jira/secure/attachment/12313981/index.html
    
  • 相关阅读:
    Rediect to ...
    [VSTO] warning CS0467 解决方案
    [HTTP]Nonocast.http post方法
    2013年上半年读过的书-无责任书评
    Cordova deploy on Android
    First App on Phonegap | Cordova
    Windows store app[Part 4]:深入WinRT的异步机制
    Windows store app[Part 3]:认识WinRT的异步机制
    Windows store app[Part 2]:全新的File System与Uri不匹配的问题
    Windows store app[Part 1]:读取U盘数据
  • 原文地址:https://www.cnblogs.com/firstdream/p/9377260.html
Copyright © 2020-2023  润新知