在Ubuntu系统中部署Tomcat服务器时,安全问题应从初始阶段就纳入考量。许多开发者习惯先让服务运行起来,等到遭遇扫描、入侵或挖矿程序植入时再补救,付出的代价往往截然不同。实际上,只需在前期完成几项关键的防护配置,即可有效拦截大多数攻击。接下来,我们具体看看如何操作。

首要步骤是清理Tomcat默认自带的应用程序。安装完毕后,CATALINA_HOME/webapps目录下往往存在docs、examples、ROOT、host-manager和manager等文件夹。这些默认应用在开发环境中或许便利,但在生产环境下却成为攻击者的首要目标。建议彻底删除,不留任何冗余。
同时,Tomcat的进程运行权限必须严格管理。切勿使用root用户启动Tomcat,否则一旦服务被攻破,攻击者将直接获取系统最高权限。最佳实践是创建一个专用的低权限账户,仅用于运行Tomcat服务。这是安全防御体系中最基础却极其重要的一环。
组件方面,对于不需要的功能应果断移除,例如AJP连接器。历史上大量安全漏洞与AJP协议相关,如果确实无需使用,在server.xml中将其注释或删除即可。此外,自动部署功能在生产环境中也应关闭。修改server.xml,将autoDeploy和deployOnStartup两个属性均设置为false,从而避免运行时自动加载意外放入的恶意应用。
默认密码问题,许多团队都曾因此吃亏。Tomcat管理界面默认的用户名和密码是公开的,必须立即修改。编辑tomcat-users.xml文件,设置足够复杂的密码,并仅授予必要的最小角色。诸如manager-script和manager-jmx等高权限角色,如非必要应避免使用。
管理界面的访问同样需要严格限制。可通过server.xml配置仅允许特定IP地址访问;如果管理界面并非必需,最简便的方法是直接移除webapps目录下的manager和host-manager文件夹。
为防止暴力破解,应启用账户锁定机制。Tomcat通过FailedLoginAttempts参数支持配置登录失败后的锁定策略,该功能可显著提升攻击者的破解难度。
版本管理同样不可忽视。应坚持使用Tomcat的最新稳定版本,因为每个新版本都修复了大量已知安全漏洞。同时,定期检查并安装Ubuntu系统和Tomcat本身的安全更新,这项任务应纳入运维团队的常规工作流程。
文件与目录的权限设置也必须到位。除前文提到的专用低权限用户外,还需确保Tomcat相关目录和文件的属主及权限配置正确,避免暴露不必要的写权限。
防火墙方面,建议使用UFW管理端口访问。仅开放业务所需的端口,例如默认的8080端口,其余端口全部关闭,从网络层面做好隔离。
最后,不要忽视监控。通过Tomcat的管理页面或其他监控工具,持续观察服务器的运行状态、连接数及资源使用情况。异常情况往往会在这些指标上提前显现,早发现才能早处理。
综合运用这些措施,基本可以构建起一道有效的安全防线。安全并非一次性配置,而是持续的维护过程。每增加一层防护,攻击者就多一分障碍,您的服务器也就多一分安全保障。
