tomcat安全加固

tomcat安全加固

设置tomcat登录权限

1.修改控制台用户名密码,用户名testzaa密码test.aaa.com

修改tomcat-user.xml文件

html 复制代码
<role
rolename=manager-gui/>
<user username=testz
password=test.123.com roles=manager-gui/>

开启日志

2.开启日志审计功能,使用common日志格式,不进行反向解析

修改server.xml文件

html 复制代码
<Valve className="org.apache.catalina.valves.AccessLogValve"
directory="logs" prefix=localhost_access_log.
suffix=.txt pattern=common
resolveHosts=false/>

自定义404报错页面减少敏感信息泄露

3.重定义404错误页,定向到网站根目录下nofile.html

在网站根目录下创建nofile.html文件

修改web.xml文件中加入下列代码:

html 复制代码
<error-page>
<error-code>404</error-code>
<location>/nofile.html</location>
</error-page>

禁止目录遍历

4.禁止浏览器查看目录内容

确保web.xml文件中列表为false

html 复制代码
<init-param>
           
<param-name>listings</param-name>
           
<param-value>false</param-value>
       
</init-param>

禁用敏感方法

5.修改wdb.xml文件禁用危险的http方法,例如PUT,DELETE,DEAD,OPTIONS,TRACE

修改web.xml文件中添加内容

html 复制代码
<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源访问,只允许192.168.1.100访问

添加server.xml如下信息

html 复制代码
<value className="org.apache.catalina.values.RemoteAddrValue"
allow="192.168.3.121 deny= />

防止dos

7.修改server.xml文件设置连接超时300秒,最大线程400,等待队列500.

修改server.xml文件,如下内容

html 复制代码
<Connector port=8080 protocol=HTTP/1.1   
           connectionTimeout="300   
           redirectPort="8443" acceptCount="500" maxThreads="400" /> 

修改默认端口减少被扫描

  1. 修改server.xml文件,修改默认端口号为10808
    修改server.xml文件,如下内容
html 复制代码
<Connector port=10808 protocol=HTTP/1.1   
           connectionTimeout="300   
           redirectPort="8443" acceptCount="500" maxThreads="400" /> 
相关推荐
xiaolyuh123几秒前
Spring Boot 深度解析
java·spring boot·后端
黎雁·泠崖1 分钟前
Java静态方法:用法+工具类设计+ArrayUtil实战
java·开发语言
Sanyhem4 分钟前
2025 年高频考点与深度追问点
java·面试
摇滚侠6 分钟前
解决 IntelliJ IDEA 中 Maven 管理界面不是层级结构的问题
java·maven·intellij-idea
Mr Aokey9 分钟前
RabbitMQ进阶实战:三种典型消息路由模式详解(订阅/路由/主题)
java·网络·rabbitmq
无心水16 分钟前
4、Go语言程序实体详解:变量声明与常量应用【初学者指南】
java·服务器·开发语言·人工智能·python·golang·go
sheji341618 分钟前
【开题答辩全过程】以 食堂兼职管理系统为例,包含答辩的问题和答案
java·eclipse
0x5318 分钟前
JAVA|智能仿真并发项目-并行与并发
java·开发语言
沛沛老爹24 分钟前
从Web到AI:多模态Agent图像识别Skills开发实战——JavaScript+Python全栈图像处理方案
java·javascript·图像处理·人工智能·python·rag
朴实赋能24 分钟前
人工智能大模型+智能体:建筑行业数字化转型的“三级金字塔“实践路径
java·后端·struts