Ubuntu下Tomcat安全设置怎么做
导读:Ubuntu下Tomcat安全设置清单 一 基础加固 使用非root专用系统用户运行Tomcat,禁止登录Shell,例如创建用户:sudo useradd -m -U -d /opt/tomcat -s /bin/false tomca...
Ubuntu下Tomcat安全设置清单
一 基础加固
- 使用非root专用系统用户运行Tomcat,禁止登录Shell,例如创建用户:sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat,并将安装目录属主设为该用户:sudo chown -R tomcat: /opt/tomcat。
- 删除或禁用内置示例与后台管理应用:docs、examples、ROOT、host-manager、manager,减少攻击面。
- 精简连接器:在server.xml中移除或注释AJP连接器(如不使用Apache httpd AJP)。
- 关闭热部署:将autoDeploy与deployOnStartup设为false,仅通过受控流程发布。
- 升级与补丁:保持Tomcat与JDK为最新稳定版本,及时修复已知漏洞。
- 文件与目录权限:运行用户仅对必要目录具备所需权限,建议对安装目录设置UMask=0007,并对logs、temp、work、webapps按需赋予组写权限。
二 身份与访问控制
- 强口令与最小权限:编辑conf/tomcat-users.xml,仅授予必要角色,避免使用高权限角色如manager-script、manager-jmx;示例:
< tomcat-users> < role rolename="manager-gui"/> < role rolename="admin-gui"/> < user username="admin" password="StrongPass!2025" roles="manager-gui,admin-gui"/> < /tomcat-users> - 限制管理界面访问:
- 推荐做法:保留默认IP限制,仅在内网或跳板机放行;在manager/META-INF/context.xml与host-manager/META-INF/context.xml中保留或收紧RemoteAddrValve的allow列表。
- 如确需远程开放,务必改为仅允许受控网段,切勿对0.0.0.0/0开放。
- 登录保护:启用失败登录锁定(如配置FailedLoginAttempts),降低暴力破解风险。
三 网络与端口
- 防火墙:使用UFW仅放行必要端口,例如仅内网访问可仅放行内网网段;公网访问时先限定来源IP,再开放8080/tcp:sudo ufw allow from 203.0.113.0/24 to any port 8080 proto tcp;必要时再开放80/443并配合反向代理或TLS终止。
- 端口与协议:避免直接暴露管理端口到公网;生产环境建议通过Nginx/Apache HTTPD做反向代理与TLS/HTTPS终止,仅将8080暴露在内网。
四 运行与部署配置
- 以服务方式运行:使用systemd托管Tomcat,示例单元文件关键项:
然后执行:sudo systemctl daemon-reload & & sudo systemctl enable --now tomcat。[Service] User=tomcat Group=tomcat UMask=0007 Environment=JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 Environment=CATALINA_HOME=/opt/tomcat Environment=CATALINA_BASE=/opt/tomcat ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh Restart=always - 目录权限细化:对logs、temp、work、webapps赋予组写权限,其他文件仅组读,避免运行用户越权修改配置:
sudo chown -R tomcat:tomcat /opt/tomcat sudo chmod -R g+r /opt/tomcat sudo chmod -R g+w /opt/tomcat/logs /opt/tomcat/temp /opt/tomcat/work /opt/tomcat/webapps - 发布流程:在CI/CD或受控主机完成构建与签名,通过受控渠道上传WAR并重启;禁用自动部署,避免误发布与恶意包上线。
五 监控与维护
- 日志与审计:集中收集与轮转catalina.out、localhost.*.log等日志,保留至少30天;对管理登录与部署操作建立审计线索。
- 安全更新与基线:定期更新Tomcat/JDK/OS,对server.xml、web.xml、context.xml与系统服务建立变更记录与回滚方案。
- 运行监控:关注线程池、JVM内存、连接数与异常堆栈,设置告警阈值;必要时启用JMX并限制访问来源。
- 备份与演练:定期备份conf、webapps、证书与发布记录,并进行恢复演练与应急预案演练。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu下Tomcat安全设置怎么做
本文地址: https://pptw.com/jishu/758205.html
