我们需要将某些计算机的 Internet 访问权限限制在某个网站列表中,并拒绝所有其他计算机的访问(白名单)。
其中一些网站使用 HTTPS,因此解决方案需要同时支持 HTTP 和 HTTPS。
我并不太担心人们会绕过过滤机制,因为这并不是为了防止恶意行为,而是为了阻止过去发生的意外恶意软件点击。
我宁愿将其集中安装,而不是必须在每台计算机上维护列表。我们目前有一个可以使用的 Linux 服务器。
我并不反对购买另一个盒子,比如某种防火墙,但有两个条件:
- 它不需要大量的年度订阅费用——因为我们自己创建白名单,所以我们不关心提供商的适当网站列表。
- 它允许列出相当多的白名单站点。我阅读了此类盒子的手册,但发现他们只允许在白名单中列出 64 个站点,考虑到某些站点有多个与之关联的域,这个数字相当小。
为此,我开始设置 Squid,看起来还不错,不过 Web 界面更适合添加到白名单中。有没有更好的解决方案?
答案1
您是否尝试过 Linux/BSD 的专用/自定义版本?pfSense 就是一个例子。Endian 防火墙是另一个例子。由于它们依赖 Squid 作为后端,理论上您当前所做的一切都应该得到支持。此外,您是否调查过 Squid 的前端,例如 Webmin 或 DansGuardian?
答案2
你只需要一个代理供所有人使用,一个允许你提到的规则的代理。你还应该寻找一个缓存的代理,因为它可以帮助你的用户并优化带宽。我建议乌贼。
答案3
我最终使用 DNSMasq 创建了白名单。这样做的好处是,它既适用于 HTTP,也适用于 HTTPS,并且每台计算机只需要进行最低限度的配置 - 只需将其 DNS 服务器设置为运行 DNSMasq 的服务器的 DNS 服务器即可。DNSMasq 配置为拒绝除已列入白名单的 DNS 请求之外的所有 DNS 请求 - 它会将这些请求转发到具有自己的 DNS 服务器的路由器。
这种方法的缺点是,此过滤器很容易被更改 DNS 服务器地址、使用代理或直接访问 IP 地址的人覆盖。在我的应用程序中,这种风险很低。
答案4
鱿鱼是简单的选择——正如其他人所建议的那样。
ufdbGuard 是 URL 过滤器最简单的选项。它是开源软件,可以从以下网址下载SourceForge 上的 ufdbGuard和URLfilterDB 上的 ufdbGuard。