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 p_w_picpaths 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文件,根据说明,去掉注释。
<security-domain>java:/jaas/jmx-console</security-domain>
</jboss-web>
STEP 2:
与jboss-web.xml同级目录下还有一个文件web.xml,找到其中的节点,根据说明,取消注释。
<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中配置,我们在%
<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文件,根据说明,去掉注释。
<depends>jboss.admin:service=PluginManager</depends>
</jboss-web>
STEP 2:
与jboss-web.xml同级目录下还有一个文件web.xml,找到其中的节点,根据说明,取消注释。
<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两个文件更名为:
<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/p_w_upload/12313981/index.html
转载于:https://blog.51cto.com/cntway/709662
Jboss 安全和优化相关推荐
- Jboss 4.2.3配置与优化
1 Jboss内存优化 修改这个两参数,给jvm分配适当的内存,一般为服务器的3/4内存量,推荐至少使用4G内存. 另外添加两个参数 -XX:+UseParallelGC -XX:+UseP ...
- 大型互联网架构与集群技术
java架构必须掌握的几点技术? 关于学习架构,必须会的几点技术 1. java反射技术 2. xml文件处理 3. properties属性文件处理 4. 线程安全机制 5. annocation注 ...
- 大型互联网架构与集群技术(Java方向)
java架构必须掌握的几点技术? 关于学习架构,必须会的几点技术 1. java反射技术 2. xml文件处理 3. properties属性文件处理 4. 线程安全机制 5. annocation注 ...
- JBOSS优化--比较有用的生产环境配置
转自:http://wangtong40.iteye.com/blog/737235 Java OPTS设置 在Java的Jvm分为主要为两大块:一个是heap和 nheap Heap包括三个区域. ...
- Tomcat 调优及 JVM 参数优化
Tomcat 本身与 JVM 优化 Tomcat:调整Server.xml JVM:bat启动服务方式的话修改catalina.bat 服务式启动的话参考:http://www.cnblogs.com ...
- JBoss企业级应用服务平台群集指南(五)
1.3 群集Session EJBs Session EJBs 提供远程的调用服务.它们按照客户端拦截器架构(client-side interceptor architecture)组成群集系统.群 ...
- Java处理高并发、高负载类网站的优化方法
第 1 则 -网站关注点之数据库- 首先是数据库,这是大多数应用所面临的首个SPOF.尤其是Web2.0的应用,数据库的响应是首先要解决的. 一般来说MySQL是最常用的,可能最初是一个MySQL主机 ...
- LNMP架构之PHP——MemCache对PHP页面的缓存加速优化
前言 1.什么是MemCache? MemCache是一个自由.源码开放.高性能.分布式的分布式内存对象缓存系统,用于动态Web应用以减轻数据库的负载. 它通过在内存中缓存数据和对象来减少读取数据库的 ...
- jetty安装、配置、优化
)Jetty: 作用:Jetty 是一个开源的servlet容器,它为基于Java的web内容,例如JSP和servlet提供运行环境. 特性:易用性,可扩展性,易嵌入性 2) Jetty安装: t ...
最新文章
- c语言实现天气预报步骤,一份天气预报的制作历程
- LPMS_IMU在TX2上使用
- JavaScript数组的API
- 4.帧循环(游戏主循环),schedule
- python __future__ 的几种特性
- windows平台下subversion服务器端配置
- kmeans python sklearn_Python手动实现kmeans聚类和调用sklearn实现
- C语言里面邻接表的创建
- 个位百位AS3实现经典算法(二) 水仙花数
- LDA模型训练与得到文本主题、困惑度计算(含可运行案例)
- excel如何快速将英文表格翻译为中文表格
- Python Sorted Containers
- html二级页面怎么设置,网页中的二级页面和三级页面是什么啊?怎么做?
- 笔记本电脑无法使用WiFi上网解答
- MQ--推模式与拉模式
- Flutter Package 开发、发布、使用
- 利用Q-learning解决Cliff-walking问题
- TypeError: The ‘compilation‘ argument must be an instance of Compilation
- android logo制作教程视频,Android的APP怎样制作LOGO的尺寸
- java发送公众号/服务通知模板消息到指定用户(完整流程|亲测可用)