sudo apt update && sudo apt upgrade tomcat
命令更新系统软件包。docs
)、测试应用(examples
)和未使用的管理界面(host-manager
、manager
),减少潜在攻击面。conf/server.xml
中设置autoDeploy="false"
和deployOnStartup="false"
,防止攻击者通过文件系统直接上传并部署恶意WAR包。server.xml
中的RemoteAddrValve
限制仅允许特定IP地址访问管理界面(如127.0.0.1
或内部网络IP),避免暴露在公网。tomcat-users.xml
,为用户设置包含数字、大小写字母和特殊符号的复杂密码(如Tomcat@2025
),并避免使用默认账号(如tomcat
)。manager-gui
(管理界面访问)、admin-gui
(配置管理)等角色,禁用高风险角色(如manager-script
,允许通过脚本管理Tomcat)。tomcat
),并修改Tomcat目录权限(chown -R tomcat:tomcat /opt/tomcat
),避免以root
用户启动服务(sudo -u tomcat systemctl start tomcat
)。ufw
限制对Tomcat端口(默认8080
、8443
)的访问,仅允许信任的IP地址或网络段(如公司内网)访问。conf/server.xml
中的Connector
标签,添加server="MyCustomServer/1.0"
属性,避免泄露Tomcat版本给攻击者。server.xml
中注释<Connector port="8009" protocol="AJP/1.3" .../>
),禁用目录列表(web.xml
中设置<param-name>listings</param-name><param-value>false</param-value>
),减少攻击入口。server.xml
中配置HTTPS连接器,使用受信任的CA证书(或自签名证书),加密客户端与服务器之间的通信(如端口8443
)。logs/catalina.out
、logs/localhost_access_log.*.txt
),监控异常访问(如频繁的登录失败、未授权的资源请求),及时响应安全事件。tomcat-users.xml
或外部认证系统(如LDAP)配置登录失败次数限制(如连续5次失败锁定账户10分钟),防止暴力破解攻击。web.xml
中设置<multipart-config><max-file-size>1048576</max-file-size><max-request-size>2097152</max-request-size><file-size-threshold>1024</file-size-threshold></multipart-config>
限制上传文件大小,并禁用PUT方法(server.xml
中<Connector ... allowCasualMultipartParsing="false"/>
),防止攻击者上传恶意JSP文件。JSESSIONID
cookie名称,在context.xml
中添加<Manager sessionIdAttributeName="customSessionId">
,并使用安全的序列化库(如Jackson)替代默认的Java序列化。