我已经为一家公司安装了 Squid 代理服务器,现在他们要求我为 Squid 添加黑名单功能。
最明显的想法就是在互联网上找到一个巨大的黑名单文件,然后将其作为外部文件连接到 squid 配置中。
另一种选择是使用像 squidguard 这样的专用解决方案。
我还想加入通过 Web 界面编辑和添加黑名单条目的功能。虽然这并非绝对必要,因为我可以用 php 自己编写。
我欢迎任何建议。我的主要优先事项是性能和可靠性,如果可能的话,我希望保持简单。
答案1
我已经很久没这样做了。不过,我曾在一所宗教寄宿学校工作过一段时间,他们喜欢屏蔽一切。
我一直在寻找相同的 feed,但似乎找不到。我的方法是找到一个在网上维护的列表,然后我编写了一个简单的 bash 脚本来 curl 该列表,将其回显到相应的列表中,然后重新启动 squid。
我知道这很简单,除非你一直在那里工作,否则这可能是站不住脚的。希望这个想法能有所帮助,但我确信你走在正确的道路上。
答案2
我不知道有什么 Web 界面可以管理 Squid 黑名单,但你可能需要看看丹斯卫士。它有非常好的黑名单,并且可以根据您的需要进行编辑。
答案3
如果您需要便宜或免费的解决方案,那么像 Squid ACL 这样的庞大黑名单是一个有效的选择。
但是,如果你严重地担心阻止访问某些类别的 Web 内容,您需要一个解决方案,该解决方案还可以阻止所有代理(过滤规避器),并且 URL 数据库错误较少。有各种专业的解决方案,从便宜到昂贵不等。
您提到了 squidguard,但 ufdbGuard 的开发是在 5 年前 squidguard 停止的地方进行的。除了传统的 URL 过滤之外,ufdbGuard 还可以检测 SSH 隧道、VPN 和其他试图绕过 URL 过滤器的解决方案。ufdbGuard 的配置语法与 squidGuard 相同,并且是开源软件。您可以从http://sourceforge.net/projects/ufdbguard/或者www.urlfilterdb.com.ufdbGuard 可与免费数据库和商业数据库配合使用。
答案4
使用 squid 和黑名单https://oisd.nl/
Squid ACL 示例:
acl myblacklist dstdomain "/path_to/myblacklist"
http_access deny myblacklist