可以使用 ufw 阻止网页吗?

可以使用 ufw 阻止网页吗?

基本上我有两台机器 X 和 Y。

我想使用 ufw 在 HTTP 端口 80 上阻止来自机器 X 的“http:// <IP-of-Y-Here> /AFolder/”。

简单地说,这可以通过使用 ufw 通过以下方式(非常好地)完成:

sudo ufw deny out 80

但是否有可能采取如下措施:

ufw deny from (X IP ADDRESS) port 80 to (Y IP ADDRESS)/AFolder

这样能满足我的要求吗?

答案1

不,您不能使用 ufw 来阻止访问 Web 服务器上某些特定页面而不阻止访问其他页面。

ufw 是iptables它控制着网络过滤器防火墙,内置于 Linux 内核。这是一个普通的防火墙—​​—您可以使用它根据数据包的标头来过滤数据包。

IP 地址和端口包含在数据包的标头中,但什么网络文档正在检索的信息不是。相反,在连接建立后,此信息在数据包主体中传输。

您可能已经知道,可以阻止对某些网站的访问(尽管通常很容易绕过阻止),并且有些实用程序可以阻止特定页面,同时允许访问同一服务器上的其他页面。但要回答您的问题:ufw 不会这样做。

答案2

您可以使用 阻止对服务器上的端口的访问ufwman ufw有很多示例,但假设它已启用,它应该是这样的:

sudo ufw deny out to <<ip address>> port 80

我刚刚在自己的服务器上测试了它,它有效。请记住,端口 443 用于 SSL,因此可能也需要阻止。

请记住,这会阻止该服务器上的整个 80 端口。


如果您想根据子文件夹开始过滤(允许某些路径但不允许其他路径),您将需要代理请求。防火墙不会查看内容,而是查看连接。对于防火墙来说,对 /subfolder 的请求与对 /a-different-subfolder 的请求相同。

因此,您需要的是一个透明代理,您可以将其扭曲以阻止部分流量。家长控制软件可能是您快速设置的最佳选择。类似的东西肯定dansguardian曾经很流行,我认为它值得探索。更多信息可在 wiki 上找到:

相关内容