我有一个运行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,等等)。
您可以在其中看到任何想法或安全漏洞吗?