应急响应_日志分析篇
字数 1691 2025-08-18 11:38:32

Linux日志分析完全指南

一、Linux日志类型概述

Linux系统中的日志主要分为三大类:

1. 内核及系统日志

  • 由syslog/rsyslog统一管理
  • 配置文件路径:/etc/rsyslog.conf/etc/syslog.conf
  • 记录内核消息和各种系统程序消息

2. 用户日志

  • 记录用户登录及退出系统的相关信息
  • 包括:用户名、登录终端、登录时间、来源主机、进程操作等

3. 程序日志

  • 由应用程序自行管理,不通过syslog服务
  • 日志格式因程序而异,差异较大

二、关键日志文件及其位置

Linux系统日志一般存放在/var/log/目录下,以下是重要日志文件:

日志文件 用途描述
/var/log/messages 记录内核消息及应用程序的公共日志信息,包括启动、IO错误、网络错误等
/var/log/cron 记录crond计划任务产生的事件消息
/var/log/dmesg 记录系统引导过程中的各种事件信息
/var/log/maillog 记录电子邮件活动
/var/log/lastlog 记录最近几次成功登录和最后一次失败登录事件
/var/log/rpmpkgs 记录系统中安装的rpm包列表信息
/var/log/secure 记录用户登录认证过程中的事件信息(应急响应中最常用)
/var/log/wtmp 记录用户登录、注销及系统启动/停机事件(二进制格式)
/var/log/utmp 记录当前登录用户的详细信息(二进制格式)

三、日志分析方法

1. 文本日志分析工具

对于文本格式日志(如messages、secure等):

  • tail:查看日志尾部
  • more/less:分页查看
  • cat:查看全部内容
  • grep:查找特定内容

2. 二进制日志分析工具

对于二进制格式日志(如wtmp、utmp):

  • last:查看wtmp日志
  • w/who:查看utmp日志
  • lastlog:显示所有用户最近一次登录信息

四、安全日志分析实战

1. 分析SSH暴力破解

# 定位爆破root账号的IP及次数
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

# 提取所有爆破IP
grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c

# 分析爆破使用的用户名
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr

2. 分析成功登录

# 登录成功的IP及次数
grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more

# 登录成功的详细信息(日期、用户名、IP)
grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'

3. 用户账户变更监控

# 监控用户添加
grep "useradd" /var/log/secure

# 监控用户删除
grep "userdel" /var/log/secure

4. 二进制日志分析

# 查看wtmp日志(用户登录历史)
last

# 查看特定时间前的登录记录
last -t 20190426120950

# 查看当前登录用户
w
who

# 查看所有用户最近登录时间
lastlog

五、Web应用日志分析

Web服务器日志(如access_log、error_log)可记录攻击者行为:

  • 目录枚举攻击痕迹
  • 漏洞利用尝试
  • 后门文件上传
  • SQL注入尝试

分析示例:

# 提取攻击者访问路径
grep -E -o "/[a-zA-Z0-9_\-]+/" access.log | sort | uniq -c | sort -nr

六、日志分析工具推荐

1. 商业平台

  • 360星图
  • Splunk(机器数据引擎)
  • 赛克蓝德SeciLog
  • 日志易
  • 瀚思安全易
  • LogInsight
  • 江南天安彩虹WEB攻击溯源平台

2. 开源项目

  • ELK Stack(Elasticsearch+Logstash+Kibana)
  • Scribe(Facebook)
  • Chukwa(Apache)
  • Kafka
  • Flume(Cloudera)

七、日志分析高级技巧

  1. 日志清理检测:突然缺失的日志时间段可能表明攻击者清理了日志

  2. 时间线分析:建立攻击时间线,还原攻击路径

  3. 多源日志关联:结合系统日志、应用日志、安全设备日志进行综合分析

  4. 异常行为检测

    • 非工作时间登录
    • 异常地理位置登录
    • 特权账户异常操作
  5. 持久化检测

    • 异常cron任务
    • 异常启动项
    • 隐藏后门账户

八、日志管理最佳实践

  1. 集中化存储:将多台服务器的日志集中存储,防止本地日志被篡改

  2. 日志轮转:配置logrotate防止日志文件过大

  3. 访问控制:严格限制日志文件的访问权限

  4. 完整性保护:使用数字签名或哈希值验证日志完整性

  5. 长期归档:重要日志长期保存,满足合规要求

