frp 的 ssl 应该怎样配置才安全呢

2023-09-12 12:11:02 +08:00
 ucyo
我这样设置的:
frps 服务器端和 frpc 客户端都安装的 1panle 。

frps 服务端设置:
vhost_http_port = 1180
vhost_https_port = 1443

frps 服务端反代:
location ^~ / {
proxy_pass http://127.0.0.1:1180;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;
add_header X-Cache $upstream_cache_status;
}
安装了 ssl ,可以正常用 https 访问。

frpc 客户端这样设置的:
[网站名称]
type=http
custom_domains = 域名
local_ip=127.0.0.1
local_port=80
use_encryption=true
use_compression=true

frps 服务端和 frpc 端互相通信时并没有 ssl 。
这样安全吗?
应该怎样配置才最安全呢?
1988 次点击
所在节点    程序员
12 条回复
kkk9
2023-09-12 12:14:46 +08:00
服务端和客户端之间通信是走 server 端口,你反代的是 vhost( http)
kkk9
2023-09-12 12:16:29 +08:00
[common] 部分的配置才是负责 C/S 通信的,具体可以看官方文档 - 身份认证

https://gofrp.org/docs/features/common/authentication/

其实设置好 token 就行了。
ucyo
2023-09-12 12:23:53 +08:00
@kkk9 token 是设置了的,frps 服务端和 frpc 客户端之间不用 ssl ,是吧
mikaelson
2023-09-12 12:24:28 +08:00
我直接就 token+端口,完了。。。
ysc3839
2023-09-12 12:39:23 +08:00
我个人选择用 WireGuard ,frp 那个协议很难说是否真的安全。
kkk9
2023-09-12 14:21:44 +08:00
@ucyo #3 请翻阅 frp 源码,ssl 也不见得安全啊
gogogo2000
2023-09-12 14:27:46 +08:00
想要让 frp 本身的控制协议走 ssl ,只需要设置 tls_enable 即可。

https://gofrp.org/docs/features/common/network/network-tls/
gogogo2000
2023-09-12 14:29:11 +08:00
似乎应该是 tls_only ,文档中有些摇摆
abonan
2023-09-12 16:41:15 +08:00
不用配 vhost 、http 之类的。首先自签一个 CA 证书,再用这个 CA 证书签发一个证书,该证书要配上 subjectAltName=IP:0.0.0.0 (服务端 IP )。

服务端配置 common 块放上刚刚签的证书和私钥,客户端配置 common 块开启 tls_enable ,开启 CA 信任,信任刚开始的自签 CA 证书,这样就保证 tls 传输是安全的,只有该 CA 签发的证书是可信的,防止中间人攻击,当然可以双向开启 CA 验证,可以看文档。然后客户端直接 type=tcp 转发 http 端口就行了
yaott2020
2023-09-12 16:46:43 +08:00
同楼上,搞个 TLS 双向认证,谁也看不到
nmap
2023-09-12 19:12:32 +08:00
双向认证开启,其他随意
lovelylain
2023-09-12 20:12:29 +08:00
自签名证书,双向认证
tls_enable = true
tls_cert_file = ../cert/client.crt
tls_key_file = ../cert/client.key
tls_trusted_ca_file = ../cert/ca.crt
服务端同理且设置 tls_only = true

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/972991

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX