1.用户配置

如果不需要控制台管理,请更改控制台用户文件注销账号信息;如果需要,请更改账户信息

修改 tomcat/conf/tomcat-user.xml 文件

注释或修改如下信息

<role rolename="manager-gui"/>
<user username="admin" password="ABCabd123!" roles="manager=gui"/>

2.开启 tomcat 的访问日志

修改 conf/server.xml 文件

去掉如下行的注释符

<Value className="org.apache.catalina.values.AccessLogValue" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>

3.自定义 404 错误页面

在网站根目录下新建 noFile.html 文件

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

<error-page>
<error-code>404</error-code>
<location>/noFile.html</location>
</error-page>

4.关闭目录浏览

防止浏览器查看目录内容

编辑 tomcat/conf/web.xml 配置文件

<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
把 true 改为 false

5.使用安全的 http 请求

禁用不安全的 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>HEAD</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>

6.限制 IP 访问

访问来源白名单

编辑 tomcat/conf/server.xml

添加:

<value className="org.apache.catalina.values.RemoteAddrValue" allow="IP地址" deny="" />
allow:白名单
dent:黑名单

7.登录超时退出,修改默认端口

编辑 tomcat/conf/server.xml 文件

<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="300" redirectPort="8443" acceptCount="500" maxThreads="400" />

5.5 以下为:

<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" port="8080" minProcessors="5" maxProcessors="75" enableLookups="true" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="300" useURIValidationHack="false" protocolHandlerClassName="org.apache.jk.server.JkCoyotrHandler" />

8.启动 https 加密访问

使用 jdk 的 keytools 生成密钥对

keytool -genkey -alias tomcat -keyalg RSA -keystore /mydir/keystore

修改 tomcat 的 web.xml 文件取消注释信息后添加密钥路径和访问密码

<Connector port="8443" protocol="org.apache.coyote.http11.Http11protocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" keystoreFile="/mydir/keystore" keystorePass="123.com" sslProtocol="TLS" />

9.随时更新补丁

http://httpd.tomcat.org

14、web 中间件加固-Tomcat 加固的更多相关文章

  1. 常见web中间件漏洞(四)Tomcat漏洞

    这部分好久没写了,继续更新web中间件漏洞思路整理(不复现) ,争取...整理完 前几篇指路链接: nginx: https://www.cnblogs.com/lcxblogs/p/13596239 ...

  2. web中间件

    0x00 Web中间件概述 通俗来说,中间件是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通.Apache的Tomcat.IBM公司的WebSphere.BEA公司的WebLogic ...

  3. web中间件之nginx

    web中间件之nginx https://www.jianshu.com/p/d8bd75c0fb1b   对nginx正向代理和反向代理理解特别好的一篇文章. 一.nginx nginx缺点,负载均 ...

  4. 柔弱的APP如何自我保护,浅谈APP防御手段,使用360加固助手加固/签名/多渠道打包/应用市场发布

    柔弱的APP如何自我保护,浅谈APP防御手段,使用360加固助手加固/签名/多渠道打包/应用市场发布 由于JAVA和Android的平台型,所以APP很容易被反编译,这对于我们开发者来说,是一个不想要 ...

  5. Tomcat是什么:Tomcat与Java技、Tomcat与Web应用以及Tomcat基本框架及相关配置

    1.Tomcat是什么       Apache Tomcat是由Apache Software Foundation(ASF)开发的一个开源Java WEB应用服务器. 类似功能的还有:Jetty. ...

  6. Web开发之Tomcat&Servlet

    <!doctype html>01 - JavaEE - Tomcat&Servlet figure:first-child { margin-top: -20px; } #wri ...

  7. web服务器、Web中间件和Web容器的区别

    web服务器>web中间件>web容器 Tomcat(servlet容器)  是  Tomcat中间件  也是  Tomcat服务器 看了谢公子的csdn文章,让我彻底分清了这三者的区别. ...

  8. Web中间件 - 常见漏洞总结

    *文章来源:https://blog.egsec.cn/archives/472 *本文将主要说明:Web中间件常见漏洞的产生原因以及修复方案 什么是Web中间件? 百度百科是这样解释的:中间件是介于 ...

  9. 软件性能测试分析与调优实践之路-Web中间件的性能分析与调优总结

    本文主要阐述软件性能测试中的一些调优思想和技术,节选自作者新书<软件性能测试分析与调优实践之路>部分章节归纳. 在国内互联网公司中,Web中间件用的最多的就是Apache和Nginx这两款 ...

  10. Java Web中间件

    目录 中间件 常见的web中间件有哪些 Tomcat Weblogic Jboss Jetty Webshere Glasshfish 中间件 我们经常会看到中间件,但是,一直好奇的是,中间件到底是什 ...

