在自己的小服务器建了一个密码管理器,但是怕被入侵,同时又不想放弃网页密码管理器的便利性。所以想问问有没有什么 webui 服务能够控制密码管理器的端口的开放。预期方案:- 不用时:密码管理器的网页端口被关闭,这样就不怕密码管理器的 0day 漏洞- 使用时:先通过端口管理服务开放密码管理器的端口 5 分钟,随后自动关闭对应端口目前的方案是:要用的时候通过 ssh 端口转发,把密码管理器映射到本地。用完后关闭端口转发。

先谢谢大家的反馈。总结一下大家提供的方案:1. 用服务器提供商的防火墙控制(阿里云、腾讯云的 VPS 控制面板)2. 用 Linux 面板( 1panel )等3. 用 VPN ( Cloudflare Zero Trust ,SS ,Tailscale 等)4. 自行实现( CGI )5. 其他有些方案还没太理解想法:1. 依赖服务器提供商,这个方案还是太麻烦了,PASS2. Linux 面板也比较复杂,感觉背离了初衷,PASS3. VPN 的话确实理论上说是标准答案,但是还是麻烦,PASS目前看来就自己动手吧用 flutter 搞个静态网页,然后 IPC 发到后台高权限进程,高权限进程执行 Linux 系统防火墙命令

主机允许所有端口入站,然后依赖腾讯云和阿里云控制面板里面的防火墙。

之前想过这个方案,但是还要登录对应的服务器提供商的控制面板,还是太麻烦了

1panel 面板支持

没有绝对的安全,只有成本高低;我目前就是一个自己写的密码管理服务,但是我没有显示任何标题跟用户有关的信息放在页面上,并且输入错误也能有返回
你是否再找 端口敲门/knock

确实没有绝对的安全,目前想的就是用简单的端口管理服务替代较复杂的在线密码应用服务,来做到更安全。毕竟通俗概念上都是简单的东西比复杂的东西更安全

嗯,这个说道点上了呀,有没有啥 web 可用的端口敲门

如果在云上,那就写个 api 脚本,起停安全组就行了,要啥 ui

我觉得你这种不知名面板出漏洞的可能性比密码工具出漏洞的可能性高多了。甚至你找个不知名面板本身就自带后面真要 ui 控制的话,你用阿里腾讯云吧,服务器网络管理里面可以开关端口,阿里云好像还有 app ,可能都不需要登录 web ,app 上就能操作

不是想用什么 linux 面板之类的来管理,毕竟这玩意也复杂。想的是有没有什么静态网页之类的,提交一个{ token: "xxx", port: "xxx", alive: "xxx",}数据包来控制,这种服务就简单很多,出漏洞的概率就极低了

还不如自己写一个,百来行代码就行了。拿 python 写可能都要不了 100 行,python 操作防火墙,搭建 http 服务,都是几行代码搞定,自己在糊一个 http 页面完事

#2 这是没办法的,像很多国内云,他们的控制台是优先级最高的,就是你服务器上开放了还不行,必须在他们的控制台开放才能通,这是无解的,有一些就没有控制台,服务器开了就是开了。说人话就是,有的云有两层防火墙,提供商那一边的那层,你 webui 是没法关的。

要不你用 cf 的那个 Cloudflare Zero Trust 吧,在哪里用的时候收一封邮件验证码就行

个人还是建议用 KeePass+网盘存储。你这么弄的话,设备本地有密码管理器的数据吗?没的话如果服务器炸了怎么办?

试试 terraform 。纯配置化管理,改完配置 terraform apply 就可以生效。 registry.terraform.io/providers/tencentcloudstack/tencentcloud/latest/docs registry.terraform.io/providers/aliyun/alicloud/latest/docs

服务器上装个 ss ,通过连接 ss 使用密码管理器服务

建议直接用 1password ,确实体验好很多。要么你就把端口限制 ip 访问呗。

frpc 啊,先配置好,要用的时候启动 frpc 服务,不用了关闭,可以搭配 nodered 实现你要的自动关闭。

控制台一直开着就行,服务器上软件控制系统防火墙开关对应端口

每天都有备份数据到网盘,用在线的就是图个方便

使用 ping 钥匙临时开启 SSH:22 端口 www.cnblogs.com/martinzhang/p/5348769.html

#6 找找云厂商的 api ,调接口吧,或者用 caddy ,自带有个 api 能直接替换反代地址,我是突然想起来我的梯子当时就是老封端口,用的这个玩意灵活的变化端口
套个 cf tunnel 。

看你熟悉哪个防火墙管理,可以用类似下面的命令,一般编程语言都有调用系统命令行的功能firewall-cmd --zone=public --permanent --add-port=8443/tcpfirewall-cmd --reloadfirewall-cmd --zone=public --permanent --remove-port=443/tcpfirewall-cmd --reload

可以试试 webhook, 对方暴露一个 HTTP(S) 服务,访问这个地址后服务器后台执行一个脚本,在脚本里配置你想干的活都可以。我用来搭配 DDNS, 发现公网 IP 变化的时候,在内网运行一些脚本。也可以单独用来 WOL 唤醒机器 github.com/adnanh/webhook

我是家里 openwrt ,然后开放 50000-60000 网段,用的时候登录后台设置下端口开启状态

实在不行你搞个 cgi 来实现吧,啥语言都行,复古但好用。

要什么 webui ,你都有 ssh 了,直接ssh myserver 'ufw allow 443 && sleep 300 && ufw deny 443' 把这条命令放到一个脚本里双击就行了,Android 上 termux 也可以创建一个桌面 widget 。当然你要想把这个命令作为 api 暴露出来也就几行代码。

用 Tailscale, 密码管理器的端口只監聽內網 100.x.y.z , 防火牆限制只有某些內網連線,密码管理器客戶端通過 tailnet 內網連服務器

希望能换掉 ssh ,手机上没法用,所以搞个 webui 的就很方便

为啥没法用 ssh ? android 有 termux,iOS 有 ish 。你甚至可以创建个 widget 放桌面上,点一下就自动运行写好的脚本。

最简单的是用 iptables 管理,规则上把端口关掉,同时写个脚本每 10 分钟刷新一次 iptables ,或者检测到端口被打开后延迟 10 分钟刷新 iptables 。实现简单,没有任何包袱。

我之前的方案是,电脑/手机 -> clash 域名分流 -> 服务器 ss -> vaultwarden 。

真要通过面板的话 Red hat 有个开源的叫 Cockpit 的项目 ( cockpit-project.org/)安装后记得安装防火墙后端 (firewalld) 然后通过侧边栏转到 [网络] 选项卡, 再通过创建区域使用 firewall 控制端口...