Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1303072
  • 博文数量: 416
  • 博客积分: 10495
  • 博客等级: 上将
  • 技术积分: 4258
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-23 22:13
文章分类

全部博文(416)

文章存档

2015年(7)

2014年(42)

2013年(35)

2012年(14)

2011年(17)

2010年(10)

2009年(18)

2008年(127)

2007年(72)

2006年(23)

2005年(51)

分类: 网络与安全

2014-03-14 14:25:15

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+
   #    
   # 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
   
      
      
      
      
四.        Jboss数据库连接池优化
修改数据库连接池:

  
    training_master_db    jdbc:mysql://211.100.192.128:3306/dts?useUnicode=true&characterEncoding=UTF-8
    com.mysql.jdbc.Driver
    root
   
        100
        500    org.jboss.resource.adapter.jdbc.vendor.MySQLExceptionSorter
五.        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默认安装以后,会默认打开,显示如下: 
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的内容:粗体为添加屏蔽符号: 
   

   
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、 /jmx-console 
2、 /web-console 
3、 /jbossindex.html 
4、 /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-consolesecurity-domain>   
jboss-web>   


STEP 2:
    与jboss-web.xml同级目录下还有一个文件web.xml,找到其中的节点,根据说明,取消注释。

<security-constraint>   
     <web-resource-collection>   
       <web-resource-name>HtmlAdaptorweb-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>GEThttp-method>   
       <http-method>POSThttp-method>   
     web-resource-collection>   
     <auth-constraint>   
       <role-name>JBossAdminrole-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.propertiesmodule-option>   
           <module-option name="rolesProperties">props/jmx-console-roles.propertiesmodule-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=PluginManagerdepends>   
jboss-web> 

 


STEP 2:
与jboss-web.xml同级目录下还有一个文件web.xml,找到其中的节点,根据说明,取消注释。

<security-constraint>   
   <web-resource-collection>   
   <web-resource-name>HtmlAdaptorweb-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>GEThttp-method>   
   <http-method>POSThttp-method>   
   web-resource-collection>   
   <auth-constraint>   
   <role-name>JBossAdminrole-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.propertiesmodule-option>   
             <module-option name="rolesProperties">roles.propertiesmodule-option>   
          login-module>   
       authentication>   
application-policy>   


启动服务输入
 然后分别点击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

转载自:http://www.cnblogs.com/Safe3/archive/2009/10/29/1592041.html

阅读(893) | 评论(0) | 转发(0) |
0

上一篇:iptable笔记

下一篇:Linux tcpdump命令详解

给主人留下些什么吧!~~