1. 适用情况

适用于使用Jboss进行部署的Web网站。

适用版本:5.x版本的Jboss服务器

2. 技能要求

熟悉Jboss安装配置,能够Jboss进行部署,并能针对站点使用Jboss进行安全加固。

3. 前置条件

根据站点开放端口,进程ID,确认站点采用Nginx进行部署;

找到Jboss安装目录,针对具体站点对配置文件进行修改;

在执行过程中若有任何疑问或建议,应及时反馈。

4. 详细操作

4.1 日志配置

Jboss 5.x版本日志配置:

1、打开%JBOSS_HOME%\server\default\deployers\jbossweb.deployer\server.xml文件,在<HOST>标签中,将Access logger以下内容的注释标记取消,取消后的内容如下:

2、重启Jboss服务,网站访问日志生成在JBOSS_HOME%\server\default\log目录下。

Jboss7日志配置:

1、在默认的情况下,JBoss7是没有开启access_log的,如果要开启这项功能,就需要修改$JBOSS_HOME\standalone\configuration\standalone.xml这个文件,备份配置文件,相关的修改内容如下所示:

<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 错误页面重定向

1、找到%JBOSS_HOME%\server\default\deployers\jbossweb.deployer\conf\web.xml文件,对该文件内容进行编辑:

<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 服务

4.3 最佳操作实践

4.3.1     关闭jmx-console

1、找到%JBOSS_HOME%/server/default/deploy/jmx-console.war/WEB-INF/jboss-web.xml文件,去掉对下面这段xml文本的注释。修改后的该文件内容为:

2、与jboss-web.xml同级目录下还有一个文件web.xml,,查找到<security-constraint/>节点,去掉它的注释,修改后该部分内容为:

3、在%Jboss_HOME%\server\default\conf\props\jmx-console-users.properties,该文件定义的格式为:用户名=密码,在该文件中,默认定义了一个用户名为admin,密码也为admin的用户,建议设置强口令密码。

在同目录下jmx-console-roles.properties,该文件定义的格式为:用户名=角色,多个角色以“,”隔开,该文件默认为admin用户定义了JBossAdmin和HttpInvoker这两个角色。

可以找到这两个文件,修改用户名和密码。

4、配置完成,通过访问: http://localhost:8088/jmx-console/ ,输入jmx-console-roles.properties文件中定义的用户名和密码,访问jmx-console的页面。

4.3.2     关闭web-console

1、找到%JBOSS_HOME%/server/default/deploy/management/console-mgr.sar/web-console.war/WEB-INF/jboss-web.xml文件,去掉<security-domain>节点的注释,修改后的文件内容为:

2、与jboss-web.xml同级目录下还有一个文件web.xml,查找到<security-constraint/>节点,去掉它的注释,修改后该部分内容为:

3、打开%Jboss_HOME%\server\default\deploy\management\console-mgr.sar\web-console.war\WEB-INF\classes\web-console-users.properties,设置用户名、密码。

要分配一个用户到JBossAdmin组里,在同目录下的web-console-roles.properties.properties文件里添加"username=JBossAdmin"

两个文件默认是admin/admin的用户,为了安全起见,建议更换一个强口令密码。

4.3.3     关闭status统计信息

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 服务

4.3.4     删除默认文件

如果不需要使用后台页面,找到jboss部署目录,将 %JBOSS_HOME%\server\default\deploy\ROOT.war文件夹下的所有文件备份到其它位置后删除文件夹下的所有文件。

4.3.5     禁止目录列出

1、找到%JBOSS_HOME%\server\default\deployers\jbossweb.deployer\conf\web.xml文件,对该文件内容进行编辑:

<init-param>

<param-name>listings</param-name>

<param-value>false</param-value>

</init-param>

把 true 改成 false

2、重新启动 Jboss 服务

4.3.6     定时登出

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 服务

4.4    风险操作项

4.4.1     Jboss降权

建议配置 linux 系统:

(1) 创建 jboss 组:groupadd Jboss

(2) 创建 jboss 用户并加入 jboss 组:useradd Jboss –g Jboss

(3) 以 Jboss 身份启动服务

Windows 系统:

(1) 新建一个 Jboss 用户

(2) 设置 Jboss 用户对 Jboss_home 的相关权限

(3) 在服务管理器 (service.msc) 中找到 Jboss 服务,右键选择属性,设置登 录身份为 Jboss 用户

4.4.2     更改默认端口

1、打开%JBOSS_HOME%\server\default\deployers\jbossweb.deployer\server.xml文件,备份配置文件,改默认端口到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 服务

最后

欢迎关注个人微信公众号:Bypass--,每周原创一篇技术干货。 

