首页主机资讯Ubuntu Tomcat日志中的安全问题

Ubuntu Tomcat日志中的安全问题

时间2025-11-20 23:45:04发布访客分类主机资讯浏览1007
导读:Ubuntu 上 Tomcat 日志相关的安全风险与处置 一 高风险问题清单 日志目录被符号链接劫持导致本地提权:早期 Debian/Ubuntu 的 Tomcat deb 包存在缺陷,若以 root 启动的服务在重启时重新创建日志文件,...

Ubuntu 上 Tomcat 日志相关的安全风险与处置

一 高风险问题清单

  • 日志目录被符号链接劫持导致本地提权:早期 Debian/Ubuntu 的 Tomcat deb 包存在缺陷,若以 root 启动的服务在重启时重新创建日志文件,攻击者可先删除 catalina.out 并创建指向 /etc/ld.so.preload 的符号链接,诱导以 root 权限创建文件,进而注入恶意 .so 实现提权。影响版本:Tomcat 8 ≤ 8.0.36-2、7 ≤ 7.0.70-2、6 ≤ 6.0.45+dfsg-1~deb8u1。修复方式是升级系统 Tomcat 包并避免以 root 运行。
  • 日志权限过宽或被非授权读取:默认 umask 0027 可能使日志为 640(rw-r-----),仅属主与同组可读;若日志目录或文件被设为全局可读(如 644/666),或日志聚合/备份账号权限过宽,易造成敏感信息泄露(请求头、参数、堆栈、可能的凭证片段)。
  • 访问日志未开启或配置不当:未启用 AccessLogValve 将无法有效审计攻击链;日志 pattern 过于简略会丢失关键信息(如请求方法、UA、响应码、耗时)。
  • AJP 暴露引发文件读取/包含:若启用 AJP/1.3 且存在漏洞(如 CNVD-2020-10487/CVE-2020-1938),攻击者可读取 webapp 任意文件,配合上传可实现 RCE;此类事件常在访问日志中表现为异常的 AJP 请求特征。
  • 日志注入与信息泄露:错误路径、异常堆栈、调试信息直接展示给用户,可能泄露 绝对路径、内部路径结构、库版本 等;部分历史版本在 JMX 用户创建错误时会在日志中记录密码(如 CVE-2011-2204)。

二 快速排查与取证步骤

  • 定位日志目录与文件:常见路径为 /opt/tomcat/logs/* 或 /var/log/tomcat/*,核心文件包括 catalina.out、localhost_access_log..txt、localhost..log、manager.*.log。先确认实际路径与当前 umask/权限
  • 检查可疑访问与攻击迹象:在访问日志中检索可疑文件名、备份文件、管理路径、非常规后缀与探测路径,例如:
    • grep -Ei “(.jsp|.jspx|.php|shell|cmd|.bak|.zip|.rar)” /opt/tomcat*/logs/localhost_access_log.*.txt
    • grep -Ei “(manager|host-manager|console)” /opt/tomcat*/logs/localhost_access_log.*.txt 记录 时间、来源 IP、请求方法、状态码、UA、请求行,并联动 /var/log/auth.log、/var/log/syslog 与防火墙日志做交叉验证。
  • 检查是否存在符号链接劫持:对 logs/catalina.out 执行 ls -la,确认是否为符号链接;若存在异常链接,立即隔离并检查 /etc/ld.so.preload 与已加载库。
  • 核对运行用户与目录属主:ps -ef | grep tomcat;ls -ld /opt/tomcat* /var/log/tomcat*;确保进程与日志目录属主一致且非 root
  • 验证 AJP 暴露与版本:查看 conf/server.xml 是否存在 AJP/1.3 Connector 监听外网;核对 Tomcat 版本是否受 CVE-2020-1938 影响并尽快升级或禁用 AJP。

三 加固与修复措施

  • 运行身份与目录权限
    • 创建专用低权用户(如 tomcat),将 CATALINA_HOME/CATALINA_BASElogs/ 属主设为该用户;服务以该用户启动,禁止 root 运行。
    • 合理设置 umask(如 0022) 与日志文件权限(如 640/644),仅授权必要账号读取;避免日志目录全局可写。
  • 访问控制与协议
    • 不需要时禁用 AJP/1.3(注释或删除 server.xml 中的 AJP Connector),或仅 127.0.0.1 监听;升级至已修复 CVE-2020-1938 的安全版本。
  • 日志配置与审计
    • 启用并规范 AccessLogValve,示例:
      • < Valve className=“org.apache.catalina.valves.AccessLogValve” directory=“logs” prefix=“localhost_access_log” suffix=“.txt” pattern=“%h %l %u %t “%r” %s %b %D” />
    • 统一日志滚动与保留策略,集中采集到受控的 SIEM/日志服务器,并设置最小读写权限与完整性校验。
  • 应用与错误页面安全
    • 删除 webapps/docs、examples、host-manager、manager 等示例与管理应用;如必须使用管理端,配置强口令来源限制
    • 关闭目录浏览(web.xml 中 listings 设为 false),配置全局错误页面,避免堆栈与路径泄露。
  • 系统与包安全
    • 及时应用 Ubuntu 安全更新,修复历史漏洞(如 CVE-2011-1184、CVE-2011-2204 等);保持 Tomcat 上游安全修复版本。

四 日志监控与告警要点

  • 关注异常访问模式:高频 4xx/5xx、非常规 HTTP 方法(PUT/DELETE/TRACE/OPTIONS)、探测性路径(如 /manager、/host-manager、/console)、可疑后缀(.jsp/.jspx/.php/.bak/.zip)与异常 UA
  • 监测运行异常与提权迹象:服务频繁重启、日志文件被替换/删除、出现可疑 符号链接/etc/ld.so.preload 被修改、出现未知 .so 预加载。
  • 建立基线并做差异分析:按 IP、账号、UA、URL、响应码、时段 建立基线,对突增与离群进行告警;将 Tomcat 日志系统/防火墙日志关联,缩短 MTTR。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu Tomcat日志中的安全问题
本文地址: https://pptw.com/jishu/752604.html
Debian SFTP如何防止恶意攻击 Debian SFTP如何实现自动化操作

游客 回复需填写必要信息