Apache2 虚拟服务器监听私有 IP,仅提供对 VPN 的访问,其安全性如何?

Apache2 虚拟服务器监听私有 IP,仅提供对 VPN 的访问,其安全性如何?

我在 VPS 上安装了 Ubuntu 12.05,在其中运行 Apache 2.2 和 OpenVPN - 两者都在同一个公共 IP 上。我的目的是在我的 Apache Web 服务器中设置一个区域,只有当我连接到 VPN(使用 OpenVPN)时我才能访问该区域,用于各种我不希望公开访问的工具 - 因此基于密码的设置在这种情况下不起作用。

好的,ifconfig显示tun0接口具有 A 类 IP 10.8.0.1。我去更新我的example.com域的 DNS 区域,并在子域上添加了一条A记录private.example.com- 它将解析为10.8.0.1
另一方面,在 Apache 配置中,我添加了一个将监听10.8.0.1<VirtualHost 10.8.0.1:80> [...])的虚拟主机。

这很好用 - 现在我private.example.com只有连接到该 VPN 时才能访问,但是这个设置有多安全?是否存在我没​​有看到的明显缺点;这种设置是通常使用的吗?
注意:当然,我们假设 Apache2 和 VPN 都没有被其他方式攻破。

答案1

假设 VPN 没有受到损害,你所说的并非完全不合理。

我会考虑添加iptables一条双重保险方法的规则,例如:

iptables -A INPUT -d 10.8.0.1 -i ! tun0 -p tcp --dport 80 -j DROP

除非源接口是 ,否则应该会丢弃任何以 10.8.0.1 上的 TCP 端口 80 为目的地的传入段tun0。(我假设您正在运行默认允许的 INPUT 链,或者您也有一个明确的规则来允许此流量。)

我可能还会进一步实施这种双重保险策略,要求在面向 VPN 的网站上进行身份验证,但这只是我的过度偏执。

相关内容