|
这里或许是互联网从业者的最后一片净土,随客社区期待您的加入!
您需要 登录 才可以下载或查看,没有账号?立即注册
×
在日常运维中,出口带宽的稳定性直接影响到业务访问体验。尤其是对于有公网 IP 的服务器,如果出现带宽占用异常飙高,很可能是业务本身异常、被恶意攻击,甚至是服务器被入侵利用进行对外发送数据(DDoS、扫描、挖矿通信等)。
这篇文章分享一次我处理 出口带宽异常被滥用 的完整排查过程。
1. 问题背景
某业务节点在凌晨突然触发监控告警,出口带宽长期跑满(100Mbps 已被打满),导致正常业务访问缓慢甚至中断。
通过 FunCDN 和机房的监控图,可以看到出方向流量持续拉满,而入方向正常。初步怀疑为:
业务数据异常发送(大文件同步/日志泄露)
服务器被入侵,作为肉鸡对外发包
应用层被劫持,流量转发到外部
2. 初步定位
2.1 查看实时网络流量
发现有多个陌生 IP(境外地址)在大量占用带宽,端口多为 TCP 25、SMTP 及 高位随机端口。
初步怀疑是发垃圾邮件或进行扫描。
2.2 使用 nload 确认流量方向
出口(TX)一直接近物理带宽上限,入口(RX)正常 → 确认是 服务器主动发送数据。
3. 深入分析
3.1 使用 netstat 或 ss 查看连接
发现大量外连连接,部分进程为 未知二进制,路径为 /tmp/.x123,并且是 root 权限运行。
3.2 查找对应进程
- ps -fp <PID>
- ls -l /proc/<PID>/exe
复制代码 确认该进程是个恶意 ELF 文件,并且在 /tmp 目录下。结合端口特征,基本确认是入侵后放置的发包程序。
4. 溯源与清理
4.1 查看系统登录记录
发现多次境外 IP 的 SSH 登录记录,并且使用的是弱口令账户(root / 简单密码)。
4.2 杀掉恶意进程并清理文件
- kill -9 <PID>
- rm -f /tmp/.x123
复制代码 同时检查 crontab、/etc/rc.local、~/.bashrc 等地方是否有恶意启动项。
4.3 关闭对外不必要端口
- firewall-cmd --permanent --remove-service=smtp
- firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=恶意IP drop'
- firewall-cmd --reload
复制代码
5. 加固防御
1. 修改 SSH 端口:避免使用默认 22
2. 禁止 root 直接登录:改为普通用户 + sudo
3. 开启防爆破:如 fail2ban
4. 限制出方向流量:iptables 限制特定端口的对外连接
5. 定期巡检:监控流量异常并邮件告警
6. 总结
出口带宽被打满并不一定是外部攻击,更多时候是 内部进程在主动发包,可能是业务配置错误,也可能是入侵利用。
排查思路可归纳为:
1. 确认方向:是出口还是入口流量异常
2. 找连接:iftop、ss 定位目标 IP 和端口
3. 查进程:找出具体进程和可执行文件
4. 分析溯源:查看登录记录、定时任务、启动项
5. 清理与加固:杀进程、删文件、封端口、改密码
建议:如果你的服务器是云主机,可以直接在云厂商的安全组层面限制可疑端口;如果是物理机,iptables 和硬件防火墙结合使用效果更好。
|
|