解读 Linux 安全日志,核心目的通常是:判断系统是否遭受攻击、是否有异常登录、权限是否被滥用、以及追踪安全事件源头。下面从「日志位置 → 常用日志类型 → 关键字段解读 → 实战分析方法」系统讲一下。
不同发行版略有差异:
/var/log/secure:SSH、sudo、登录、PAM 相关/var/log/messages:系统级消息(含部分安全信息)/var/log/audit/audit.log:auditd 审计日志(重点)journalctl
journalctl -u sshd
journalctl _COMM=sshd
| 文件 | 作用 |
|---|---|
/var/log/secure |
登录、sudo、SSH |
/var/log/auth.log |
Ubuntu 的认证日志 |
/var/log/audit/audit.log |
内核级审计 |
/var/log/wtmp |
登录历史(last) |
/var/log/btmp |
失败登录(lastb) |
/var/log/faillog |
用户失败登录记录 |
Jun 12 03:21:09 server sshd[1234]: Failed password for root from 1.2.3.4 port 5678 ssh2
解读:
Failed password → 登录失败root → 尝试用户名1.2.3.4 → 来源 IP查看暴力 IP:
grep "Failed password" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr
Jun 12 04:10:22 server sshd[2001]: Accepted password for user1 from 5.6.7.8 port 2222 ssh2
关注点:
Jun 12 04:15:01 server sudo: user1 : TTY=pts/0 ; PWD=/home/user1 ; USER=root ; COMMAND=/bin/bash
解读:
USER=root → 提权COMMAND → 执行了什么last # 正常登录历史
lastb # 失败登录
lastlog # 每个用户最后登录时间
示例:
last | head
lastb | head
ausearch -m USER_LOGIN
ausearch -m USER_AUTH
type=PATH msg=audit(...): name="/etc/passwd" perm=wa
表示:
/bin/bash、/bin/shgrep "Failed password" /var/log/secure | wc -l
grep "new user" /var/log/secure
netstat -antp
ps auxf
如果你愿意,可以:
我可以直接帮你“逐行翻译 + 风险判断”。