无法允许某些网站通过防火墙。(子域名)

无法允许某些网站通过防火墙。(子域名)

我正在努力构建允许访问某些网站的白名单。但我一直在努力允许某些网站。例如,“netacad.com”被列入白名单。此白名单允许通过端口 80 和 443 的所有流量,但该网站每次都无法加载。即使有时允许所有流量到指定的域,它仍然无法加载。为什么会这样?

此外,当我想让人们能够访问 branch.Tree.com 时,我总是失败。添加 Tree.com 时,用户可以连接到 Tree.com,但不能连接到 branch.tree.com。添加 branch.tree.com 本身也不能解决任何问题。它也是一个非常复杂的名称的别名,但在它后面添加真实名称也不能解决任何问题。有什么提示或想法吗?我也使用不同的方法来过滤数据包:路由器上的 ACL、dns 白名单和设置防火墙 (PFSense),但不是同时使用。但到目前为止,我还没有成功。


(有问题的域名是 hogent.be(和 chamillo.hogent.be)都是我学校的网站。

答案1

尝试“防火墙”加密网站将带来无尽的麻烦。让我来解释一下原因:

  1. 所有内容都经过加密。您无法有效地查看 HTTP 请求的内容。有很多方法可以欺骗您能看到的未加密内容。(您可以欺骗 SNI 以代理到其他网站,而过滤解决方案会认为您正在访问一些有效的内容)
  2. 现代网站并不独立。您很快就会发现,世界上几乎每个网站都使用来自第三方的组件。(例如 jquery、各种渲染框架、oauth 等...)
  3. 许多公司使用第三方托管服务,如 amazon、akamai 和 rackspace。通过 IP 阻止/将网站列入白名单只是一个临时解决方案……您可能最终会阻止/允许您没有意识到托管在同一台服务器上的内容。此外,许多托管解决方案将使用负载平衡器,让您在网站之间来回移动。
  4. 网站经常使用子域名……这些子域名通常托管在多台服务器上。您最终会跳入域名的兔子洞以及与该域名相关的许多 CDN。例如,www.company.com 可能有 cdn[0-9].images.company.com、cdn[0-9].thumbnails.company.com、cdn[1-9].api.company.com、cdn[1-9].video.company.com,... 这个列表还在继续……并且可能深达数十层。

根据您阻止的方式/内容... 可能会导致各种各样的成功和失败... 而最可靠的方法需要几种不同的方法来阻止/允许网站。过滤 DNS 服务器、阻止/允许与特定 IP 和端口的连接以及启发式引擎的组合,以根据基线和发现可靠地过滤流量,确实是可靠地禁止不需要的访问的最佳方法。不幸的是,系统越先进,它们就越昂贵和/或耗时越多。在某些时候,你只能称之为“足够好”。

相关内容