当前位置: 首页
网络安全
Ubuntu Tomcat日志中如何识别攻击行为

Ubuntu Tomcat日志中如何识别攻击行为

热心网友 时间:2026-04-27
转载

Ubuntu Tomcat日志识别攻击行为的实用指南

排查Tomcat服务器上的异常活动,日志是无可替代的第一手证据。但面对海量的日志条目,如何快速定位攻击痕迹?今天,我们就来梳理一套从日志定位到响应处置的实战指南。

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

一 日志位置与关键文件

首先,得知道“证据”藏在哪。Tomcat的日志位置因安装方式和版本而异,通常在这两个地方:

  • 常见路径/var/log/tomcatX/(X为版本号)或 /opt/tomcatX/logs/

找到目录后,重点关注这几类日志文件,它们各有分工:

  • catalina.out:这是标准输出和错误日志的集合。服务器启动失败、运行时抛出的异常堆栈信息,都会在这里留下记录,是排查系统级问题的首选。
  • localhost_access_log:这是识别外部攻击的主战场。每一次HTTP请求的详细信息,包括客户端IP、时间戳、请求方法、URL、状态码、User-Agent和Referer,都被忠实记录。扫描、爆破、漏洞利用尝试,大多会在这里露出马脚。
  • localhost..log / catalina..log:按日期滚动的日志文件。当需要回溯特定时间段内的事件时,它们能帮你快速定位,避免在单个巨大文件中大海捞针。

一个实用的建议是:统一收集并定期备份这些日志。这不仅便于事后取证和攻击链复盘,也是满足安全审计要求的良好实践。

二 快速排查命令与示例

光知道文件还不够,关键是如何高效地“问”出信息。下面这些命令组合,能帮你在终端里快速完成初步筛查。

实时查看与关键字定位

  • 想实时盯着控制台动态?试试:tail -f /var/log/tomcat9/catalina.out
  • 要快速揪出所有错误和异常:grep -i “ERROR\|Exception” /var/log/tomcat9/catalina.out
  • 甚至可以直接统计错误数量,量化问题严重性:awk ‘/ERROR/ {count++} END {print “ERROR count:”, count}’ /var/log/tomcat9/catalina.out

访问日志高频异常

访问日志里的花样更多,需要更有针对性的筛查:

  • 高频404(扫描特征):短时间内来自同一IP的大量404响应,通常是自动化扫描工具在“踩点”。
    awk ‘{ip[$1]++;} END {for(i in ip) if(ip[i]>100) print i, ip[i]}’ /opt/tomcat9/logs/localhost_access_log.* | sort -nrk2
  • 可疑UA(爬虫/工具):通过User-Agent字段识别常见的安全工具或脚本。
    grep -iE “nmap|sqlmap|burp|python-requests|curl|scanner” /opt/tomcat9/logs/localhost_access_log.*
  • 可疑路径(备份、敏感、管理):攻击者常尝试访问备份文件、管理后台或已知的漏洞路径。
    grep -Ei “\.(jsp|jspx|war|zip|bak|old)$|/manager/html|/host-manager|/jmx-console|/axis2|/solr|/struts|/shell|\.env|\.git” /opt/tomcat9/logs/localhost_access_log.*
  • 可疑上传(multipart):寻找文件上传请求的痕迹。
    grep -i “multipart/form-data” /opt/tomcat9/logs/localhost_access_log.*
  • 管理接口探测(401/403频繁):统计对管理页面的访问及其返回状态码,频繁的401/403往往是暴力破解的前奏。
    grep -E “/manager/html|/host-manager” /opt/tomomcat9/logs/localhost_access_log.* | awk ‘{code[$9]++;} END {for(c in code) print c, code[c]}’

时间线定位(配合文件系统取证)

如果已经在服务器上发现了可疑文件,stat命令可以查看其精确的时间戳。这时,再回到访问日志,以这个时间点为中心,检索同一IP在前后几分钟内的所有请求,往往就能清晰地还原出攻击者“上传-访问-利用”的完整链条。

需要提醒的是,Tomcat默认的访问日志不记录POST请求体。这意味着,如果攻击载荷在POST数据中,仅靠访问日志可能无法看清全貌。此时,必须结合应用自身输出的业务日志、前置的WAF或反向袋里日志,甚至流量镜像数据,才能完整还原攻击细节。

三 常见攻击在日志中的特征与排查要点

知道怎么看日志后,我们再来系统性地认识一下,各种常见攻击会在日志中留下怎样的“签名”。下表汇总了关键特征与排查思路:

攻击类型 日志特征关键词或模式 排查要点
目录遍历/敏感文件读取 大量 …/、/etc/passwd、.git/、.env、.bak 等 关注 200/206 与 404 的比例,结合 UA 与来源 IP 聚类
SQL 注入 参数含 ‘、”、UNION、SELECT、INSERT、–、%27 等 观察 5xx/4xx 异常波动与相似参数反复尝试
XSS/命令注入 参数含