我正在设置一个故意存在漏洞的网站来显示一些安全内容,但我不希望未经授权的人利用它。我如何配置我的 VPS,以便只有连接到 VPN(openvpn 服务器)的人才能看到该网页,而其他人在没有 VPN 的情况下尝试在 wan 上正常访问该网页则无法看到该网页?
我已经尝试过 IPtables 和 ufw,但我认为我把语法搞砸了,因为即使经过身份验证,我也无法连接到网页,并允许 LAN 子网。
用户位于 lan 10.8.0.0/24 上,网站通过 VPS 的公共 IP 端口 80 和 81 运行。
答案1
阻止网络服务器的所有其他内容
iptables -A INPUT -p tcp ! -s 10.8.0.0/24,127.0.0.0/8 --dport 80 -j REJECT
iptables -A INPUT -p tcp ! -s 10.8.0.0/24,127.0.0.0/8 --dport 443 -j REJECT
答案2
在您的 VPS 上仅允许 VPN ip
iptables -A INPUT -d {VPN_IP} -m tcp -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -d {VPN_IP} -m tcp -p tcp --dport 81 -j ACCEPT