温馨提示×

Ubuntu日志中如何查找恶意活动

小樊
33
2025-12-27 14:55:40
栏目: 智能运维

Ubuntu日志排查恶意活动的实用流程

一 核心日志与定位思路

  • 优先关注以下日志源:/var/log/auth.log(SSH、sudo、登录认证)、/var/log/syslog(系统全局事件)、/var/log/kern.log(内核与驱动)、/var/log/faillog(登录失败统计)、/var/log/audit/audit.log(命令执行与文件访问审计,需安装auditd)、以及 Web 与数据库日志(如 /var/log/nginx/access.log、/var/log/apache2/access.log、/var/log/mysql/error.log)。这些日志能覆盖从暴力破解、提权、Web 攻击到内核异常的主要线索。

二 快速排查命令清单

  • 认证与SSH
    • 查看失败与成功登录:
      • grep “Failed password” /var/log/auth.log
      • grep “Accepted” /var/log/auth.log
    • 聚焦可疑来源IP:grep “sshd.*1.2.3.4” /var/log/auth.log
    • 登录失败汇总:faillog
  • 系统与服务异常
    • 实时查看系统事件:tail -f /var/log/syslog
    • 错误与告警聚合:grep -Ei “error|fail|critical” /var/log/syslog
    • 服务被异常终止/重启:grep “Main process exited.*KILL” /var/log/syslog
  • 内核与底层异常
    • 内核告警与错误:grep -i “security|error” /var/log/kern.log
    • 内核环缓冲:dmesg | grep -i “segfault|oops”
  • Web 攻击线索
    • 目录扫描与探测:grep " 404 " /var/log/nginx/access.log | awk ‘{print $7}’ | sort | uniq -c | sort -nr
    • SQL 注入特征:grep -iE “select|union|insert” /var/log/nginx/access.log
  • 审计与命令执行(需 auditd)
    • 查看执行的命令与会话:ausearch -m USER_CMD,USER_AUTH
    • 敏感文件访问:ausearch -f /etc/passwd;ausearch -f /etc/shadow
  • 实时与历史检索
    • 按时间窗口检索:journalctl --since “2025-12-27 10:00:00” --until “2025-12-27 12:00:00”
    • 按服务检索:journalctl -u ssh --since today
    • 按优先级检索:journalctl --priority=err
  • 一键时间窗口错误统计(示例:最近1小时)
    • timestamp=$(date -d “1 hour ago” +“%b %d %H:%M”)
    • grep “$timestamp” /var/log/syslog | grep -Ei “error|fail|critical”

三 识别常见攻击模式

  • 暴力破解 SSH:短时间内大量 “Failed password” 且来源 IP/端口 快速变化,随后出现 “Accepted” 成功登录,常见于对 root 或弱口令账户的攻击。
  • 篡改关键文件:审计日志出现非授权用户对 /etc/passwd、/etc/shadow 的读取或写入,或系统命令历史异常(如突然出现 wget/curl 下载脚本)。
  • Web 目录扫描与注入:大量 404 伴随非常规路径请求,或访问参数中出现 select/union/insert 等 SQL 特征,以及异常 User-Agent
  • 服务被中断与重启:如 sshd 进程被 KILL 后立即重启,可能用于清理当前会话或掩盖痕迹。
  • 内核异常:出现 segfault、oops 等内核错误,可能意味着被利用的本地漏洞或恶意模块加载。

四 自动化与持续监控

  • 入侵检测与文件完整性
    • 主机 IDS/Rootkit 检测:OSSEC、AIDE、Snort、chkrootkit、rkhunter
    • 文件完整性基线:AIDE 初始化与定期比对(aideinit;aide.wrapper)
  • 审计与取证
    • 启用 auditd 并配置关键路径监控(如 /etc/passwd、/etc/shadow、/usr/bin),使用 ausearch 回溯
  • 日志集中与告警
    • 集中化分析:ELK Stack(Elasticsearch+Logstash+Kibana)SplunkGraylog
    • 报表与告警:Logwatch 日报;fail2ban 自动封禁暴力破解来源 IP
  • 日志治理
    • 使用 rsysloglogrotate 做高性能采集与轮转,避免日志被占满或丢失。

五 事件响应与加固要点

  • 立即隔离与取证:限制外联、快照关键日志与内存、保留 auth.log、syslog、audit.log 的时间段证据
  • 阻断与清理:封禁攻击 IP,下线受影响服务,清理可疑定时任务、启动项与临时脚本
  • 加固配置
    • SSH:设置 PermitRootLogin no、限制登录用户、更改默认端口、启用密钥登录
    • 账户与权限:最小权限原则,定期审计 sudoers 与特权账户
    • 系统与软件:执行 apt update && apt upgrade,启用 unattended-upgrades 自动安全更新
  • 复盘与预防:基于日志建立基线(常见登录时段、来源网段、失败阈值),完善 fail2ban 与 SIEM 规则,定期演练应急响应。

0