随机推荐

  1. KingbaseES V8R6 fillfactor 对于表的影响

    前言 fillfactor 表的填充因子是一个介于 10 和 100 之间的百分数.100是默认值.如果指定了较小的填充因子,INSERT操作仅按照填充因子指定的百分率填充表页.每个页上的剩余空间将用 ...

  2. Games101-作业5

    说明 本次作业主要实现Whitted-光线追踪,作业框架只需要我们编写两个部分,一个是求解观测光线--从摄像机到每个像素的向量:第二个是判断射线与三角形的交点. 求解观测光线 需要对每个像素求解在实际 ...

  3. 【Java面试题】SpringMVC

    九.SpringMVC 63)SpringMVC 的流程 a.用户向服务器发送请求,请求被 SpringMVC 前端控制器 DispatchServlet 捕获: b.DispatcherServle ...

  4. 浅谈JVM整体架构与调优参数

    本文分享自华为云社区<[性能优化]JVM整体架构与调优参数说明>,作者: 冰 河. JVM的分类 这里,我们先来说说什么是VM吧,VM的中文含义为:虚拟机,指的是使用软件的方式模拟具有完整 ...

  5. #差分约束系统,最长路,线段树优化建边#洛谷 3588 [POI2015] PUS

    题目 给定一个长度为\(n\)的正整数序列 \(a\) ,每个数都在 \(1\) 到 \(10^9\) 范围内, 告诉你其中 \(s\) 个数,并给出 \(m\) 条信息,每条信息包含三个数 \(l, ...

  6. #SG函数,记忆化搜索#HDU 4111 Alice and Bob

    题目 Alice和Bob两个好朋友又开始玩取石子了. 游戏开始时,有\(n\)堆石子排成一排,然后他们轮流操作(Alice先手),每次操作时从下面的规则中任选一个: ·从某堆石子中取走一个 ·合并任意 ...

  7. DevEco Studio 3.1差异化构建打包,提升多版本应用开发效率

     原文:https://mp.weixin.qq.com/s/8XtgZ-k0mGXCjKHfSXFoOg,点击链接查看更多技术内容.     HUAWEI DevEco Studio是开发Harmo ...

  8. github 小技巧

    前言 简单记一下github 小技巧,因为经常忘. 正文 就是如何快速搜索到自己想找的项目. 如果自己知道项目名,那么直接输入就可以搜索到. 如果不是,那么一般要通过高级搜索. https://git ...

  9. .NET开源强大、易于使用的缓存框架 - FusionCache

    前言 缓存在程序中扮演着提升性能.降低资源消耗.改善用户体验等重要角色,是构建高效.可伸缩.稳定的系统不可或缺的重要组成部分.今天大姚给大家分享一款.NET开源(基于MIT license).强大.易 ...

  10. k8s架构与原理介绍

    K8s概述 目录 K8s概述 1.什么是K8s 2.K8s 设计架构 3. k8s重要节点描述 4. 过程原理: 5. k8s的核心功能 6. k8s的历史 7. k8s的安装方式 8. k8s的应用 ...