尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

实战复盘——应急响应之Linux SSH暴力破解日志深度追踪

实战复盘——应急响应之Linux SSH暴力破解日志深度追踪 1. 从告警到定位SSH暴力破解的蛛丝马迹那天下午3点我正在喝咖啡突然手机连续震动——Zabbix监控平台弹出了5条SSH登录失败告警。作为运维老鸟我立刻意识到服务器可能正在遭受暴力破解攻击。放下杯子我迅速通过跳板机连上那台CentOS服务器直奔/var/log/secureRHEL系和/var/log/auth.logDebian系这两个关键日志文件。第一步永远是确认攻击规模。我用了这个组合命令快速扫描grep Failed password /var/log/auth.log | awk {print $11} | sort | uniq -c | sort -nr输出结果让我倒吸一口冷气142 203.34.56.78 89 198.51.100.23 32 45.33.21.67这三个IP在短时间内对root账户发起数百次尝试。特别注意203.34.56.78这个IP它在10分钟内尝试了142次典型的暴力破解特征。2. 攻击者得手了吗成功登录溯源看到暴力破解记录后最紧迫的问题是攻击者是否成功登陆我立即检索成功登录记录grep Accepted password /var/log/auth.log | awk {print $11}结果显示198.51.100.23这个IP在大量失败尝试后竟然有一条成功记录。更糟糕的是日志显示攻击者使用的是密码认证而非密钥登录Jun 15 14:23:45 server sshd[12345]: Accepted password for root from 198.51.100.23 port 54321 ssh2这时候必须立即做三件事立即封锁该IPiptables -A INPUT -s 198.51.100.23 -j DROP强制root下线pkill -KILL -u root检查当前登录会话who -a和lastb3. 还原攻击者的字典策略分析攻击者使用的用户名字典能帮助我们评估风险范围。这个命令可以提取所有被尝试的用户名grep Failed password /var/log/auth.log | perl -nle print $1 if /for (.?) from/ | sort | uniq -c | sort -nr输出揭示了攻击者的策略120 root 35 admin 28 oracle 22 test 18 user攻击者显然采用了混合字典先尝试默认账户(root/admin)再测试常见系统账户(oracle)最后用通用名词(user/test)。这种组合比纯随机尝试成功率更高。4. 攻击时间线重建与统计通过时间戳分析可以掌握攻击节奏。我使用awk生成攻击时间分布图grep Failed password /var/log/auth.log | awk {print $1,$2,$3,$11} | sort -k4 -k1M -k2n输出显示攻击呈现波浪式特征Jun 15 14:00:01 203.34.56.78 Jun 15 14:00:03 198.51.100.23 Jun 15 14:00:05 45.33.21.67 ... Jun 15 14:15:00 198.51.100.23 (成功登录)攻击源在14:00-14:15期间保持每秒3次尝试的高频攻击成功突破后立即停止显然是自动化工具操控。5. 后门用户深度排查根据经验攻击者得手后常会创建后门账户。我检查了三个关键点用户配置文件扫描awk -F: $31000 {print $1} /etc/passwd # 查看普通用户 grep useradd /var/log/auth.log* # 检查用户创建记录sudo权限审计grep -v -E ^#|^$|^root /etc/sudoers # 检查非root的sudo权限SSH密钥排查ls -la /home/*/.ssh/authorized_keys # 检查用户SSH密钥最终在/etc/passwd中发现异常用户backdoor:x:1001:1001::/home/backdoor:/bin/bash该用户的创建时间与攻击时间吻合且属于staff用户组——这是攻击者常用的伪装手段。6. 应急响应完整方案基于分析结果我立即执行了完整处置流程隔离攻击源iptables -A INPUT -s 198.51.100.23 -j DROP iptables-save /etc/sysconfig/iptables清除后门userdel -r backdoor rm -f /home/backdoor/.ssh/authorized_keys加固SSHsed -i s/#PasswordAuthentication yes/PasswordAuthentication no/ /etc/ssh/sshd_config echo AllowUsers admin /etc/ssh/sshd_config systemctl restart sshd启用二次验证yum install google-authenticator -y google-authenticator -t -d -f -r 3 -R 30 -w 3这次事件让我再次认识到日志分析不是简单的命令堆砌。真正的功力在于从时间戳的微妙间隔发现自动化攻击特征从用户名排列规律推测攻击工具类型从登录行为变化预判攻击者意图。每次应急响应都是与攻击者的隔空对话而日志就是记录这场对话的密码本。
返回列表