仅允许与特定域/IP 的传出连接

仅允许与特定域/IP 的传出连接

我尝试仅允许连接到一个网站(仅一个域名)。例如 www.mywebsite.com,IP 地址为 ABCD

我的 iptables 定义如下:

iptables -I INPUT 1 -i lo -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp -d A.B.C.D --dport 80 -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -P INPUT DROP
iptables -P OUTPUT DROP

问题是该网站的子文件夹似乎不在同一台服务器上。因此,如果它位于 www.mywebsite.com 上,则用户还必须能够访问 www.mywebsite.com/cobiss/、www.mywebsite.com/cobiss?param1=value1¶m2=value2。

您能帮助我需要哪些附加规则才能允许访问该网站的相关部分吗?

答案1

单独使用时不起作用iptables。OSI iptables3+4 层上起作用。您正在寻找第 7 层过滤。

我建议你设置一个代理服务器进行过滤。我可以推荐丹斯卫士用于 Web 内容过滤。配置防火墙以通过 Web 代理重定向所有 Web 流量(创建透明代理),然后在那里进行过滤。

看一眼本教程如何开始。

答案2

您是否尝试过滤传出的流量?

如果您想控制从您的内部网到互联网网站的用户访问,您必须使用 SQUID 代理服务器,而不是防火墙。

相关内容