【中间件安全】Jboss安全加固规范的更多相关文章

  1. 下一代的中间件必须是支持docker规范的

    下一代的中间件必须是支持docker规范的,这是中间件技术走向标准规范化的必经之路. 什么是 Docker? 答案是:Docker 是下一代的云计算模式.Docker 是下一代云计算的主流趋势. Do ...

  2. 【中间件安全】WebSphere安全加固规范

    1. 适用情况 适用于使用WebSphere进行部署的Web网站. 2. 技能要求 熟悉WebSphere安装部署,熟悉WebSphere常见漏洞利用方式,并能针对站点使用WebSphere进行安全加 ...

  3. 【中间件安全】IIS6安全加固规范

    1. 适用情况 适用于使用IIS6进行部署的Web网站. 2. 技能要求 熟悉IIS配置操作,能够利用IIS进行建站,并能针对站点使用IIS进行安全加固. 3. 前置条件 1. 根据站点开放端口.进程 ...

  4. 【中间件安全】Weblogic 安全加固规范

    1. 适用情况 适用于使用Weblogic进行部署的Web网站. 2. 技能要求 熟悉Weblogic安装部署,熟悉Weblogic常见漏洞利用方式,并能针对站点使用Weblogic进行安全加固. 3 ...

  5. 【中间件安全】Nginx 安全加固规范

    1. 适用情况 适用于使用Nginx进行部署的Web网站. 2. 技能要求 熟悉Nginx配置,能够Nginx进行部署,并能针对站点使用Nginx进行安全加固. 3. 前置条件 1. 根据站点开放端口 ...

  6. 【中间件安全】Tomcat 安全加固规范

    1. 适用情况 适用于使用Tomcat进行部署的Web网站. 2. 技能要求 熟悉Tomcat配置操作,能够利用Tomcat进行建站,并能针对站点使用Tomcat进行安全加固. 3. 前置条件 1.根 ...

  7. 【中间件安全】IIS7.0 安全加固规范

    1. 适用情况 适用于使用IIS7进行部署的Web网站. 2. 技能要求 熟悉IIS配置操作,能够利用IIS进行建站,并能针对站点使用IIS进行安全加固. 3. 前置条件 1. 根据站点开放端口.进程 ...

  8. 【中间件安全】Apache 安全加固规范

    1. 适用情况 适用于使用Apahce进行部署的Web网站. 2. 技能要求 熟悉Apache配置文件,能够利用Apache进行建站,并能针对站点使用Apache进行安全加固. 3. 前置条件 1. ...

  9. Linux 工作站安全加固规范

    目标受众 这是一套 Linux 基金会为其系统管理员提供的推荐规范. 这个文档用于帮助那些使用 Linux 工作站来访问和管理项目的 IT 设施的系统管理员团队. 如果你的系统管理员是远程员工,你也许 ...

随机推荐

  1. strtok strchr strrchr strchrnul

    NAME       strchr, strrchr, strchrnul - locate character in string SYNOPSIS       #include <strin ...

  2. 本地文件上传GitHub

    (1)mkdir 项目名称(2)cd  项目名称(3)git init 把它变成可管理的Git仓库(4)git status 查看状态(5)git add . 点用空格隔开(6)git status ...

  3. 1、html基础认识&常用标签(1)

    从今天期我们进入前端的学习,先学习html,没有任何复杂难懂的逻辑需要烧脑,只需要记忆.练习.练习.练习. 本篇导航: HTML初识 常用标签介绍 <body>内常用标签 一.HTML初识 ...

  4. OBDII Interface Project Source Code

    http://www.oocities.org/sstandfast/OBDII.htm 1 // File: VPWM.jal // Author: Shawn Standfast // Versi ...

  5. JavaScript 中回调地狱的今生前世

    1. 讲个笑话 JavaScript 是一门编程语言 2. 异步编程 JavaScript 由于某种原因是被设计为单线程的,同时由于 JavaScript 在设计之初是用于浏览器的 GUI 编程,这也 ...

  6. Vue Element使用icon图标(第三方)

    element-ui自带的图标库还是不够全,还是需要需要引入第三方icon,自己在用的时候一直有些问题,参考了些教程,详细地记录补充下 对于我们来说,首选的当然是阿里icon库 教程: 1.打开阿里i ...

  7. vim8.0模式详解

    pattern pattern.txt For Vim version 8.0. 最近更新: 2017年8月 VIM 参考手册 by Bram Moolenaar 译者: lang2 http://v ...

  8. netty中的ChannelHandler和ChannelPipeline

    netty中的ChannelHandler和ChannelPipeline ChannelHandler 家族 https://www.w3cschool.cn/essential_netty_in_ ...

  9. C# CountdownEvent实现

    关于CountdownEvent网上的介绍比较少,因为它是实现和使用都很简单,先看看网上的一些评论吧: CountDownEvent调用成员函数Wait()将阻塞,直至成员函数Signal() 被调用 ...

  10. 通过Nginx反向代理之后客户端验证码session不一致造成无法验证通过的问题解决

    location / { proxy_pass http://127.0.0.1:9080/app/; proxy_cookie_path /app/ /; proxy_cookie_path /ap ...