Jboss 安全和优化
Jboss 安全和優(yōu)化
一.? ? ? ? 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內(nèi)存優(yōu)化:
修改這個兩參數(shù),給jvm分配適當(dāng)?shù)膬?nèi)存,一般為服務(wù)器的3/4內(nèi)存量,推薦至少使用4G內(nèi)存。
另 外添加兩個參數(shù) -XX:+UseParallelGC -XX:+UseParallelOldGC 這兩個讓服務(wù)并行回收內(nèi)存空間。修改完成后,大致為 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數(shù)據(jù)庫連接池優(yōu)化
修改數(shù)據(jù)庫連接池:
<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部署目錄優(yōu)化:
? ???去掉和應(yīng)用無關(guān)的部署,加快jboss運(yùn)行速度
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應(yīng)用安全加固:
去掉:
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默認(rèn)安裝以后,會默認(rèn)打開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 里面可以修改和刪除應(yīng)用的參數(shù),如果不加強(qiáng)安全設(shè)置,將會帶來嚴(yán)重安全后果。
二、 關(guān)閉管理端口和相關(guān)統(tǒng)計信息:
1、 關(guān)閉jmx-console:
刪除
/export/home/jboss-4.0.3SP1/server/default/deploy下目錄jmx-console.war、management
2、 關(guān)閉web-console:
刪除
/export/home/jboss-4.0.3SP1/server/default/deploy/jbossweb-tomcat55.sar下目錄ROOT.war
3、 關(guān)閉status統(tǒng)計信息:
修改/export/home/jboss-4.0.3SP1/server/default/deploy/ROOT.war/WEB-INF/web.xml
屏蔽其中jboss的內(nèi)容:粗體為添加屏蔽符號:
? <!--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、 備注:
三、 關(guān)閉完成測試:
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、 測試結(jié)果:
測試人 時間
服務(wù)器 jmx-console web-console status jbossindex.html 測試
?
?
?
jboss默認(rèn)配置了以下服務(wù):
?? JMX Console
?? JBoss Web Console
為了安全起見,需要用戶通過授權(quán)進(jìn)行訪問。
一、JMX安全配置
STEP 1:
??? 找到%JBOSS_HOME%/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml文件,根據(jù)說明,去掉注釋。
?
<jboss-web>??????<security-domain>java:/jaas/jmx-console</security-domain>???
</jboss-web>???
STEP 2:
??? 與jboss-web.xml同級目錄下還有一個文件web.xml,找到其中的節(jié)點(diǎn),根據(jù)說明,取消注釋。
?????<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安全域和第二步中的運(yùn)行角色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文件,根據(jù)說明,去掉注釋。
<jboss-web>???
???<depends>jboss.admin:service=PluginManager</depends>???
</jboss-web>?
?
STEP 2:
與jboss-web.xml同級目錄下還有一個文件web.xml,找到其中的節(jié)點(diǎn),根據(jù)說明,取消注釋。
???<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>???
啟動服務(wù)輸入http://localhost:8080/
?然后分別點(diǎn)擊JMX Console以及Jboss Web Console測試安全機(jī)制
user.properties和role.propertie并修改users.properties其中的用戶名和密碼修改%JBOSS_HOME%/server/default/conf/login-config.xml中web-console節(jié)點(diǎn)修改為以下:
到后自行修改或重新定義用戶名、密碼。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.htmlhttp://wiki.jboss.org/wiki/Wiki.jsp?page=SecureTheJmxConsole ?
http://jira.jboss.com/jira/secure/p_w_upload/12313981/index.html
轉(zhuǎn)載于:https://blog.51cto.com/cntway/709662
新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎!定制產(chǎn)品紅包拿不停!總結(jié)
以上是生活随笔為你收集整理的Jboss 安全和优化的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTTP协议之压缩
- 下一篇: RHEL6上课笔记之background