内网端口被映射公网风险,frp内网穿透安全加固鉴权配置

frp内网穿透本意是方便从外网访问内网服务,但如果直接把内网端口映射到公网,又没有加任何鉴权,就相当于把家里的门钥匙挂在门口。
轻则被扫描爆破,重则内网资源被拖走。
本文要解决的是:如何识别这些风险,并通过frp的鉴权、端口限制、TLS加密和防火墙策略把安全性拉起来。 操作步骤面向零基础用户,按顺序执行即可。

先看风险:裸奔的frp端口会发生什么

只要内网端口被映射到公网,就会面临三类现实风险:

  • 扫描与爆破:公网扫描器会持续扫描常见端口,一旦发现开放端口,可能尝试SSH弱口令、Redis未授权、数据库默认密码等攻击。
  • frp服务端被恶意利用:如果frps没有鉴权,任何能连接到你frps端口的人都可以注册代理,把你的服务器变成免费跳板。
  • 数据明文传输:默认配置下frpc与frps之间没有强制加密,密码、Cookie、会话信息可能被中间人截获。

所以安全加固不是可选操作,而是把内网端口暴露公网前必须完成的动作。

加固前需要准备的三个信息

动手前先确认以下内容:

  1. frp版本:当前主流是 v0.52 以上,使用TOML格式。旧版本是INI格式,配置写法不同。本文示例基于新版TOML。
  2. 服务器公网IP:你用来运行frps的云服务器地址。
  3. 一个有权限修改防火墙的账号:云服务器控制台和系统防火墙都要能操作。

准备好后,登录服务器开始改配置。

核心步骤:frp服务端与客户端的鉴权加固

第一步:在frps服务端开启token鉴权与端口白名单

找到frps的配置文件,通常是 /usr/local/frp/frps.toml,编辑并写入以下内容:

bindPort = 7000

# 鉴权方式改为 token
auth.method = "token"
# 生成一串足够随机的字符串,不要用弱密码
auth.token = "这里改成自己的超长随机字符串"

# 只允许客户端映射10000-20000之间的端口
allowPorts = [
  { start = 10000, end = 20000 }
]

# 强制frpc使用TLS加密通信
transport.tls.force = true

保存后重启frps:

systemctl restart frps

注意:allowPorts 是为了限制frpc能申请的远程端口范围,避免客户端胡乱占用服务器端口。
你可以按自己的业务端口范围调整。

第二步:在frpc客户端配置相同token并开启TLS

打开客户端的 frpc.toml,把服务端IP和token填进去:

serverAddr = "你的服务器公网IP"
serverPort = 7000

# 这里必须与服务端完全一致
auth.token = "这里改成自己的超长随机字符串"

# 客户端也开启TLS
transport.tls.enable = true

[[proxies]]
name = "ssh"
type = "tcp"
localIP = "127.0.0.1"
localPort = 22
remotePort = 16022

保存后重启frpc。
如果配置正确,frpc日志里会出现 start proxy success

第三步:在云服务器防火墙限制映射端口的来源IP

只开放frps的 bindPort(如7000)给frpc连接,映射出的业务端口(如16022)建议限制访问IP。
在云控制台的安全组中,对16022端口设置白名单,只放行你常用出口IP的网段,其他来源一律拒绝。
这样即使token泄露,攻击者也无法从其它IP访问映射出的服务。

避坑指南:这些问题最容易让加固失效

  • token用弱密码abc123123456 这类token等于没设置。用 openssl rand -base64 24 生成随机字符串。
  • 忘记关闭frps的dashboard:dashboard如果开放公网且使用默认账号密码,相当于把管理页面也暴露出去。建议绑定 127.0.0.1 或通过内网访问,不要直接映射到公网。
  • allowPorts范围过大:设置为 1-65535 等于没限制。只留你实际用的端口范围。
  • TLS内网穿透配置不对称:服务端设置了 transport.tls.force = true,客户端却没有配置 transport.tls.enable = true,会导致连接失败。

验证加固效果:三步确认配置已生效

  1. 看frps日志:执行 journalctl -u frps -f,能看到所有连接来源和是否通过鉴权。如果出现大量 unauthorized 日志,说明token已生效。
  2. 用错误token测试:临时改一个错token重启frpc,连接应被拒绝。测试完改回来。
  3. 尝试从外网访问映射端口:比如用手机流量访问 http://你的服务器IP:16022,正常情况下无法访问;同时检查云监控里的端口扫描记录,开放后应只有你的IP能通。

经过以上配置,你的frp内网穿透已经不是裸奔状态:token挡住未授权客户端,端口范围挡住乱映射,TLS和数据传输加密挡住偷听,防火墙白名单挡住无关IP。

如果你正在处理自己内网端口被映射公网的安全问题,建议按本文步骤完整执行一遍,再根据自己业务微调端口范围。
遇到连不上时,优先检查frps和frpc日志,很多问题都出在token或TLS配置不一致上。

分享到:
上一篇
AI中转平台内容安全风险,如何合规拦截违规输出
下一篇
进程内存窃取风险,公网推理服务禁止debug接口对外开放
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意