首页/安全/取证与溯源速查/失败来源 IP 聚合与情报比对
Linux 取证135 条

失败来源 IP 聚合与情报比对

把爆破来源聚合后再与威胁情报或历史记录比对:命中已知恶意地址可加快定性,未命中也不代表安全。

取证与溯源速查安全更新于 2026-10-13

先聚合再比对

面对海量失败认证记录,逐条看没有意义。做法是先按来源地址聚合,统计每个地址的尝试次数与时间跨度,得到一份高频来源清单;再把这些地址拿去与威胁情报平台或本单位的历史告警记录比对。命中已知恶意地址可以加快定性速度,但要注意,未命中并不能说明该地址是安全的。

私网地址说明经过了转换

如果聚合结果里的来源地址是私网地址,说明日志记录的位置在 NAT 或代理之后:真正的外部来源被网关地址掩盖了。这种情况需要向网络团队索取转换映射表或对应时段的上层设备日志,才能继续追查。反之,公网地址仍需谨慎对待共享出口的情况。

基本信息

适用平台Linux(日志处理命令组合)
聚合命令grep 提取地址后配合 sort、uniq -c、sort -rn
比对对象威胁情报平台、本单位历史告警、封禁名单
私网情形说明经过 NAT 或代理,需上层设备日志
输出高频来源清单与时间跨度、对应尝试的用户名集合

典型使用场景

  • 内部情报积累:把本次事件的来源地址加入本单位观察名单
  • 判断攻击来源结构:区分单源持续尝试与多源分布式尝试
  • 评估封禁优先级:按尝试次数与涉及账号确定处置顺序
  • 验证情报价值:把情报命中情况与实际行为强度对照
  • 为报告取证:附上聚合命令与统计结果,数字可复算

聚合失败来源

聚合失败来源
# 提取来源地址并统计出现次数
awk '/Failed password|Failed publickey/ {print $(NF-3)}' /var/log/auth.log | \
  sort | uniq -c | sort -rn | head -20

# 另一种写法:直接从 from 字段提取地址
grep -oE 'from [0-9a-fA-F:.]+ port' /var/log/auth.log | awk '{print $2}' | \
  sort | uniq -c | sort -rn | head -20

# 找出高频地址尝试过的用户名集合
for ip in 203.0.113.9 198.51.100.7; do
  printf '== %s\n' "$ip"
  grep "from $ip" /var/log/auth.log | awk '{print $(NF-5)}' | sort -u | head -10
done

# 私网来源说明经过转换,需要上层设备日志
awk '/Failed password/ {print $(NF-3)}' /var/log/auth.log | grep -E '^(10\.|192\.168\.|172\.)' | sort -u | head

聚合结果读法

表现可能含义下一步
单地址尝试上千次定向爆破或自动化工具优先封禁并核查是否成功登录
多地址低频尝试分布式或多层代理关注尝试的账号与时间分布
地址集中在同一网段同一来源或云区域按网段整体评估影响
私网地址高频出现经过 NAT 或代理索取转换映射表追查出口
尝试用户名高度集中针对特定账号检查该账号的安全状态
情报命中不等于本次攻击由该组织发起:共享地址、被劫持主机、云出口都会造成误归因,报告中的表述要限定在「地址曾与已知恶意活动关联」这一层级。
云主机出口地址常被多个租户共享,同一个地址在不同时间的行为可能毫无关联;结合时间窗与实际行为判断,避免过度解读。

易错点

  • 未命中情报就认为安全:大量攻击来源不在公开情报库中
  • 情报命中直接归因组织:共享地址会造成严重误判
  • 私网地址直接放弃追查:其实可以通过上层设备还原真实出口
  • 只统计次数不看用户名分布:遗漏「针对特定账号」这一关键特征
  • 统计口径不统一:不同段落用不同字段提取,结果无法互相印证

数据来源与参考

  • MITRE ATT&CK(Brute Force 技术条目)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