我有一个VPS上的Ubuntu 12.05,我运行Apache 2.2和OpenVPN – 都在同一个公共IP上。 我的目的是在我的Apachenetworking服务器中build立一个区域,只有当我连接到VPN(使用OpenVPN)时,我才能够访问这个区域,对于我不喜欢公开访问的各种工具,那么密码在这种情况下,基于安装程序将不起作用。
好的, ifconfig告诉我, tun0接口具有A类ip 10.8.0.1 。 我去更新了我的example.com域名的DNS区域,并且在private.example.com子域名上添加了一个Alogging,该域名将parsing为10.8.0.1 。
另一方面,在Apacheconfiguration上,我添加了一个将侦听10.8.0.1 ( <VirtualHost 10.8.0.1:80> [...] )的虚拟主机。
这很好 – 现在只有当我连接到VPN时才可以访问private.example.com ,但是这个设置有多安全? 有没有明显的缺点,我没有看到; 这是通常使用的设置?
注意:当然,我们考虑一下,Apache2和VPN都没有受到其他方式的攻击。
假设VPN没有受到影响,你所说的并不是完全不合理的。
我会考虑添加一个iptables规则来实现皮带和吊带方法,比如:
iptables -A INPUT -d 10.8.0.1 -i ! tun0 -p tcp --dport 80 -j DROP
除非源接口是tun0否则应该丢弃在10.8.0.1上所有以TCP端口80为目标的入站段。 (我假设你要么运行一个默认允许的INPUT链,要么你将有明确的规则来允许这个stream量。)
我可能会通过要求在面向VPN的网站上进行身份validation来进一步提高安全带和吊带装置,但这只是我过分的偏执狂。