如何利用Auth日志分析新手识别服务器遭受的暴力破解攻击?

2026-05-07 19:301阅读0评论SEO资源
  • 内容介绍
  • 相关推荐

本文共计745个文字,预计阅读时间需要3分钟。

如何利用Auth日志分析新手识别服务器遭受的暴力破解攻击?

直接查看日志文件 /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.2
  189 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 roothistory 若还能进)
  • 重置密码并禁用密码登录(改用密钥认证)

注意时间与端口的异常模式

真实爆破日志往往带节奏感,不是均匀刷屏。留意这些特征:

  • 同一IP连续失败,但每次源端口递增(如 port 543215432254323),是工具自动新建连接的典型表现
  • 集中在凌晨2–5点,避开运维活跃时段,属于“低慢小”隐蔽攻击
  • 失败记录之间间隔稳定(如每3秒一条),说明脚本未加随机延时

这些细节比单纯数次数更能确认攻击性质。

本文共计745个文字,预计阅读时间需要3分钟。

如何利用Auth日志分析新手识别服务器遭受的暴力破解攻击?

直接查看日志文件 /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.2
  189 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 roothistory 若还能进)
  • 重置密码并禁用密码登录(改用密钥认证)

注意时间与端口的异常模式

真实爆破日志往往带节奏感,不是均匀刷屏。留意这些特征:

  • 同一IP连续失败,但每次源端口递增(如 port 543215432254323),是工具自动新建连接的典型表现
  • 集中在凌晨2–5点,避开运维活跃时段,属于“低慢小”隐蔽攻击
  • 失败记录之间间隔稳定(如每3秒一条),说明脚本未加随机延时

这些细节比单纯数次数更能确认攻击性质。