CentOS下Tomcat安全配置要点
tomcat),赋予其Tomcat目录的读写权限(chown -R tomcat:tomcat /opt/tomcat),避免以root身份启动服务,降低进程被攻破后的系统风险。firewalld或iptables仅允许必要端口(如HTTP的8080、HTTPS的8443)的入站流量,禁止其他端口访问,减少外部扫描和攻击面。chcon -R -t httpd_sys_content_t /opt/tomcat),允许Tomcat访问自身文件;持久化配置需修改/etc/selinux/config文件。tomcat-users.xml配置:仅创建必要的角色(如admin-gui、manager-gui),并为每个角色分配最小权限;避免保留默认用户(如tomcat),删除未使用的账户。WEB-INF/web.xml中定义安全约束,将URL路径(如/admin/*)与角色关联(如admin角色),并通过login-config配置认证方式(如表单认证),实现细粒度的资源访问控制。manager或host-manager的META-INF/context.xml中添加RemoteAddrValve,仅允许特定IP段(如内网IP)访问管理界面,防止未经授权的远程访问。server.xml的Host标签中设置autoDeploy="false"和unpackWARs="false",禁止Tomcat自动解压和部署WAR文件,避免恶意WAR包的自动执行。webapps目录下的docs、examples、host-manager、manager、ROOT等默认目录,减少潜在的攻击入口(如examples目录包含敏感示例代码)。server.xml的Connector标签中添加server="CustomServer/1.0"属性,隐藏Tomcat的真实版本信息,防止攻击者利用已知版本漏洞进行针对性攻击。keytool生成自签名证书或使用CA颁发的证书,在server.xml中添加Connector配置(端口如8443),启用SSL/TLS加密,强制客户端与服务器之间的通信加密,防止数据泄露。server.xml中注释或删除不使用的连接器(如AJP协议的Connector),减少潜在的攻击面;若无需AJP协议,建议完全禁用。logging.properties文件,开启org.apache.catalina、org.apache.coyote等关键包的FINE或FINER级别日志,记录访问请求、认证失败、部署操作等信息,便于后续安全审计和异常排查。catalina.out、localhost_access_log),监控异常活动(如大量404错误、非法登录尝试);及时更新Tomcat至最新稳定版本,修复已知安全漏洞。