如何利用Auth日志分析新手识别服务器遭受的暴力破解攻击?
- 内容介绍
- 相关推荐
本文共计745个文字,预计阅读时间需要3分钟。
直接查看日志文件 /var/log/auth.log(Ubuntu/Debian)或 /var/log/secure(CentOS/RHEL),破坏痕迹会隐藏在失败的登录尝试记录中,无需报警响应——只需日志中有规则地刷新Failed password条目,攻击行为就会在尝试中暴露。
快速定位爆破IP和频率
执行这条命令就能筛出最可疑的来源:
grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | head -10输出类似:
247 192.168.200.2189 203.124.55.88
156 114.119.120.33
说明这些IP在短时间内密集尝试登录。超过50次/分钟基本可判定为自动化爆破;若单IP超200次,大概率已启用字典工具(如Hydra或Medusa)。
识别攻击者用的用户名套路
爆破不是乱猜,而是有固定字典偏好。提取所有被尝试的用户名看看:
grep "Failed password" /var/log/auth.log | perl -ne'print "$1\n" if /for (.*?) from/' | sort | uniq -c | sort -nr | head -10常见结果包括:root、admin、test、user、hello、ubuntu、centos、oracle。其中:
- root 出现最多,说明攻击者优先打系统最高权限账户
- test/test1/test2 高频出现,反映其针对开发测试环境的习惯
- hello、admin、user 这类弱通用名,常搭配默认密码(如 admin/admin)使用
判断是否已有成功登录(最危险信号)
爆破本身不等于入侵,但一旦成功,风险陡增。立即检查有没有“Accepted”记录:
grep "Accepted password" /var/log/auth.log | tail -10如果发现类似这样的行:
May 1 17:22:41 server sshd[18923]: Accepted password for root from 192.168.200.2 port 54321 ssh2必须立刻行动:
- 封禁该IP(
iptables -A INPUT -s 192.168.200.2 -j DROP或用fail2ban) - 检查该用户最近执行了哪些命令(
last -a | grep root、history若还能进) - 重置密码并禁用密码登录(改用密钥认证)
注意时间与端口的异常模式
真实爆破日志往往带节奏感,不是均匀刷屏。留意这些特征:
- 同一IP连续失败,但每次源端口递增(如
port 54321→54322→54323),是工具自动新建连接的典型表现 - 集中在凌晨2–5点,避开运维活跃时段,属于“低慢小”隐蔽攻击
- 失败记录之间间隔稳定(如每3秒一条),说明脚本未加随机延时
这些细节比单纯数次数更能确认攻击性质。
本文共计745个文字,预计阅读时间需要3分钟。
直接查看日志文件 /var/log/auth.log(Ubuntu/Debian)或 /var/log/secure(CentOS/RHEL),破坏痕迹会隐藏在失败的登录尝试记录中,无需报警响应——只需日志中有规则地刷新Failed password条目,攻击行为就会在尝试中暴露。
快速定位爆破IP和频率
执行这条命令就能筛出最可疑的来源:
grep "Failed password" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | head -10输出类似:
247 192.168.200.2189 203.124.55.88
156 114.119.120.33
说明这些IP在短时间内密集尝试登录。超过50次/分钟基本可判定为自动化爆破;若单IP超200次,大概率已启用字典工具(如Hydra或Medusa)。
识别攻击者用的用户名套路
爆破不是乱猜,而是有固定字典偏好。提取所有被尝试的用户名看看:
grep "Failed password" /var/log/auth.log | perl -ne'print "$1\n" if /for (.*?) from/' | sort | uniq -c | sort -nr | head -10常见结果包括:root、admin、test、user、hello、ubuntu、centos、oracle。其中:
- root 出现最多,说明攻击者优先打系统最高权限账户
- test/test1/test2 高频出现,反映其针对开发测试环境的习惯
- hello、admin、user 这类弱通用名,常搭配默认密码(如 admin/admin)使用
判断是否已有成功登录(最危险信号)
爆破本身不等于入侵,但一旦成功,风险陡增。立即检查有没有“Accepted”记录:
grep "Accepted password" /var/log/auth.log | tail -10如果发现类似这样的行:
May 1 17:22:41 server sshd[18923]: Accepted password for root from 192.168.200.2 port 54321 ssh2必须立刻行动:
- 封禁该IP(
iptables -A INPUT -s 192.168.200.2 -j DROP或用fail2ban) - 检查该用户最近执行了哪些命令(
last -a | grep root、history若还能进) - 重置密码并禁用密码登录(改用密钥认证)
注意时间与端口的异常模式
真实爆破日志往往带节奏感,不是均匀刷屏。留意这些特征:
- 同一IP连续失败,但每次源端口递增(如
port 54321→54322→54323),是工具自动新建连接的典型表现 - 集中在凌晨2–5点,避开运维活跃时段,属于“低慢小”隐蔽攻击
- 失败记录之间间隔稳定(如每3秒一条),说明脚本未加随机延时
这些细节比单纯数次数更能确认攻击性质。

