温馨提示×

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

小樊
38
2025-12-10 00:59:46
栏目: 网络安全

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

一 日志位置与关键文件

  • 常见路径:Tomcat 日志通常位于 /var/log/tomcatX/(X 为版本号)或 /opt/tomcatX/logs/(取决于安装方式)。
  • 关键日志与作用:
    • catalina.out:标准输出与错误,适合排查异常堆栈、启动失败、可疑报错。
    • localhost_access_log:访问日志,记录每次 HTTP 请求的 IP、时间、方法、URL、状态码、UA、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(扫描特征):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(爬虫/工具):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 频繁):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 请求体,若需还原利用细节,需结合应用日志、WAF/反向代理日志或流量镜像。

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

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