统计失败登录来源与联动封禁
服务器被暴力破解时,认证日志里会留下大量失败记录。排查的第一步不是马上封地址,而是先统计:失败来源排行、被尝试的用户名排行、尝试次数与时间分布。看清攻击面之后再决定处置方式——交给自动封禁工具按策略拦截,或者手动加临时拒绝规则。这一步做对了,处置才不会误伤正常的运维来源。
基本信息
| 适用平台 | GNU/Linux(认证日志与防火墙工具) |
|---|---|
| 数据来源 | 认证日志、安全日志或日志服务 |
| 统计对象 | 失败登录的来源地址与用户名 |
| 联动手段 | 自动封禁工具或防火墙拒绝规则 |
| 处置顺序 | 先统计后处置 |
| 注意 | 封禁前排除正常出口地址 |
典型使用场景
- 服务器被大规模爆破时快速看清来源分布。
- 排查登录失败激增是否集中在少量来源地址。
- 评估是否需要调整认证策略(改用密钥登录、限制来源)。
- 给安全事件报告提供统计证据。
- 验证自动封禁工具是否按预期拦截。
统计与联动
统计与联动
grep 'Failed password' /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -rn | head
grep 'Failed password' /var/log/auth.log | awk '{for(i=1;i<=NF;i++) if($i=="for") print $(i+1)}' | sort | uniq -c | sort -rn | head
journalctl -u sshd --since '24 hours ago' | grep -c 'Failed password'
firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=203.0.113.7 reject'
fail2ban-client status sshd
ssh sample-host uptime # 确认加规则后正常运维仍可用统计对象与方向
| 统计对象 | 含义 | 处置方向 |
|---|---|---|
| 失败来源排行 | 攻击来源集中度 | 集中时优先按地址拦截 |
| 失败用户名排行 | 被尝试的账户名 | 常见于猜测默认账户 |
| 次数与时间分布 | 攻击强度与节奏 | 突增时配合告警关注 |
| 成功登录记录 | 正常访问与可能的入侵 | 异常来源的成功登录要重点看 |
| 自动封禁状态 | 拦截是否生效 | 查看当前封禁列表 |
| 正常运维来源 | 以免误封 | 封禁前先排除这些地址 |
统计口径要以本机实际日志格式为准:不同发行版与认证实现的字段位置不同,直接照搬列号容易取到错误内容,先取样确认再统计。
处置必须包含封禁与策略加固两部分:只清日志不封禁等于放任,只封禁不加固认证方式则攻击会换来源继续。
封禁前先排除办公出口与监控来源地址,避免把自己挡在门外;加完规则立即用正常来源验证一次登录可用性。