最近整了个阿里云服务器,搭建了 frp 服务,准备将家里的小服务器的部分端口暴露给外网,方面自己在外使用。
我的使用方式是这样的:
1 、阿里云服务端只完全开放 7000 ,其他端口都不开放; 2 、阿里云服务端的 auth.token 设置为一个随机生成的复杂 token ; 3 、其他端口(比如:8080 ,8081 ,22 等),需要用到的时候,只要到阿里云上设置一下白名单并开放就行了。
各位大佬帮忙看看,这么做有没有什么比较严重的风险。还有没有其他可以优化的地方。抱拳
1
penzi 1 天前
没有
|
2
cheng6563 1 天前
frp 里可以开下加密,没了。
|
3
totoro625 1 天前
家里的小服务器肯定能随便跑脚本,跑一个 ddns 。推荐 https://github.com/jeessy2/ddns-go
阿里云 crontab 弄个脚本,把 ddns 解析域名对应的 ip 自动过白名单 7000 端口也不用对外开放 需要访问的设备,如果是笔记本也可以弄个 ddns ,自动过白名单 |
4
Sezxy 1 天前
stcp 更安全,缺点是访问的时候要用到 frpc
|
5
lmmir 1 天前 还不如用 easytier
|
6
Ipsum 1 天前
搞个 vpn ,在哪都像家一样。
|
7
stephenhallo 1 天前
其实比较好的方式是搞个备案域名,然后阿里云服务器上只开放 443 端口,阿里云服务器上部署 nginx 将流量直接反向代理到 frp ,所有的项目文件,包括域名证书啥的都在小服务器上。这样相对安全一些。
|
8
jifengg 1 天前
另外,建议改掉默认 7000 端口,现在 frp 7000 端口也是常规扫描端口了。可能阿里云自己也会检测哦
|
9
eastry OP |
11
eastry OP @stephenhallo 有想过这种方式,自己有备案的域名,但是是不是每个开放的端口都要一个子域名,这样有点麻烦哎。不过还是感谢你的建议
|
13
ashuai 1 天前
我以前在 win2003 上用过 ipsec ,双方配置同样的密钥就可以互访。现在的版本不知道怎么配了。不知道为什么这个方案很少看到人用
|
17
stephenhallo 1 天前
@eastry 不用呀,所有域名都是通过 https 走 443 端口呀,添加新的服务只是需要修改配置文件,不需要额外开放端口
|
18
youknowiam 1 天前
我现在用 vnt+lucky 比较完美解决我远程、端口穿透的问题,无公网也能满速访问家里
|
19
jingcjie 1 天前
之前用 frp 为了在哪里都能随时访问,后面还是组网算了,我把 rdp 和 ssh 挂 frp 上,每天可以被扫几百次,麻了。
|
20
ntedshen 1 天前
|
21
Hanhairizhi 1 天前
我是自己写程序监控 frps 日志,有新 ip 进来如果不是本省的 ip 就加到防火墙黑名单,顺便也能阻止这些 ip 攻击其他服务端口。
|
22
ICKelin 1 天前
frp 会暴露在公网,一般都是尽量避免暴露在公网的,楼上有说 easytier 的了,也可以试试这个,https://github.com/smartethnet/rustun
|
23
sherardxu 1 天前
同阿里云,我使用 tailscale 暴露内网服务,延迟 7ms
|
24
eastry OP @stephenhallo 我有暴露多个家里服务器端口的需求,一个子域名只能链接一个吧。
|
25
acisky 1 天前
用阿里云 frp 暴露内网的 gogs 服务,不知道怎么被黑产盯上发了好多垃圾广告
|
27
laminux29 1 天前 既然这是给你个人使用的,你直接用端口敲门技术不就行了。端口敲门专门针对这个场景,甚至你连密码都不需要,天下无敌,100% 安全。
|
28
vonfry 1 天前
如果不需要 udp 流量,可以用 ssh (reverse) forward ,本身就有加密,还能按需连接,而且本来 ssh 就是会开放使用的。固定导出的端口拿 systemd 写个 service 就好。
另外安全问题,除了防拿你的服务器做转发外,更主要的是你 export 的那个服务。 另外你拿阿里转发的话,如果是 http(s) 是会被阿里检测然后关掉的(解法是备案)。 |
29
milkpuff 1 天前
用 stcp ,不要直接暴露,会被疯狂扫描。
|
30
suyuyu 1 天前
求问 腾讯云轻量能不能跑 frp ?
|
31
Achophiark 1 天前
个人用户使用 frp 没有任何问题的,玩的就是效率,真是性能好,但没有零信任和其他可靠验证,对这方面要求高的可以看看 pangolin(类似开源 cloudflare tunnel)
|
32
stephenhallo 1 天前
@eastry 不同子域名,只要是 https ,都走的是服务器的 443 端口呀
|
33
Plutooo 1 天前
我是家里服务器起一个脚本定时对 ip 加白
|
34
byte10 1 天前
我跟上面用 nginx 一样,家里所有需要暴漏的服务连接到 frp ,然后 nginx 代理这些端口。最近暴漏了 nas ,结果被攻击,还好群晖牛逼,3-5 次 密码不对就封锁😂。后来排查了很久,发现 nginx 有一个域名访问的问题,才终于解决攻击。
|
35
DefoliationM 1 天前 via Android
tailscale 吧,不用开端口。
|
36
rev1si0n 1 天前
这么麻烦干嘛,直接部署一个 openvpn-server ,android ,ios ,win ,linux ,mac 端客户端全覆盖,家里申请个公网 IP ,加 ddns 连服务器都不用。
|
37
hxdyxd 1 天前 via iPhone
直接 ikev2 连回家就好了,7x24 小时挂着也不怎么耗电,网络环境跟家里完全一样
|
38
PhDLuffy 1 天前
frp 只开放 444 端口,用 https ,所有内网服务走 444 的 https 端口
|
39
inframe 1 天前
wireguard + docker ,或者楼上的 xx vpn,反正各种组网工具解决自己使用的问题
|
41
iShinku 1 天前
自己用:tailscail 之类的回家 VPN
指定用户用:CF 隧道+邮件认证 只要不经过身份验证的访问,都认为是不安全的 |
42
likaci 21 小时 39 分钟前
手机上 Clash 或者 Surge 常开的话, 内网开个 ss-server 最方便, 有公网 ip 就把 ss-server 的端口暴漏出来, 没有公网 ip 就用 frp 把 ss-server 暴漏出来, 用 ss 的密码来确保安全
配置好策略在家访问直连, 外网访问走 ss-server. 这样完全无痛, 也不会因为 VPN 和翻墙冲突 轻松访问家中的网络服务 https://web.archive.org/web/20230324030158/https://community.nssurge.com/d/5 |
43
gearfox 18 小时 27 分钟前
想安全不折腾直接 easytier
|
44
shilyx 18 小时 19 分钟前
针对 tcp 协议:
让 frp 在云上监听 127.0.0.1 用 kcptun 在云上跑一个服务端,监听对应的 udp 端口 在需要使用的地方跑 kcptun 的客户端,复原 tcp 端口 kcptun 密码随意,有就行 这样任何人无法从互联网扫描到你的业务,速度上不用担心,搞不好还更快了 |
45
luis330 17 小时 8 分钟前
好奇请教一下,frp 会比 vpn 安全吗? 我现在是用 WireGuard ,感觉很方便啊,这样家里有很多服务很多端口,但只需要暴露 1 个端口。
|
46
waltcow 16 小时 54 分钟前
现在是公网 IP 接 ssserver-rust , 配合 clash 做规则
|
47
SakuraYuki 16 小时 54 分钟前
@likaci surge 直接 ponte 或者 wg 更方便吧
|
48
yisier PRO 可以试下我维护的 [nps]( https://github.com/yisier/nps),可以用 IP 白名单或 IP 黑名单
|
49
a33291 16 小时 36 分钟前
除非 frp 自身有漏洞导致所在的机器被黑(可以跑 docker 内避免),然后隧道后还是各个机器自行保证安全,比如你通过 frp 保留内网 22 出去,人家不还是要密码或者 key 登录吗,和 frp 又没关系了
|
50
Devifish 16 小时 32 分钟前
frp 可以支持 websocket 来建立连接, 可以藏到 nginx 后面
|
51
Molita 16 小时 1 分钟前
我用 tailscale 。
然后有一些 flood immich 之类的东西用的 cf tunnel 转发一下,加了一层 access 的访问权限。 |
52
spritecn 16 小时 0 分钟前
走白名单 ,已经很安全了吧
|
53
Jacksu 15 小时 51 分钟前
我的做法是,服务器开放 frps 端口(也就是你的 7000 ),有 token 的存在,这不会有什么问题。
至于穿透服务我只开放在服务器的 127.0.0.1,然后在服务器再搭建一个 Nginx ,只开放 443 端口,所有服务通过域名访问,Nginx 做了处理,不是自己指定的域名不允许访问。SSH/RDP 这种就用 Nginx 的 stream 转发,按需开启 |
55
Sezxy 15 小时 47 分钟前
不用 stcp ,那最安全的方式还是暴露 vpn 的端口,先连上 vpn 就能访问家里所有服务
|
56
CSGO 15 小时 42 分钟前
你都用白名单了应该没问题。我是懒得弄,想要随时都能访问,用了 fail2ban ,但 frp 的日志,只能显示某 ip 进行连接,不包含任何连接成功错误等信息,所以我只做了简单的规则,比如 5 分钟内只允许 3 个 ip ,24 小时内只允许 20 次等这样,看自己情况。
|
57
cat9life 15 小时 31 分钟前
主要是软件本身总是被杀毒软件干掉 心累
|
58
hidumouren 15 小时 18 分钟前
stcp 密钥方式; 可以试试这个,平时自己用的 GUI https://github.com/hidumou/frpc-gui
|
59
xiaomushen 15 小时 5 分钟前
@vonfry 我之前都是跑 ssh ( autossh )上的,但是用的人多了,就不稳了。换成 gost 后,终于舒服了
|
62
sparkssssssss 13 小时 36 分钟前
@glaz #54 国内流量几乎不会管,我用的 openvpn 好几年了,没有问题
|
63
xiaomushen 13 小时 19 分钟前
@glaz VPN 协议秒识别,当年要被 Ban
|
64
idragonet 13 小时 18 分钟前
配合 lucky 开 IP 白名单
|
65
uncat 13 小时 8 分钟前
wireguard.
用随便一台 linux ,通过 systemd-networkd 加份 netdev 和 network 就搞定了,很简单的。 |
66
iSecret 12 小时 56 分钟前
之前也是一直用 frp ,总觉得简单方便,后来越想越不对劲,翻了一下 frp server log 全是爆破扫描的连接日志,后来改用 tailscale 了,自建 DERP 服务器做中转。
|
67
wsbqdyhm 12 小时 41 分钟前
@youknowiam lucky 端口是不是随机的。
|
68
smileeast 12 小时 39 分钟前
如果不是需要给其他人使用,推荐用 easytier 或者 wireguard 之类的,反正都是自己用,能回家就行,我用 easytier 很舒服
|
69
BadAngel 3 小时 1 分钟前
我理解最安全是任何端口都不开,出方向只开特定端口,起个出方向访问特定端口的域名请求,仅靠反向 tls 建联
|