阅读量:5
CentOS中Tomcat安全配置要点
1. 用户与权限管理
- 使用非root用户启动Tomcat:创建普通用户(如
tomcat),赋予Tomcat目录所有权(chown -R tomcat:tomcat /usr/local/tomcat),避免以root身份运行,降低权限滥用风险。 - 配置
tomcat-users.xml:仅保留必要用户及角色(如manager-gui用于管理界面、admin-gui用于后台管理),删除默认空用户或测试账户;严格划分角色权限,例如manager-gui仅允许远程访问管理界面,admin-gui允许后台配置。
2. 端口与服务优化
- 修改默认端口:将HTTP默认端口8080改为非标准端口(如8081),HTTPS默认端口8443改为其他端口(如8444),减少自动化扫描工具的针对性攻击。
- 禁用自动部署:在
server.xml中设置autoDeploy="false"和unpackWARs="false",防止恶意WAR文件自动解压部署,避免未授权应用上线。 - 关闭AJP端口:若无需与Apache/Nginx通过AJP协议通信,将
server.xml中的AJP端口改为-1(),关闭潜在的AJP协议漏洞。
3. 访问控制与认证
- 限制管理界面访问:编辑
webapps/manager/META-INF/context.xml,添加RemoteAddrValve阀门,仅允许特定IP(如运维人员IP)访问管理界面,例如:。 - 配置安全约束:在应用的
WEB-INF/web.xml中,通过定义URL路径的保护规则,例如限制/admin/*路径仅允许admin角色访问,并指定认证方式(如BASIC或FORM);禁止危险HTTP方法(如PUT、DELETE、TRACE),通过标签列出限制的方法,并设置空的拒绝访问。
4. SSL/TLS加密配置
- 生成SSL证书:使用OpenSSL生成自签名证书(测试环境)或向CA申请正式证书(生产环境),例如:
openssl req -newkey rsa:2048 -nodes -keyout /etc/tomcat/keystore.key -out /etc/tomcat/keystore.crt -x509 -days 365。 - 配置HTTPS连接器:编辑
server.xml,取消注释或添加SSL连接器,指定证书路径和密码,启用HTTPS(SSLEnabled="true"),例如:。
5. 隐藏敏感信息
- 隐藏Tomcat版本:修改
server.xml中的标签,添加server属性(如server="CustomTomcat/1.0"),替换默认的Tomcat版本标识,防止攻击者通过响应头获取版本信息进行针对性攻击。 - 禁用目录列表:编辑
web.xml,找到标签,设置listings="false",禁止Tomcat自动列出目录内容,避免敏感文件(如WEB-INF/config.properties)泄露。
6. 日志与监控
- 启用访问日志:在
server.xml中配置AccessLogValve,记录用户访问详情(如IP、请求时间、方法、URL、状态码),例如:,便于后续审计异常访问行为。 - 定期检查日志:通过
grep、awk等工具分析日志,关注404(未找到)、403(禁止访问)、500(服务器错误)等异常状态码,及时发现潜在攻击(如暴力破解、路径遍历)。
7. 系统与防火墙配置
- 配置防火墙:使用
firewalld或iptables限制Tomcat端口的访问范围,例如仅允许内网IP(如192.168.1.0/24)访问8080/8443端口,命令示例:firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="8080" accept',然后firewall-cmd --reload。 - 定期更新Tomcat:关注Apache Tomcat官网的安全公告,及时升级到最新稳定版本,修复已知漏洞(如CVE-2025-XXXX系列漏洞),降低被攻击的风险。
以上就是关于“CentOS中Tomcat安全配置有哪些要点”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm