![将好友的动态 IP 列入白名单,无需他们付出太多额外努力](https://linux22.com/image/1186128/%E5%B0%86%E5%A5%BD%E5%8F%8B%E7%9A%84%E5%8A%A8%E6%80%81%20IP%20%E5%88%97%E5%85%A5%E7%99%BD%E5%90%8D%E5%8D%95%EF%BC%8C%E6%97%A0%E9%9C%80%E4%BB%96%E4%BB%AC%E4%BB%98%E5%87%BA%E5%A4%AA%E5%A4%9A%E9%A2%9D%E5%A4%96%E5%8A%AA%E5%8A%9B.png)
我正在运行一个小型 https 网络服务器,使用基于 Javascript 的程序,我听说它不是超级安全的。幸运的是,我只希望几个朋友能够访问它 - 不幸的是他们并不都精通技术,而且他们有动态 IP。
我见过一些关于动态 DNS 管理器的参考资料,以及使用这些管理器来查询动态 IP,但我宁愿让服务器保持打开状态,也不愿为所有服务器设置这些。有没有更简单的方法来更新动态 IP?
当前站点在外部从 443 转发的 8080 上运行。我最好的想法是使用更安全的 Web 服务器作为登录客户端,该服务器是默认从 443 转发的 - 一旦使用有效的 uname/pass 登录,uname 以前使用的 IP 将从特殊的 443->8080 规则中删除,并添加新 IP。是否有任何基于 Ubuntu 的优质服务可以做到这一点?(即最简单的情况是仅提供登录名,并在成功登录后调用以用户名作为输入的脚本?)
或者还有其他好的系统可用吗?我目前已将其配置为至少仅在服务器运行时打开端口,但我希望能够更频繁地让服务器保持运行。
编辑:更多具体信息 服务器是一个虚拟桌面模拟器对于 D&D,称为铸造厂VTT;它有一个用户名/密码系统,但他们明确指出,这并不是一个真正的安全问题,而是为了防止玩家互相干扰。我不太熟悉服务器技术,但快速查看文件会显示以下信息电子,铬,以及node_modules 文件夹好像说Node.js(?)。 我在跑Ubuntu 20.04,内核 5.13.0-37。
答案1
我对在线找到的所有选项都不满意,因此我继续创建自己的(希望大部分情况下)安全系统,允许人们创建用户帐户、注册和管理他们的 IP,以及请求访问特定服务。一旦访问获得批准,将为每个 IP 配置给定端口->端口转发的 iptables 规则,并在 IP 被删除时将其删除。
如果有人遇到同样的问题并想尝试一下,我非常乐意帮助它在我的系统之外的其他系统上运行!请在此处查看源代码:https://github.com/Matthew-Whitlock/secured-port-forward
如果有人感兴趣,我可以提供更多的文档和灵活性,但我并不是特别希望在没有必要的情况下过度设计个人解决方案。