Linux应急响应-常见服务日志篇
字数 1580 2025-08-06 12:20:41
Linux应急响应-常见服务日志分析指南
1. 日志分析基础
1.1 日志的重要性
- 日志是系统活动的历史记录
- 是应急响应中最重要的证据来源之一
- 可追溯攻击路径、确定攻击时间、分析攻击手法
1.2 日志存储位置
/var/log/:主要日志目录/var/log/messages:通用系统消息/var/log/syslog:系统日志/var/log/auth.log:认证相关日志/var/log/secure:RedHat系认证日志/var/log/kern.log:内核日志/var/log/dmesg:启动消息
2. 常见服务日志分析
2.1 SSH服务日志
日志位置:
/var/log/auth.log(Debian/Ubuntu)/var/log/secure(RedHat/CentOS)
关键事件:
- 成功登录:
Accepted password for user from 192.168.1.100 port 22 ssh2 - 失败登录:
Failed password for root from 192.168.1.100 port 22 ssh2 - 无效用户尝试:
Invalid user test from 192.168.1.100 port 22 - 暴力破解特征:
- 短时间内大量失败登录尝试
- 多个不同用户名尝试
2.2 Web服务日志
Apache日志
日志位置:
/var/log/apache2/access.log(访问日志)/var/log/apache2/error.log(错误日志)
关键分析点:
- 常见攻击特征:
- SQL注入:
/index.php?id=1' - XSS攻击:
/search.php?q=<script> - 目录遍历:
/../../etc/passwd - 文件包含:
/index.php?page=../../../etc/passwd
- SQL注入:
- 扫描器特征:
- 大量404错误
- 短时间内请求多种不常见路径
- 包含常见漏洞扫描路径如
/phpmyadmin/,/admin/等
Nginx日志
日志位置:
/var/log/nginx/access.log/var/log/nginx/error.log
分析要点:
- 与Apache类似,但日志格式可能不同
- 关注
$request字段中的可疑请求
2.3 数据库日志
MySQL日志
日志位置:
/var/log/mysql/mysql.log/var/log/mysql/error.log
关键事件:
- 异常登录:
Access denied for user 'root'@'192.168.1.100' - 可疑查询:
- 大量
SELECT语句 UNION SELECT注入特征- 异常长的查询语句
- 大量
PostgreSQL日志
日志位置:
/var/log/postgresql/postgresql-{version}-main.log
分析要点:
- 关注异常连接和SQL注入特征
2.4 FTP服务日志
日志位置:
/var/log/vsftpd.log/var/log/xferlog
关键事件:
- 异常登录尝试
- 可疑文件上传/下载
- 匿名登录尝试
3. 日志分析技巧
3.1 常用命令
- 基本查看:
cat /var/log/auth.log less /var/log/syslog tail -f /var/log/messages - 过滤搜索:
grep "Failed" /var/log/auth.log grep -i "error" /var/log/syslog - 时间范围筛选:
sed -n '/Mar 15 10:00/,/Mar 15 12:00/p' /var/log/auth.log journalctl --since "2023-03-15 10:00:00" --until "2023-03-15 12:00:00" - 统计排序:
awk '{print $1}' /var/log/auth.log | sort | uniq -c | sort -nr
3.2 自动化分析工具
logwatch:日志摘要工具fail2ban:自动封禁暴力破解IPgoaccess:Web日志分析工具ELK Stack:专业日志分析平台
3.3 关键时间点分析
- 查找异常时间登录:
grep "Accepted" /var/log/auth.log | awk '{print $1,$2,$3}' - 分析非工作时间活动
4. 日志保护与加固
4.1 日志保护措施
- 设置日志文件权限:
chmod 640 /var/log/auth.log chown root:adm /var/log/auth.log - 启用日志远程传输
- 配置日志轮转
4.2 日志篡改检测
- 检查日志文件完整性:
ls -l /var/log/auth.log - 查看日志文件是否被删除重建
- 使用
auditd监控关键日志文件
5. 实战案例分析
5.1 SSH暴力破解分析
- 统计失败登录次数:
grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr - 识别攻击源IP
- 分析攻击时间线
5.2 Web应用攻击分析
- 查找可疑HTTP请求:
grep -E "(union|select|from|where|--|sleep|benchmark)" /var/log/apache2/access.log - 识别攻击路径
- 确定受影响页面
6. 总结
- 日志分析是应急响应的核心环节
- 不同服务日志需采用不同分析方法
- 自动化工具可提高分析效率
- 日志保护与监控同样重要