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) 、Splunk 、Graylog
报表与告警:Logwatch 日报;fail2ban 自动封禁暴力破解来源 IP
日志治理
使用 rsyslog 与 logrotate 做高性能采集与轮转,避免日志被占满或丢失。
五 事件响应与加固要点
立即隔离与取证:限制外联、快照关键日志与内存、保留 auth.log、syslog、audit.log 的时间段证据
阻断与清理:封禁攻击 IP ,下线受影响服务,清理可疑定时任务、启动项与临时脚本
加固配置
SSH:设置 PermitRootLogin no 、限制登录用户、更改默认端口、启用密钥登录
账户与权限:最小权限原则,定期审计 sudoers 与特权账户
系统与软件:执行 apt update && apt upgrade ,启用 unattended-upgrades 自动安全更新
复盘与预防:基于日志建立基线(常见登录时段、来源网段、失败阈值),完善 fail2ban 与 SIEM 规则,定期演练应急响应。