九、总结

日志分析是安全应急响应的核心环节,通过分析可以:

  1. 发现正在发生的攻击
  2. 还原攻击路径
  3. 识别攻击者关心的系统资源
  4. 发现已知或未知的攻击方法
  5. 为后续防御提供依据

随着大数据技术的发展,日志分析正从传统的手工分析向自动化、智能化方向发展,数据驱动安全已成为必然趋势。

Linux日志分析完全指南 一、Linux日志类型概述 Linux系统中的日志主要分为三大类: 1. 内核及系统日志 由syslog/rsyslog统一管理 配置文件路径: /etc/rsyslog.conf 或 /etc/syslog.conf 记录内核消息和各种系统程序消息 2. 用户日志 记录用户登录及退出系统的相关信息 包括:用户名、登录终端、登录时间、来源主机、进程操作等 3. 程序日志 由应用程序自行管理,不通过syslog服务 日志格式因程序而异,差异较大 二、关键日志文件及其位置 Linux系统日志一般存放在 /var/log/ 目录下,以下是重要日志文件: | 日志文件 | 用途描述 | |---------|---------| | /var/log/messages | 记录内核消息及应用程序的公共日志信息,包括启动、IO错误、网络错误等 | | /var/log/cron | 记录crond计划任务产生的事件消息 | | /var/log/dmesg | 记录系统引导过程中的各种事件信息 | | /var/log/maillog | 记录电子邮件活动 | | /var/log/lastlog | 记录最近几次成功登录和最后一次失败登录事件 | | /var/log/rpmpkgs | 记录系统中安装的rpm包列表信息 | | /var/log/secure | 记录用户登录认证过程中的事件信息(应急响应中最常用) | | /var/log/wtmp | 记录用户登录、注销及系统启动/停机事件(二进制格式) | | /var/log/utmp | 记录当前登录用户的详细信息(二进制格式) | 三、日志分析方法 1. 文本日志分析工具 对于文本格式日志(如messages、secure等): tail :查看日志尾部 more / less :分页查看 cat :查看全部内容 grep :查找特定内容 2. 二进制日志分析工具 对于二进制格式日志(如wtmp、utmp): last :查看wtmp日志 w / who :查看utmp日志 lastlog :显示所有用户最近一次登录信息 四、安全日志分析实战 1. 分析SSH暴力破解 2. 分析成功登录 3. 用户账户变更监控 4. 二进制日志分析 五、Web应用日志分析 Web服务器日志(如access_ log、error_ log)可记录攻击者行为: 目录枚举攻击痕迹 漏洞利用尝试 后门文件上传 SQL注入尝试 分析示例: 六、日志分析工具推荐 1. 商业平台 360星图 Splunk(机器数据引擎) 赛克蓝德SeciLog 日志易 瀚思安全易 LogInsight 江南天安彩虹WEB攻击溯源平台 2. 开源项目 ELK Stack(Elasticsearch+Logstash+Kibana) Scribe(Facebook) Chukwa(Apache) Kafka Flume(Cloudera) 七、日志分析高级技巧 日志清理检测 :突然缺失的日志时间段可能表明攻击者清理了日志 时间线分析 :建立攻击时间线,还原攻击路径 多源日志关联 :结合系统日志、应用日志、安全设备日志进行综合分析 异常行为检测 : 非工作时间登录 异常地理位置登录 特权账户异常操作 持久化检测 : 异常cron任务 异常启动项 隐藏后门账户 八、日志管理最佳实践 集中化存储 :将多台服务器的日志集中存储,防止本地日志被篡改 日志轮转 :配置logrotate防止日志文件过大 访问控制 :严格限制日志文件的访问权限 完整性保护 :使用数字签名或哈希值验证日志完整性 长期归档 :重要日志长期保存,满足合规要求 九、总结 日志分析是安全应急响应的核心环节,通过分析可以: 发现正在发生的攻击 还原攻击路径 识别攻击者关心的系统资源 发现已知或未知的攻击方法 为后续防御提供依据 随着大数据技术的发展,日志分析正从传统的手工分析向自动化、智能化方向发展,数据驱动安全已成为必然趋势。