Linux下Tomcat如何防止攻击
导读:Linux下Tomcat安全加固与防攻击清单 一 基础加固与最小攻击面 运行身份与权限 使用非root专用用户启动Tomcat,应用目录与Tomcat运行用户分离,遵循最小权限原则。示例:创建用户与目录属主 groupadd tomc...
Linux下Tomcat安全加固与防攻击清单
一 基础加固与最小攻击面
- 运行身份与权限
- 使用非root专用用户启动Tomcat,应用目录与Tomcat运行用户分离,遵循最小权限原则。示例:创建用户与目录属主
- groupadd tomcat & & useradd -g tomcat -s /sbin/nologin tomcat
- chown -R tomcat:tomcat $CATALINA_HOME
- 使用非root专用用户启动Tomcat,应用目录与Tomcat运行用户分离,遵循最小权限原则。示例:创建用户与目录属主
- 删除默认示例与后台管理
- 清空或移除**$CATALINA_HOME/webapps**下的默认应用(如 docs、examples、manager、host-manager),避免被滥用。
- 关闭自动部署与解包
- 在server.xml的Host中设置:autoDeploy=“false”、unpackWARs=“false”,减少被上传恶意WAR的风险。
- 隐藏版本信息
- 修改server.xml的Connector添加server="Apache"或在lib/catalina.jar中调整ServerInfo.properties(server.info/server.number),降低指纹暴露。
- 禁用目录浏览
- 在应用的web.xml确保listings=false,防止目录遍历泄露。
- 管理AJP连接器
- 前端为Nginx等反向代理时,直接注释或删除AJP Connector;仅在使用Apache httpd与mod_jk等场景才开启。
- 自定义错误页面
- 在web.xml配置40x/50x错误页面,避免堆栈与路径信息泄露。
二 传输加密与访问控制
- 启用HTTPS/TLS
- 使用keytool生成证书并配置server.xml的Connector(port=“8443”、SSLEnabled=“true”、keystoreFile、keystorePass、sslProtocol=“TLS”),强制加密传输。
- 强化认证与授权
- 若必须使用管理应用,限制仅内网访问,采用强密码策略、RBAC最小化授权,必要时集成LDAP/OAuth等外部认证。
- 网络与端口最小化
- 通过firewalld/iptables仅开放80/443(或仅8443),对管理口限制来源IP;云环境配合安全组白名单。
- 禁用不必要协议与动词
- 关闭WebDAV(若未使用),在web.xml的DefaultServlet将readonly设为true,禁用PUT/DELETE等危险方法。
三 抗拒绝服务与资源控制
- 连接器与线程池限流
- 在server.xml合理设置maxThreads(并发处理上限)、acceptCount(排队上限)、connectionTimeout(连接超时),示例:
- 在server.xml合理设置maxThreads(并发处理上限)、acceptCount(排队上限)、connectionTimeout(连接超时),示例:
- 系统层连接限制
- 使用firewalld或iptables限制单IP并发连接数,缓解连接耗尽型攻击:
- firewalld示例:firewall-cmd --permanent --zone=public --add-rich-rule=‘rule family=“ipv4” source address=“1.2.3.4” reject’ & & firewall-cmd --reload
- iptables示例:iptables -A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 10 -j REJECT
- 使用firewalld或iptables限制单IP并发连接数,缓解连接耗尽型攻击:
- 缓解慢速HTTP攻击
- 在前端Apache/Nginx启用慢速攻击防护(如mod_reqtimeout),对请求头/请求体设置合理超时与增长阈值,尽早断开恶意长连接。
- 边界与纵深防护
- 部署WAF(如ModSecurity)识别与阻断常见攻击特征;使用CDN/反向代理做缓存与流量清洗、隐藏源站;结合负载均衡分散压力。
四 日志监控与应急响应
- 访问日志与审计
- 在server.xml的Host启用AccessLogValve,记录源IP、方法、URL、状态码、字节数、UA等,便于溯源与风控。
- 日志滚动与保留
- 在logging.properties配置FileHandler.limit/count实现按大小滚动,定期归档与清理,防止磁盘被占满。
- 集中化分析与告警
- 将catalina.out、localhost_access_log接入ELK/Splunk,对高频404/403、异常UA、突发并发、慢请求设置告警,缩短MTTD/MTTR。
- 持续更新与演练
- 及时升级Tomcat/JDK与相关组件,关注并修补如CVE-2024-56337、CVE-2025-31650等漏洞;定期进行渗透测试与安全评估,验证防护有效性。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux下Tomcat如何防止攻击
本文地址: https://pptw.com/jishu/762312.html
