1. 适用情况

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

2. 技能要求

熟悉Tomcat配置操作,能够利用Tomcat进行建站,并能针对站点使用Tomcat进行安全加固。

3. 前置条件

1、根据站点开放端口,进程ID,进程名称,确认站点采用Tomcat进行部署;

2、找到Tomcat路径:

方法一:开始->所有程序->Apache Tomcat->打开文件位置

方法二:window直接搜索Tomcat

方法三:任务管理器->进程-> tomcat进程->打开文件位置

方法四:D盾->工具->进程查看-> tomcat进程->打开文件位置

方法五:适用linux:切换到根路径,搜索find –name *.jsp –print(方法同样适用 查找网站根目录)

4. 详细操作

注意:建议实施项需要检查,询问管理员后方可配置,建议让管理员自行配置,实施项为必做加固项。Tomcat控制台必须确定是否对外开放,是否有远程管理权限账号:1、mageger文件夹是否存在;2、tomcat账号是否可登陆。

4.1 Tomcat控制台用户配置

备份配置文件,修改tomcat/conf/tomcat-user.xml配置文件,将账号进行注释,

若业务系统需要使用tomcat管理后台进行业务代码发布和管理,建议修改默认admin用户,且密码长度不低于10位,必须包含大写字母、特殊符号、数字组合,如下:

4.2 日志审计

备份配置文件,参考配置操作

编辑tomcat/conf/server.xml配置文件,在标签中增加记录日志功能

将以下内容的注释标记取消

<valve classname="org.apache.catalina.valves.AccessLogValve" Directory="logs" prefix="localhost_access_log." suffix=".txt" Pattern="common" resloveHosts="false" />

4.3 自定义404错误页面

(1) 在网站根目录新建noFile.htm文件

(2) 查看并启用tomcat/conf/web.xml文件中下列代码:

<error-page>

<error-code>404</error-code>

<location>/noFile.htm</location>

</error-page>

4.4 最佳经验实践

因tomcat配置不当,可能导致的安全问题,常见安全漏洞如:目录浏览、webdav等

4.4.1 关闭目录浏览

(1) 编辑tomcat/conf/web.xml配置文件,

<init-param>

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

<param-value>true</param-value>

</init-param>

把true改成false

(2)重新启动tomcat服务

4.4.2 使用安全的HTTP请求

编辑tomcat/conf/web.xml配置文件,添加或修改文件如下所示:

<security-constraint>

<web-resource-collection>

