【中间件安全】Jboss安全加固规范
【中間件安全】Jboss安全加固規(guī)范
1. 適用情況
適用于使用Jboss進(jìn)行部署的Web網(wǎng)站。
適用版本:5.x版本的Jboss服務(wù)器
2. 技能要求
熟悉Jboss安裝配置,能夠Jboss進(jìn)行部署,并能針對站點(diǎn)使用Jboss進(jìn)行安全加固。
3. 前置條件
根據(jù)站點(diǎn)開放端口,進(jìn)程ID,確認(rèn)站點(diǎn)采用Nginx進(jìn)行部署;
找到Jboss安裝目錄,針對具體站點(diǎn)對配置文件進(jìn)行修改;
在執(zhí)行過程中若有任何疑問或建議,應(yīng)及時(shí)反饋。
4. 詳細(xì)操作
4.1 日志配置
Jboss 5.x版本日志配置:
1、打開%JBOSS_HOME%\server\default\deployers\jbossweb.deployer\server.xml文件,在<HOST>標(biāo)簽中,將Access logger以下內(nèi)容的注釋標(biāo)記取消,取消后的內(nèi)容如下:
?
2、重啟Jboss服務(wù),網(wǎng)站訪問日志生成在JBOSS_HOME%\server\default\log目錄下。
?
Jboss7日志配置:
1、在默認(rèn)的情況下,JBoss7是沒有開啟access_log的,如果要開啟這項(xiàng)功能,就需要修改$JBOSS_HOME\standalone\configuration\standalone.xml這個(gè)文件,備份配置文件,相關(guān)的修改內(nèi)容如下所示:
<virtual-server name="default-host" enable-welcome-root="true">
??? <alias name="localhost"/>
??? <alias name="example.com"/>
?????? <access-log pattern="%t %a %m %U %s %D" prefix="access_log." rotate="true">
?????? ??? <directory path="." relative-to="jboss.server.log.dir"/>
?????? </access-log>
</virtual-server>
重啟即可看到${jbossHome}\standalone\log\目錄下生成access_log
4.2 錯(cuò)誤頁面重定向
1、找到%JBOSS_HOME%\server\default\deployers\jbossweb.deployer\conf\web.xml文件,對該文件內(nèi)容進(jìn)行編輯:
?? <welcome-file-list>
????? <welcome-file>index.html</welcome-file>
????? <welcome-file>index.htm</welcome-file>
????? <welcome-file>index.jsp</welcome-file>
?? </welcome-file-list>
2、重新啟動 Jboss 服務(wù)
4.3 最佳操作實(shí)踐
4.3.1???? 關(guān)閉jmx-console
1、找到%JBOSS_HOME%/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml文件,去掉對下面這段xml文本的注釋。修改后的該文件內(nèi)容為:
2、與jboss-web.xml同級目錄下還有一個(gè)文件web.xml,,查找到<security-constraint/>節(jié)點(diǎn),去掉它的注釋,修改后該部分內(nèi)容為:
3、在%Jboss_HOME%\server\default\conf\props\jmx-console-users.properties,該文件定義的格式為:用戶名=密碼,在該文件中,默認(rèn)定義了一個(gè)用戶名為admin,密碼也為admin的用戶,建議設(shè)置強(qiáng)口令密碼。
在同目錄下jmx-console-roles.properties,該文件定義的格式為:用戶名=角色,多個(gè)角色以“,”隔開,該文件默認(rèn)為admin用戶定義了JBossAdmin和HttpInvoker這兩個(gè)角色。
可以找到這兩個(gè)文件,修改用戶名和密碼。
4、配置完成,通過訪問: http://localhost:8088/jmx-console/ ,輸入jmx-console-roles.properties文件中定義的用戶名和密碼,訪問jmx-console的頁面。
4.3.2? ? ?關(guān)閉web-console
1、找到%JBOSS_HOME%/server/default/deploy/management/console-mgr.sar/web-console.war/WEB-INF/jboss-web.xml文件,去掉<security-domain>節(jié)點(diǎn)的注釋,修改后的文件內(nèi)容為:
2、與jboss-web.xml同級目錄下還有一個(gè)文件web.xml,查找到<security-constraint/>節(jié)點(diǎn),去掉它的注釋,修改后該部分內(nèi)容為:
3、打開%Jboss_HOME%\server\default\deploy\management\console-mgr.sar\web-console.war\WEB-INF\classes\web-console-users.properties,設(shè)置用戶名、密碼。
要分配一個(gè)用戶到JBossAdmin組里,在同目錄下的web-console-roles.properties.properties文件里添加"username=JBossAdmin"
兩個(gè)文件默認(rèn)是admin/admin的用戶,為了安全起見,建議更換一個(gè)強(qiáng)口令密碼。
4.3.3? ? ?關(guān)閉status統(tǒng)計(jì)信息
1、 打開%JBOSS_HOME%\server\default\deploy\ROOT.war\WEB-INF\web.xml,將以下部分注釋掉:
<servlet>
??? <servlet-name>Status Servlet</servlet-name>
??? <servlet-class>org.jboss.web.tomcat.service.StatusServlet</servlet-class>
</servlet>
?<servlet-mapping>
??? <servlet-name>Status Servlet</servlet-name>
??? <url-pattern>/status</url-pattern>
? </servlet-mapping>
2、重新啟動 Jboss 服務(wù)
4.3.4? ? ?刪除默認(rèn)文件
如果不需要使用后臺頁面,找到j(luò)boss部署目錄,將 %JBOSS_HOME%\server\default\deploy\ROOT.war文件夾下的所有文件備份到其它位置后刪除文件夾下的所有文件。
4.3.5? ? ?禁止目錄列出
1、找到%JBOSS_HOME%\server\default\deployers\jbossweb.deployer\conf\web.xml文件,對該文件內(nèi)容進(jìn)行編輯:
????? <init-param>
???????? <param-name>listings</param-name>
???????? <param-value>false</param-value>
????? </init-param>
把 true 改成 false
2、重新啟動 Jboss 服務(wù)
4.3.6? ? ?定時(shí)登出
1、找到%JBOSS_HOME%\server\default\deployers\jbossweb.deployer\server.xml文件,修改為1800秒,30分鐘自動登出:
<Connector protocol="HTTP/1.1" port="8080" address="${jboss.bind.0.0.0.0}" connectionTimeout="1800" redirectPort="8443" />
2、重新啟動 Jboss 服務(wù)
4.4? ? 風(fēng)險(xiǎn)操作項(xiàng)
4.4.1???? Jboss降權(quán)
建議配置 linux 系統(tǒng):
(1) 創(chuàng)建 jboss 組:groupadd Jboss
(2) 創(chuàng)建 jboss 用戶并加入 jboss 組:useradd Jboss –g Jboss
(3) 以 Jboss 身份啟動服務(wù)
Windows 系統(tǒng):
(1) 新建一個(gè) Jboss 用戶
(2) 設(shè)置 Jboss 用戶對 Jboss_home 的相關(guān)權(quán)限
(3) 在服務(wù)管理器 (service.msc) 中找到 Jboss 服務(wù),右鍵選擇屬性,設(shè)置登 錄身份為 Jboss 用戶
4.4.2? ? ?更改默認(rèn)端口
1、打開%JBOSS_HOME%\server\default\deployers\jbossweb.deployer\server.xml文件,備份配置文件,改默認(rèn)端口到8100:
<Connector port="8100" address="${jboss.bind.address}"
maxThreads="250" strategy="ms" maxHttpHeaderSize="8192"
emptySessionPath="true"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="1800"
disableUploadTimeout="true" URIEncoding="utf-8"/>
2、重新啟動 Jboss 服務(wù)
最后
歡迎關(guān)注個(gè)人微信公眾號:Bypass--,每周原創(chuàng)一篇技術(shù)干貨。?
posted @ 2018-12-24 10:23 Bypass 閱讀(...) 評論(...) 編輯 收藏
總結(jié)
以上是生活随笔為你收集整理的【中间件安全】Jboss安全加固规范的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【中间件加固】Apache安全加固规范
- 下一篇: 【中间件加固】WebSphere安全加固