故事背景:
xinren有一天突然想自己搭一个中转站供自己使用,于是使用newapi的模版来做了自己的网站,之后使用docker容器打包放到了云服务器上。
除了这个网站部署以外,xinren为了能让claudecode使用gpt模型于是也部署了Openai2Anthropic做一下openai与anthropic接口的转换.
而xinren还想用claude系列的模型,于是将自己的cursor会员通过opencode-cursor反代出来使用,而claude系列模型又只能通过科学上网来使用,所以他配置了sing-box作为代理,而问题就出现在这
在有一天xinren突然发现中转站打不开了,ssh也连不上了,只能去服务器提供商那里去查看,结果发现整整1500G流量都被耗尽了
攻击路径
攻击者 → 你的服务器:7890 (sing-box 开放代理) → 互联网目标IP ↑ ↑ 无认证,无防火墙 大量出站连接关键配置缺陷(AI干的好事)
/etc/sing-box/config.json 实际配置:
"inbounds": [{ "type": "mixed", "listen": "0.0.0.0", // ← 对外暴露 "listen_port": 7890 // ← 无认证}],"route": { "rules": [{ "domain_suffix": ["openai.com", "chatgpt.com", "anthropic.com", ...], "outbound": "proxy" }], "final": "direct" // ← 所有其他流量直接出站 = 开放代理}问题:
listen: "0.0.0.0"— 监听所有网卡,对外暴露- 无认证机制 — 任何人可连接
final: "direct"— 不匹配域名规则的流量直接出站,等于开放代理- 防火墙未限制7890端口(iptables INPUT 策略为 ACCEPT,无规则)
攻击类型分析
类型1:互联网大规模扫描(主要流量消耗,~80%)
攻击者通过开放代理向大量随机IP和端口发起连接,利用你的服务器作为跳板进行反射扫描——隐藏攻击者自身IP,用你的IP去探测其他网络。
实际日志样本(扫描型)
2026-05-03T00:01:06.784 sing-box[780]: connection: open outbound connection: dial tcp 31.148.248.140:7547: i/o timeout2026-05-03T00:01:06.786 sing-box[780]: connection: open outbound connection: dial tcp 31.148.249.1:8728: i/o timeout特征:同一秒内发起大量连接,目标IP随机,端口随机,均以5秒超时结束。
峰值攻击速率
| 指标 | 数值 |
|---|---|
| 峰值连接速率 | 2,711 次/秒(4月17日 02:24) |
| 次高峰 | 2,564 次/秒(4月16日 16:06) |
| 稳态扫描 | ~25 次/秒(4月下旬-5月) |
被扫描最多的目标端口
重点发现:端口7547(TR-069)占扫描总量的40%(428万次),这是Mirai僵尸网络变种的典型行为——专门扫描ISP路由器的远程管理端口。其次是80端口(103万次)和2000端口(65万次)。你的服务器正在被用来参与物联网僵尸网络扫描活动。
目标IP网段分布(May 3-10 数据)
扫描目标以荷兰(95.47/95.46,共453万次)和俄罗斯(31.148/91.238/91.103/213.108,共261万次)为主,哈萨克斯坦93.170段也有196万次。
类型2:代理中转滥用(长时间连接,~15%)
部分攻击者将代理用于流量中转(下载/种子/P2P),产生长时间大流量连接。
实际日志样本(中转型)
2026-05-03T00:43:24 sing-box[780]: connection: connection download closed: close tcp4 43.255.156.168:7890->51.75.128.85:25252 [持续 23m49s]特征:从你的服务器7890端口出发,连接到特定IP,持续数分钟到半小时不等。
中转连接时长分布
绝大多数中转连接持续 5-10分钟(39.7%)和 20-25分钟(30.9%),两者合计占70.6%,典型的BT下载/代理翻墙行为模式。
主要中转目标
91.148.240.213(俄罗斯)独占 1,545次 中转连接,远超其他目标。这些IP多为VPS/托管服务商,中转流量很可能为BT下载或代理翻墙使用。
类型3:协议探测(少量,~5%)
自动化扫描器直接向7890端口发送各种协议握手,试图发现可利用的服务。
实际日志样本
TLS探测 — 尝试HTTPS连接:
2026-05-03T17:38:57 sing-box[780]: inbound/mixed[mixed-in]: process connection from 172.104.11.46:31762: read http request: malformed HTTP request "\x16\x03\x01..." (TLS ClientHello)Oracle TNS探测 — 数据库攻击:
2026-05-08T08:58:43 sing-box[780]: inbound/mixed[mixed-in]: process connection from 173.255.221.189:50927 [持续 22m0s]: read http request: malformed HTTP request "...(DESCRIPTION=(CONNECT_DATA=(CID=(PROGRAM=lzrORA))))"SOCKS5状态查询 — 代理探测:
2026-05-08T08:37:26 sing-box[780]: inbound/mixed[mixed-in]: process connection from 173.255.221.189:50928: read http request: malformed HTTP request "stats"RDP暴力破解 — 远程桌面:
2026-05-06T05:29:52 sing-box[780]: inbound/mixed[mixed-in]: process connection from 118.194.251.17:12608: read http request: malformed HTTP request "t3 12.1.2"二进制协议探测:
2026-05-08T08:38:57 sing-box[780]: inbound/mixed[mixed-in]: process connection from 173.255.221.189:50935: read http request: malformed HTTP request "\x03\x00\x00\x16\x11\xe0..." (可能是RDP/远程过程调用协议)四、攻击时间线与流量测算
4月攻击量统计
4月16-17日为攻击高峰,16日单日连接数达 2,050万(估算129GB流量),17日 1,073万(~67GB)。之后回落至约200万/天的持续扫描状态。
4月16-17日峰值时间线
4月16日16:06达到 2,564次/秒 峰值,4月17日凌晨02:24再创新高 2,711次/秒(每分钟16.3万次连接)。
5月sar实测数据(验证估算)
稳态扫描日(3-4日、7-8日)入站约 100 kB/s,日流量约 12-13 GB。5月5-6日和9日流量明显下降,可能与攻击者轮换有关。
流量估算汇总
基于sar实测数据反推:稳态扫描日流量约12-13 GB,峰值日可达60+ GB。
扫描攻击占总流量的 ~70%(约616GB),中转滥用约150GB,正常业务仅约75GB。总计约766-916GB,与1500GB额度(含其他月份)基本吻合。
注意:此估算偏保守。4月1-14日无日志数据,攻击可能更早开始。syslog.4.gz(4月13-19日)体积达742MB压缩,表明4月中旬攻击量极大。
业务侧流量分析
服务器运行了以下合法服务,但流量消耗远小于攻击:
正常业务总流量约 85 GB/月,仅为攻击流量的 ~10%。其中 new-api(AI API 网关,3个活跃用户)占比最大。
syslog被攻击日志淹没
攻击产生的日志量极大,导致syslog自身占用大量磁盘:
syslog.1 中 超过99%的日志行来自sing-box攻击,攻击日志不仅消耗流量,还严重侵占磁盘空间。
根因分析
| # | 根因 | 严重程度 | 说明 |
|---|---|---|---|
| 1 | sing-box 监听 0.0.0.0 | 严重 | 将代理暴露在公网 |
| 2 | 无认证机制 | 严重 | 任何人可连接使用 |
| 3 | final: “direct” | 严重 | 所有未匹配流量直接出站 = 开放代理 |
| 4 | 防火墙无规则 | 严重 | iptables INPUT策略ACCEPT,无端口限制 |
| 5 | 无流量监控 | 中等 | 无法及时发现异常 |
| 6 | 日志级别过详细 | 轻微 | warn级别仍记录大量错误,导致磁盘和IO压力 |
以上就是相关分析,之后我们来做止损和修复
- 给sing-box删了使用clash作为代理工具使用clash-for-linux-install进行部署
- iptables 封锁 7890 外部访问
- iptables 限制 cursor-proxy (32124) 仅本地 + Docker
- iptables SSH 暴力破解防护
- vnstat 流量监控已安装
- iptables 规则已持久化
- 部署了雷池防火墙
如果这篇文章对你有帮助,欢迎分享给更多人!
部分信息可能已经过时









