安全访问云端内部应用:用frp的stcp功能解决SSH转发的痛点

文章目录

前言

在迁移企业内部应用上云时,遇到了一个典型的安全困境:如何让部署在云服务器上的内部Web应用只允许企业内网访问?传统方案是用SSH本地端口转发,但在实际运维中,我总被它脆弱的连接稳定性困扰------网络抖动就断连、长时间闲置就超时,重启客户端还要重新建立连接。直到深度使用了frp的 stcp(secret tcp) 功能,才算彻底解决了这个老大难问题。

stcp方案的核心优势

frp的stcp功能通过双向认证+流量加密实现了真正的企业级安全访问:

  • 零公网暴露:云服务器无需开放任何业务端口
  • 自动重连:内置心跳机制保障隧道稳定
  • 访问控制:通过secretKey实现设备级授权
  • 多协议支持:完美适配HTTP/SSH/RDP等协议

实战部署流程(基于frp_0.61.1)

网络拓扑架构

公有云 企业内网 访问 localhost:8080 加密隧道 流量转发 本地访问 frps 7000 frpc 内部应用 127.0.0.1:8080 frpc visitor 内部用户

第一步:配置frps服务端(云服务器)

toml 复制代码
# frps.toml
bindPort = 7000
auth.token = "your_secure_token_here" # 强烈建议设置认证令牌

第二步:暴露内部应用(云服务器)

toml 复制代码
# frpc.toml
serverAddr = "frps.yourcompany.com"
serverPort = 7000
auth.token = "your_secure_token_here"

[[proxies]]
name = "secure_webapp"
type = "stcp"
secretKey = "your_scp_secret_key_here"
localIP = "127.0.0.1"
localPort = 8080  # 内部应用真实端口

说明

  • proxies中使用了stcp。stcp(Secure TCP)是 FRP 中一种基于预共享密钥的安全 TCP 代理,专为需要安全访问内网服务的场景设计。它通过密钥验证机制实现类似 VPN 的安全连接,避免服务直接暴露在公网。

第三步:企业内网访问端配置(企业内网服务器)

toml 复制代码
# frpc_visitor.toml
serverAddr = "frps.yourcompany.com"
serverPort = 7000
auth.token = "your_secure_token_here"

[[visitors]]
name = "webapp_access"
type = "stcp"
serverName = "secure_webapp" # 与云服务器代理名一致
secretKey = "your_scp_secret_key_here"
bindAddr = "127.0.0.1"
bindPort = 8080  # 本地访问端口

访问内部服务

配置完成后,内网用户直接访问本地端口即可:

bash 复制代码
# 访问Web应用
curl http://127.0.0.1:8080/api/v1/data

# 或浏览器访问
http://localhost:8080

小结

在实施这套方案的过程中,我发现stcp模式最精妙的设计在于双向身份验证

  • 访问端必须知道 serverName + secretKey
  • 服务端验证访问端的token合法性
  • 任何单点验证失败立即拒绝连接

这种零信任架构恰好契合了企业内部应用的安全需求。更值得称赞的是,当我们将frpc配置为系统服务后,运维人员再也不用半夜被叫醒重启断掉的SSH隧道了。

参考资料

相关推荐
芯盾时代11 分钟前
企业建立安全防线治理失控的Agent
大数据·人工智能·安全
二等饼干~za89866812 分钟前
2026 主流 GEO 源码厂商实测:云罗 GEO、摘星智能、棋引科技技术与落地能力对比
大数据·运维·科技
hz5678923 分钟前
公安局远程办案用什么音视频系统?安全取证与多方协同方案
安全·架构·云计算·音视频·实时音视频·信息与通信
Championship.23.2423 分钟前
Linux 3.0 音频机制深度解析:ALSA基础架构与传统音频驱动模型
linux·运维·音视频·alsa
汇智信科29 分钟前
机务安全虚拟教学系统 打造沉浸式实训
安全·汇智信科·机务安全
Yukinaaaa40 分钟前
以“轮盘数组”思维彻底搞懂并实现阻塞队列
java·服务器·ide·安全·javaee·阻塞队列·轮盘数组
无证驾驶梁嗖嗖1 小时前
ubuntu下测试nvme带宽和健康度
运维
TechWayfarer1 小时前
IP画像在企业安全中的应用:它能做什么?不能替代什么
网络·python·tcp/ip·安全·网络安全
HLC++1 小时前
Linux文件操作
linux·运维·服务器
InfraSense1 小时前
多门店运维闭环全景架构:监控+告警+工单+SLA+复盘,一套最小可用系统怎么串起来
运维·msp