新手分析/var/log/auth.log无需通读,应聚焦“invalid user”“failed password”“accepted”三类关键词及异常时间/ip,结合sudo awk命令快速统计高频攻击ip并核查可疑成功登录。

新手看 /var/log/auth.log 不用从头读完,重点盯住几类关键词和时间规律,就能快速识别扫描和暴力破解痕迹。
先确认日志路径和权限
Debian/Ubuntu 系统默认用 /var/log/auth.log;RHEL/CentOS 用 /var/log/secure。运行以下命令确认:
-
cat /etc/os-release | grep PRETTY_NAME查发行版 -
sudo ls -l /var/log/auth.log /var/log/secure 2>/dev/null看哪个文件存在且非空 - 必须加
sudo才能读,否则会提示“Permission denied”
三类典型扫描行为的特征行
打开日志后,直接搜下面这些模式,每种都对应一种常见攻击手法:
-
“Invalid user”:攻击者在猜用户名,比如
Invalid user admin from 203.0.113.45—— 这个IP大概率是扫描器,不是真实用户 - “Failed password for root” 或 “Failed password for [已知用户名]”:如果同一IP在几分钟内出现5次以上失败记录,基本可判定为暴力破解
- “Connection closed by authenticating user” 或 “kex_exchange_identification: Connection closed by remote host”:有些扫描工具(如 masscan)只发握手不认证,也会留下这类日志,需结合来源IP频率判断
用一条命令揪出可疑IP
不用人工翻页,执行这行命令就能统计出最近高频尝试登录的IP:
sudo awk '/Failed password|Invalid user/ {print $(NF-3)}' /var/log/auth.log 2>/dev/null | sort | uniq -c | sort -nr | head -10
输出类似:
-
47 198.51.100.22→ 该IP失败了47次,优先封禁 -
12 203.0.113.8→ 次要关注,可能在试探弱口令
注意:$(NF-3) 是取倒数第4字段,对标准格式日志准确提取IPv4;若遇到IPv6或NAT环境,可改用 awk '{for(i=1;i
别忽略“Accepted”里的异常信号
成功登录不等于安全。重点检查这些情况:
- 登录时间异常:比如凌晨3点有
Accepted password for user1 from 185.143.222.11,而该用户白天从不登录 - IP不在白名单:你内部办公网段是
10.10.0.0/16,但日志里出现Accepted publickey for deploy from 142.93.128.77 - 用户+密钥组合可疑:比如
Accepted publickey for root出现多次,而你明确禁止了root密钥登录(PermitRootLogin no)
查最新成功登录:sudo grep "Accepted" /var/log/auth.log | tail -20,再逐条核对IP和时间是否合理。











