记一次腾讯云报警 『Lighthouse存在对外攻击的违规通知』

Published on 2026-01-30 11:21 in 分类: 随笔 with 狂盗一枝梅
分类: 随笔

2026年1月29日晚上下班的时候,收到了腾讯云发来的邮件通知:Lighthouse存在对外攻击的违规通知,着实把我吓了一跳,以为服务器要被封禁了。

image-20260130095325299

看到这个告警,我真是丈二的和尚摸不着头脑,这个服务器已经运行了好几年了一直没问题,怎么会突然报警呢?邮件中提到为什么会收到这个通知:通常是由于您的服务存在对外攻击、网络扫描、恶意爬虫、钓鱼网站、垃圾或钓鱼邮件、传播病毒木马、存在黑链或网站被篡改等违法违规行为。

也就是说我攻击别人网站被腾讯发现了?真是滑天下之大稽,我都不懂网络攻防好不好,别给我开玩笑了。跟着指引来到解决方案的页面:《安全违规处理帮助指引》 ,根据指引,我发现最有可能出现问题的就是我在服务器上安装的frp服务出了问题。

一、排查过程

根据腾讯云提供的排查文档:Linux 主机安全排查指引 ,一步一步排查是哪里出现的问题。

1、检查弱口令

我的服务器已经关闭了密码登录,只能根据RSA秘钥登录,除非我的秘钥泄露,否则不可能有人能登录我的服务器,通过last命令查看服务器近期登录的账户记录,确认是否有可疑 IP 登录过机器:

image-20260130100900321

这几个ip地址都是我本地的ip地址,没有任何问题,说明不是非法登录导致的。

通过命令less /var/log/secure|grep 'Accepted'再次确认:

image-20260130101110493

可以百分百确认没有问题。

2、检查恶意进程及非法端口

官方文档中有提到“排查设备是否搭建了网络代理服务(如 frp、HAProxy 等),被恶意利用作为对外攻击跳板”,正巧,我搭建了frp服务做内网穿透,frp 服务的日志非常诡异:

image-20260130101806576

可以看到,这个日志显示了有个frp client中有个叫做test9080的配置每秒一次访问我的frp server,客户端ip地址是185.135.77.63,我的frp client并没有test9080的配置。。重启frp server,这个test9080会立马重新注册上来,查了下185.135.77.63这个ip地址:

百度智能云的结果:

image-20260130102130527

没错,对方使用了VPN恶意注册到了我的frp server,不知道做了什么事情,被腾讯云检测出来我这台机器发起了网络攻击,所以被腾讯云警告了。

把日志下载下来,好好排查了一下,发现在2026年1月27日的时候,第一次出现了testXXX的访问记录:

2026/01/27 15:00:10 [I] [service.go:449] [a02bb422d2875ddd] client login info: ip [185.135.77.63:63368] version [0.44.0] hostname [] os [windows] arch [amd64]
2026/01/27 15:00:10 [I] [tcp.go:63] [a02bb422d2875ddd] [test9083.] tcp proxy listen port [7083]
2026/01/27 15:00:10 [I] [control.go:446] [a02bb422d2875ddd] new proxy [test9083.] success
2026/01/27 15:00:10 [I] [tcp.go:63] [a02bb422d2875ddd] [test5556...] tcp proxy listen port [5556]
2026/01/27 15:00:10 [I] [control.go:446] [a02bb422d2875ddd] new proxy [test5556...] success
2026/01/27 15:00:10 [I] [tcp.go:63] [a02bb422d2875ddd] [test9080...] tcp proxy listen port [9080]
2026/01/27 15:00:10 [I] [control.go:446] [a02bb422d2875ddd] new proxy [test9080...] success
2026/01/27 15:00:10 [I] [tcp.go:63] [a02bb422d2875ddd] [test9082...] tcp proxy listen port [9082]
2026/01/27 15:00:10 [I] [control.go:446] [a02bb422d2875ddd] new proxy [test9082...] success

登录成功的ip地址正是185.135.77.63,同时它注册了好几个端口号到frp server。后来它换了好几个ip地址,其中有一个ip地址162.142.125.193被直接认定为攻击威胁ip地址:

image-20260130103000262

毫无疑问,我的机器被当做肉鸡发起了对外的攻击,但是原理我还没搞明白。

3、FRP服务端被恶意利用作为攻击跳板的原理

大模型告诉我,攻击者并没有破解我的服务器密码,而是利用了我FRP服务端配置上的安全漏洞,将其变成了一个“公共代理”或“跳板服务器”。

攻击者的完整利用链条:

  1. 扫描发现:攻击者使用工具(如Shodan, Zoomeye, Fofa)全网扫描开放了7000端口的IP。

  2. 尝试连接:攻击者尝试用默认配置或常见的弱token连接我的的FRPS。

  3. 连接成功:由于我缺少认证或使用了弱token,攻击者成功将自己的FRP客户端连接到我的服务器上。

  4. 建立恶意隧道:攻击者在自己的FRP客户端配置中,设置类型为 socks5tcp的代理,指向他想攻击的目标。

  5. 发起攻击:攻击者所有的后续请求(DDoS流量、漏洞扫描、爬取数据、爆破其他服务)都经由我的FRP服务器转发出去。

  6. 后果

    • 受害者看到攻击流量全部来源于我的服务器IP

    • 我收到腾讯服务商的安全投诉,或被目标方的防火墙封禁IP。

    • 我的服务器因转发大量攻击流量,可能产生高带宽消耗,甚至被服务商关停。

    • 如果攻击行为触犯法律,我可能需要配合调查,证明自身也是受害者。

TCP代理隧道配置案例:

[common]
server_addr = B.B.B.B  # 你的FRP服务端
server_port = 7000
token = 你的密码(已被窃取)

[attack_proxy]
type = tcp
local_ip = C.C.C.C     # 关键:这里填第三方受害者的IP!
local_port = 80        # 关键:这里填第三方受害者的端口!
remote_port = 22222    # 在你的服务器上开启的端口

攻击流程:

  1. 攻击者在自己的机器上运行此配置
  2. 隧道建立后,所有发给 B.B.B.B:22222 的流量
  3. 都会被你的FRP服务端转发到 C.C.C.C:80
  4. 受害者看到的所有攻击都来自 你的服务器IP(B.B.B.B)

作为Socks5代理(更常见、更危险)案例:

[socks5_attack]
type = tcp
remote_port = 10808
plugin = socks5
  1. 攻击者建立Socks5代理隧道
  2. 设置浏览器、扫描器、攻击工具使用Socks5代理:B.B.B.B:10808
  3. 所有攻击流量先到你的服务器,再被转发给任意第三方目标
  4. 受害者只能溯源到你的IP

二、解决方案

我的frp服务器使用了默认的7000端口号,并且没有设置token验证导致攻击方利用漏洞将我的服务器恶意利用作为对外攻击跳板。解决方案就非常简单了:修改默认端口号并且加上token认证就好了。

frps配置修改:

# 修改默认的端口号
bind_port = xxxx
# 使用token认证
token = xxxx
# 添加端口号白名单
allow_ports = 8081,8082,8083...

对应的frpc配置修改:

# 修改服务端默认端口号
server_port = xxxx
# 使用token认证
authentication_method = token
authenticate_heartbeats = true
authenticate_new_work_conns = true
# 修改使用的认证token
token = xxxx
heartbeat_interval = 30
heartbeat_timeout = 90
login_fail_exit = true

依次重启服务端和客户端,再次观察日志,就可以发现对方已经无法注册上去了。


#linux #网络安全
复制 复制成功