<url-pattern>/*</url-pattern>

<http-method>PUT</http-method>

<http-method>DELETE</http-method>

<http-method>OPTIONS</http-method>

<http-method>TRACE</http-method>

</web-resource-collection>

<auth-constraint>

</auth-constraint>

</security-constraint>

<login-config>

<auth-method>BASIC</auth-method>

</login-config>

4.4.3 限制IP访问

打开tomcat/conf/server.xml,添加下面一行,重启服务器即可:<value className="org.apache.catalina.values.RemoteAddrValue" allow="127.0.0.1" deny="" />

此行放在</Host>之前,只允许本地访问。

例如:

  1. 只允许192.168.1.1访问:

<value className="org.apache.catalina.values.RemoteAddrValue" allow="192.168.1.1" deny="" />

  1. 只允许192.168.1.0/24访问

<value className="org.apache.catalina.values.RemoteAddrValue" allow="192.168.1.*" deny="" />

4.4.4 登陆超时退出

备份配置文件,参考配置操作

编辑tomcat/conf/server.xml配置文件,修改超时时间为300秒

<Connector port="8080" maxHttpHeadSize="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="300" disableUploadTimeout="true" />

4.5 风险操作项

4.5.1 更改默认端口

(1)修改tomcat/conf/server.xml 配置文件,更改默认管理端口到8888

<Connector

port="8888"    maxHttpHeaderSize="8192" maxThreads="150"

minSpareThreads="25" maxSpareThreads="75"、

enableLookups="false" redirectPort="8443" acceptCount="100"

connectionTimeout="300" disableUploadTimeout="true" />

(2)重启 tomcat 服务

4.5.2 补丁更新

根据tomcat版本漏洞库查询是否存在漏洞,如果存在漏洞请在http://httpd.tomcat.org下载最新稳定版安装

最后

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

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

  1. tomcat 的安全规范

    下面来说一下,日常工作当中我们需要注意的一些tomcat的安全规范: 一:telnet管理端口的保护 类别 配置内容及其说明 标准配置 备注 Telnet 管理端口的保护 (强制) (1)配置文件中的 ...

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

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

  3. tomcat安全加固和规范

    tomcat是一个开源Web服务器,基于Tomcat的Web运行效率高,可以在一般的硬件平台上流畅运行,因此,颇受Web站长的青睐.不过,在默认配置下其存在一定的安全隐患,可被恶意攻击.以下是一些安全 ...

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

    1. 适用情况 适用于使用Jboss进行部署的Web网站. 适用版本:5.x版本的Jboss服务器 2. 技能要求 熟悉Jboss安装配置,能够Jboss进行部署,并能针对站点使用Jboss进行安全加 ...

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. spring源码分析系列 (1) spring拓展接口BeanFactoryPostProcessor、BeanDefinitionRegistryPostProcessor

    更多文章点击--spring源码分析系列 主要分析内容: 一.BeanFactoryPostProcessor.BeanDefinitionRegistryPostProcessor简述与demo示例 ...

  2. JavaScript数组所有API全解密

    全文共13k+字,系统讲解了JavaScript数组的各种特性和API. 数组是一种非常重要的数据类型,它语法简单.灵活.高效. 在多数编程语言中,数组都充当着至关重要的角色,以至于很难想象没有数组的 ...

  3. FXAA,FSAA与MSAA有什么区别?效果和性能上哪个好

    而MSAA基本上只对画面中物体的边缘进行放大.混合的抗锯操作,因为边缘是锯齿最明显的地方(注意不是所有的边缘).提取边缘,主要是结合深度技术.MSAA是种硬件AA.我们一般说的4x.8x,就是放大倍数 ...

  4. 基于redis 实现分布式锁(二)

    https://blog.csdn.net/xiaolyuh123/article/details/78551345 分布式锁的解决方式 基于数据库表做乐观锁,用于分布式锁.(适用于小并发) 使用me ...

  5. MDX Cookbook 10 - 计算 Year To Date 的 Running Total(YTD 与 PeriodsToDate 的区别)

    在这个小节中我们将计算度量值的 Year To Date 的值,也就是计算从年开始到当前时间成员为止的度量值的累加结果. 下面的这个查询显示了所有以周为单位的 Reseller Sales Amoun ...

  6. 【BZOJ3585】mex

    Description 有一个长度为n的数组{a1,a2,-,an}.m次询问,每次询问一个区间内最小没有出现过的自然数. Input 第一行n,m. 第二行为n个数. 从第三行開始,每行一个询问l, ...

  7. phpBB3.2 自动检测浏览器语言

    这是根据HTTP request header里的Accept-Language信息来处理的. 首先看一下Accept-Language的格式 Accept-Language: <languag ...

  8. Ubuntu菜鸟入门(十八)————解决Ubuntu下Sublime Text 3无法输入中文

    一.下载我们需要的文件,打开终端,输入: git clone https://github.com/lyfeyaj/sublime-text-imfix.git 二.将subl移动到/usr/bin/ ...

  9. Linux 命令 及 简单操作 学习

    众所周知,linux命令很多很多,但是,请不用担心,相信你自己不断的积累,终有一天你和你和小伙伴都会为你惊呆的...... 废话不多说,那,什么时候动手????---------现在,马上..... ...

  10. 二值化函数cvThreshold()参数CV_THRESH_OTSU的疑惑【转】

    查看OpenCV文档cvThreshold(),在二值化函数cvThreshold(const CvArr* src, CvArr* dst, double threshold, double max ...