定期检查并安装Tomcat官方发布的安全补丁,优先升级至最新稳定版本(如2025年10月发现的CVE-2025-55752路径遍历漏洞,需升级至Tomcat 9.0.109及以上、10.0.45及以上、11.0.11及以上版本);同时保持Linux系统更新,通过apt update && apt upgrade(Debian/Ubuntu)或yum update(CentOS/RHEL)安装系统安全补丁,修复内核及依赖库漏洞。
tomcat-users.xml中不必要的用户(如tomcat默认账号),为管理员账户设置强密码(长度≥8位,包含数字、大小写字母、特殊符号中的至少3类);tomcat_user),通过chown -R tomcat_user:tomcat_user /opt/tomcat赋予权限,避免以root身份运行Tomcat(降低入侵后权限提升风险);tomcat-users.xml中细化用户角色(如manager-gui仅允许管理界面访问,admin-gui允许配置管理),限制用户仅能访问其职责范围内的资源。server.xml中的<Host>标签,设置autoDeploy="false"、unpackWARs="false",防止恶意WAR包自动部署;webapps目录下的docs(文档)、examples(示例)、ROOT(默认页)、host-manager(主机管理)、manager(应用管理)等目录,减少攻击面;server.xml将AJP连接器端口改为-1(<Connector port="-1" protocol="AJP/1.3" />);server.xml中的shutdown端口改为-1(<Server port="-1" shutdown="SHUTDOWN">),防止远程通过端口发送shutdown命令。ufw(Ubuntu)或firewalld(CentOS)限制Tomcat端口(默认8080)的访问,仅允许特定IP(如运维人员IP)访问(示例:sudo ufw allow from 192.168.1.100 to any port 8080);server.xml中的<Connector>标签,将8080端口改为其他高位端口(如8081),降低端口扫描攻击概率;server.xml中的<Connector>标签,添加server="MyAppServer/1.0"属性,避免暴露Tomcat版本(减少针对性攻击)。通过配置SSL证书加密Tomcat与客户端之间的数据传输,防止中间人攻击(如数据窃取、篡改)。步骤如下:
keytool -genkeypair -alias tomcat -keyalg RSA -keystore /opt/tomcat/keystore.jks);server.xml,添加SSL连接器(示例:<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" SSLEnabled="true" scheme="https" secure="true" keystoreFile="/opt/tomcat/keystore.jks" keystorePass="your_password" clientAuth="false" sslProtocol="TLS" />);https://your_domain:8443访问。logging.properties文件,调整日志级别为FINE或FINER,记录请求详情(如URL、IP、方法);grep、awk等工具分析catalina.out、localhost_access_log.*.txt等日志,排查异常行为(如频繁的404请求、PUT方法调用、非工作时间登录);logrotate工具,避免日志文件过大占用磁盘空间(示例:/opt/tomcat/logs/catalina.out { daily rotate 7 compress missingok })。