在 CentOS 环境下部署 Tomcat 时,安全漏洞的防范是运维工作中不可回避的核心任务。以下梳理的几项关键措施,均经过真实场景验证,属于“标准安全操作”,每一条都直接关系到服务的安全底线与防护能力。
用户权限管理
首先,务必使用非 root 用户启动 Tomcat。该用户仅需具备访问必要目录(如部署目录、日志目录)的权限,绝不能授予系统级权限。同时,tomcat-users.xml 文件中的默认用户应当删除或将其权限降至最低——仅保留最必需的角色。这一步看似基础,却是阻断多数入侵事件的“第一道防线”。
基础配置加固
默认端口 8080 极易被扫描工具识别,建议改为不常用的非标准端口。版本信息同样需要隐藏:修改 server.xml 或直接替换 catalina.jar 中的相关类。务必关闭自动部署功能,在 server.xml 中将 autoDeploy 设为 false;目录列表功能也需禁用,设置 listings="false"。最后,webapps 目录下的示例文件(如 docs、examples)应直接删除,这些文件往往是攻击者的“教科书式入口”。
通信与访问控制
启用 SSL/TLS 加密是刚性需求。在 server.xml 中正确配置证书,确保所有数据传输均为加密状态。建议使用正规证书颁发机构签发的证书,自签名证书仅适用于测试环境。此外,利用防火墙(firewalld 或 iptables)限制 Tomcat 端口,仅允许可信 IP 访问。该策略简单粗暴,但极其有效——能直接阻断绝大部分来自外网的扫描与试探。
系统级安全措施
定期更新 Tomcat 至最新稳定版,并及时安装官方安全补丁,这是常识,却也是最容易被忽视的环节。日志审计同样不可省略:开启详细记录(如访问日志、错误日志),定期审查异常行为。多数安全问题最初都能从日志中捕捉到蛛丝马迹,切勿等到事发后才去翻阅。
高级安全策略
若对安全等级有更高要求,可配置安全管理器(在 catalina.sh 启动参数中添加 -security),该机制能限制 Tomcat 应用对系统资源的访问权限——例如文件读写、网络连接、反射调用等。另外,敏感配置文件(如 context.xml)的权限应设置到最小,禁止未授权修改。建议将所有配置文件权限设为 chmod 600 或 chmod 400,仅允许运行 Tomcat 的用户读取。
