14、web 中间件加固-Tomcat 加固
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 加固的更多相关文章
- 常见web中间件漏洞(四)Tomcat漏洞
这部分好久没写了,继续更新web中间件漏洞思路整理(不复现) ,争取...整理完 前几篇指路链接: nginx: https://www.cnblogs.com/lcxblogs/p/13596239 ...
- web中间件
0x00 Web中间件概述 通俗来说,中间件是提供系统软件和应用软件之间连接的软件,以便于软件各部件之间的沟通.Apache的Tomcat.IBM公司的WebSphere.BEA公司的WebLogic ...
- web中间件之nginx
web中间件之nginx https://www.jianshu.com/p/d8bd75c0fb1b 对nginx正向代理和反向代理理解特别好的一篇文章. 一.nginx nginx缺点,负载均 ...
- 柔弱的APP如何自我保护,浅谈APP防御手段,使用360加固助手加固/签名/多渠道打包/应用市场发布
柔弱的APP如何自我保护,浅谈APP防御手段,使用360加固助手加固/签名/多渠道打包/应用市场发布 由于JAVA和Android的平台型,所以APP很容易被反编译,这对于我们开发者来说,是一个不想要 ...
- Tomcat是什么:Tomcat与Java技、Tomcat与Web应用以及Tomcat基本框架及相关配置
1.Tomcat是什么 Apache Tomcat是由Apache Software Foundation(ASF)开发的一个开源Java WEB应用服务器. 类似功能的还有:Jetty. ...
- Web开发之Tomcat&Servlet
<!doctype html>01 - JavaEE - Tomcat&Servlet figure:first-child { margin-top: -20px; } #wri ...
- web服务器、Web中间件和Web容器的区别
web服务器>web中间件>web容器 Tomcat(servlet容器) 是 Tomcat中间件 也是 Tomcat服务器 看了谢公子的csdn文章,让我彻底分清了这三者的区别. ...
- Web中间件 - 常见漏洞总结
*文章来源:https://blog.egsec.cn/archives/472 *本文将主要说明:Web中间件常见漏洞的产生原因以及修复方案 什么是Web中间件? 百度百科是这样解释的:中间件是介于 ...
- 软件性能测试分析与调优实践之路-Web中间件的性能分析与调优总结
本文主要阐述软件性能测试中的一些调优思想和技术,节选自作者新书<软件性能测试分析与调优实践之路>部分章节归纳. 在国内互联网公司中,Web中间件用的最多的就是Apache和Nginx这两款 ...
- Java Web中间件
目录 中间件 常见的web中间件有哪些 Tomcat Weblogic Jboss Jetty Webshere Glasshfish 中间件 我们经常会看到中间件,但是,一直好奇的是,中间件到底是什 ...
随机推荐
- sql分页遍历出现重复数据原因与解决方案
1. 问题描述 有同时反馈,直接通过如下的sql进行分页查询,分页会出现重复数据,于是乎我专门查了相关了资料,整理了一下. -- 根据sort字段对dbname进行排序,每五百条数据一页 SELECT ...
- 实现基于TCP的服务端/客户端
服务端套接字创建过程 第一步:调用socket函数创建套接字 //成功时返回文件表述符,失败时返回-1 int socket(int __domain, int __type, int __proto ...
- #轮廓线dp,博弈论#洛谷 4363 [九省联考 2018] 一双木棋 chess
题目传送门 分析 菲菲想让答案尽量大,牛牛想让答案尽量小. 很天真的一种想法就是设 \(dp[i][j]\) 表示现在选择 \((i,j)\) 的答案. 但是这样有一个弊端就是并不知道其它位置怎么选择 ...
- #Tarjan,拓扑排序#洛谷 3436 [POI2006]PRO-Professor Szu
题目 分析 考虑有向图缩点然后拓扑排序, 最恶心的地方是这题有自环, 一旦存在自环就意味着答案一定超过阈值 其实更难过的是Tarjan大小写写错没有发现qwq 代码 #include <cstd ...
- Matplotlib绘图设置---图形剖析和构建
图形剖析和构建 Matplotlib的目标对象是用Python对象表示任意图形元素.Figure对象可以看作盛放图形元素的包围盒,其他的Matplotlib对象(Axes.Title.Grid.Spi ...
- 痞子衡嵌入式:使能i.MXRT1050,1060 Hab签名或加密启动时App链接在片内SRAM的限制
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是使能i.MXRT1050, 1060 Hab签名或加密启动时App链接在片内SRAM的限制. 最近有客户反馈,在 RT1060 上测试 ...
- 第十八篇:Django进级
一.Django工程创建 二.Django 的 CBV和FBV 三.模板语言循环字典 四.Django基于正则表达式的URL 五.Django对应的路由名称 六.Django路由分发 七.Django ...
- 在 Google Cloud 上轻松部署开放大语言模型
今天,我们想向大家宣布:"在 Google Cloud 上部署"功能正式上线! 这是 Hugging Face Hub 上的一个新功能,让开发者可以轻松地将数千个基础模型使用 Ve ...
- nginx 使用下的一些基本概念
前言 以前的nginx总结的概念! 正文 来看下百度的概念: Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务. Nginx ...
- vuex合作怎么用仓库