CentOS环境下Tomcat安全保障综合指南
tomcat),禁止其登录shell(-s /sbin/nologin),并赋予Tomcat目录所有权(chown -R tomcat:tomcat /opt/tomcat)。避免以root身份启动Tomcat,降低系统权限泄露风险。750(chmod -R 750 /opt/tomcat),确保仅所有者(tomcat)可写入,其他用户仅能读取和执行,防止未经授权的文件修改。webapps/manager改为webapps/new_manager),增加攻击者猜测路径的难度;tomcat-users.xml中配置强密码(至少8位,包含数字、字母、特殊符号),并为管理角色(如manager-gui)分配最小必要权限;context.xml限制访问IP(如仅允许内网IP访问/manager/*路径),防止远程非法访问。WEB-INF/web.xml中定义角色(如admin、user),并通过security-constraint标签限制敏感路径(如/admin/*)的访问权限,确保只有授权用户可访问核心功能。firewalld或iptables限制Tomcat端口(默认8080、8443)的访问,仅允许必要IP地址(如公司内网、运维人员IP)访问,阻断非法IP的连接尝试。keytool生成自签名证书(或从CA获取正式证书),在server.xml中配置SSL Connector(如端口8443),强制客户端通过HTTPS访问,加密传输数据,防止中间人攻击窃取敏感信息(如密码、会话ID)。server.xml中设置autoDeploy="false"和unpackWARs="false",禁止Tomcat自动解压和部署WAR文件,避免恶意WAR文件上传导致的代码执行攻击。webapps目录下的默认无用目录(如docs、examples、host-manager、ROOT),减少潜在的攻击面(如通过examples目录查看敏感示例代码)。web.xml中设置listings="false",禁止Tomcat列出目录内容,防止攻击者通过目录遍历获取敏感文件(如WEB-INF/config.properties)。server.xml中添加AccessLogValve,记录访问日志(包括IP、时间、请求方法、响应状态等),并在logging.properties中设置日志级别为INFO,保留足够的日志信息用于审计。catalina.out、access_log.*),监控异常活动(如频繁的登录失败、大量404错误);配置入侵检测系统(IDS)或SIEM工具(如Elasticsearch+Logstash+Kibana),实时预警潜在安全威胁。server.xml的Connector标签中添加server="MyCustomServer/1.0"属性,隐藏Tomcat版本号,防止攻击者通过版本信息针对性发起攻击(如利用已知版本的漏洞)。/etc/systemd/system/tomcat.service),配置Restart=always(自动重启)和User=tomcat(以专用用户运行),提升服务稳定性和安全性。