手里面有一台服务器,用的 PVE 作为虚拟化底层,因为服务器和我不在同一位置,有可能需要时不时登录 pve 后台进行管理。 现在的方案是采用 frp 将 pve 后台映射到公网一台服务器上面,使用域名访问并配合 web 基础认证。想请教一下这种方案是否安全?
1
masha 2021-02-02 17:45:21 +08:00 1
不能保证你这个后台登录认证没有漏洞。如果一定要暴露,推荐非常用端口+自定义 web 目录,别是 /admin 、/login 之类的,不被扫到就相对安全点。
|
2
Juszoe 2021-02-02 17:47:25 +08:00 1
如果只有你一个人访问这个网页的话,推荐用 frp 的 stcp 功能
|
3
msg7086 2021-02-02 17:49:09 +08:00 via Android 1
我 PVE 就是放公网的,暂时没遇到过问题。注意 root 密码复杂一些就行,比如 24 位随机字符。
|
4
yuanmomo 2021-02-02 18:00:52 +08:00 1
frp 的公网服务器,监听 127.0.0.1,然后端口不要对外开放。
然后用 SSH tunnel 做一个转发,SSH 使用公钥登陆,我自己就是这么操作的。家里的 路由,nas,都是这样访问的。 |
5
woshijidan 2021-02-02 18:10:26 +08:00 via Android 1
vpn 回去到服务器内网再远程相对安全,frp 也会有一定的风险
|
6
huobazi 2021-02-02 19:16:04 +08:00 1
再加一个跳板机
|
7
Tink 2021-02-02 19:20:05 +08:00 via Android
最好不要
|
8
Markxu0 2021-02-02 19:36:14 +08:00
VPN,连上 VPN 再去操作,风险更低
|
9
RickyHao 2021-02-02 19:47:55 +08:00 via Android 1
大不了整个服务最外面套一层 basic auth,密码复杂点就行
|
10
boboliu 2021-02-02 19:50:41 +08:00
套一层登录鉴权最好
|
11
idragonet 2021-02-02 20:06:02 +08:00
frp 可以二次加密
|
12
lu5je0 2021-02-02 20:26:11 +08:00
需要操作的时候,用 ssh 转发端口吧,比较方便
|
13
eason1874 2021-02-02 20:28:28 +08:00 3
自用的解决方案就简单了,在 Nginx server 段检查指定 cookie 或者 header,不匹配直接拒绝,比如:
if ($cookie_fishsayhi != "blue,blue") { return 403; } 只要别泄露 cookie 名和值被人针对性渗透,啥机器扫描都碰不到你的后台。自己登录就在浏览器 console 或者通过扩展设置这个 cookie 就行了。当然后台登录验证还是不能少的,这个相当于外围防火墙。 |
14
superrichman 2021-02-02 20:34:08 +08:00 via iPhone 1
web 那里再加个 fail2ban 防爆破 基本没有问题
|
15
zjqzxc 2021-02-02 21:02:35 +08:00
这就是 V 某 N 的最初用途也是标准用途了
|
16
afirefish OP @masha
@Juszoe @msg7086 @yuanmomo @woshijidan @RickyHao @eason1874 @superrichman 非常感谢,打算采用域名 /随机字符串,再套用一层 basic auth 的方式。 |
17
SenLief 2021-02-02 21:19:52 +08:00
一般情况下没人扫的。
|
18
qwerthhusn 2021-02-03 12:10:25 +08:00
开 TLS 客户端认证就行了
|