自动管理动态IP的白名单(例如在tinyproxy中)?

自动管理动态IP的白名单(例如在tinyproxy中)?

我有一个运行tinyproxy供私人使用的VPS,另一个运行nginx用于开发。是否有一个协议/守护进程可以用来自动将我的白名单列入动态的知识产权?这样,tinyproxy 只接受来自我的 IP 的连接,并且 nginx 只服务于我的 IP。

现在我使用一个子域,比如123.123.0.0/16,但这似乎仍然很脆弱,有时我的 ISP 只是为了惹恼我,改变了第二个四元组。

我想我可以通过 bash 脚本、iptables 和 noip 来做到这一点,但这些是我的担忧:

  • 对第三方服务的依赖。
  • 我需要多个设备(家庭、工作、手机、平板电脑)的多个动态 IP 名称(因此可能需要一个付费帐户)。
  • 额外的故障点;如果 noip 宕机,我将无法访问。

我今天想到编写一个守护进程来自动执行此操作,我认为这可能是一个有趣的练习,但我不想重新发明轮子。

这就是我认为它应该如何工作。如果没有一个单一的解决方案,也许其中一部分已经完成:

  • 配置文件中由程序保留的括号部分。例如,在tinyproxy.conf:

#!-autowhitelist section-do not change anything below this--

allow 123.123.123.123 allow 123.123.123.124

#-!-autowhitelist section-do not change anything above this--

  • 服务器在端口上运行,接受所有连接。 。
  • 客户端连接到该端口,请求注册。
  • 服务器执行身份验证(通过预存储的公钥质询-响应)
  • 如果通过身份验证,则扫描tinyproxy.conf并将允许行替换为最后一行n(可配置)要注册的唯一客户端。
  • 运行service tinyproxy reload(我认为这应该尊重现有的连接)。
  • 或者它可以修改 的规则iptables,我还没有考虑哪个是更好的解决方案。系统级白名单可能更安全、更稳健,但配置级更灵活并且允许日志记录等。

服务器程序可以有动态脚本来处理不同格式的配置文件(一个用于tinyproxy,一个用于nginx,如果我喜欢冒险,甚至可能一个用于sshd,等等)。

您可以在其中看到任何想法或安全漏洞吗?

相关内容