我们使用filter/代理设置进行configuration,以便大约500名用户通过运行SQUID的基于Unix的系统与SquidGuard进行路由,以阻止可疑内容并logging用户正在做什么。 我们发现,有些人可以通过使用HTTPS协议的免费在线代理来绕过这个阻断。 我无法find一种方法来阻止HTTPSstream量,而不会完全禁用它,这对于采购和HR(或具有银行网站的常规用户)来说不起作用。
有没有办法阻止或过滤HTTPSstream量与SQUID / Squidguard? 还是一些其他的开源监控程序? 其他人如何处理而不诉诸商业电器?
编辑:我们不是要观看交通 。 我们正在尝试监视这些url ,并根据需要屏蔽这些url 。 我们不想要信用卡号码等…我们想知道Johnny何时访问https://schoolssucksoweproxyforyou.com/playboy.com ,将该域添加到一个块文件,并阻止他们再次这样做。 看到下面的一些添加评论…
EDIT2:(Re:谈到人力资源,银行业等等)你可能不这样想,但是我们有一个人做采购,我们的地区包括分散在县城附近的7座build筑物,所以我们有一个负责人我们有同样的工作人员负责检查和银行logging,我们有负责工会工作人员和教员工作负责人,负责处理保险和伤害索赔和责任等人力资源信息。pipe理学校涉及很多事情,我不认为公众一直在想。 此外,我们确实遇到了一些问题,即阻止员工/教师进行在线银行业务,甚至学生无法访问某些网站以供在线使用(如networking任务),有时需要SSL连接才能工作,因此禁止HTTPS彻底在路由器将不可行。
无论如何,继续关于阻止某些人的build议,我没有看到一种方法来将function集成到每个用户的身份validation中; 如果凭据可以通过Windows传递,所以用户不需要继续使用另一个密码进行身份validation,这将是一个可行的解决scheme,但是我发现任何东西都是kludgey,并且不能可靠地工作。 然后是让人们记住另一个密码(或学生/员工窃取/共享密码)的问题。 我个人比较喜欢在全体员工和学生面前进行公平的过滤,而不是让老师能够做X的问题,而学生不足以做同样的事情。
最后,我找不到一种方法让服务器可靠地对Active Directory进行身份validation(集中用户pipe理并减less密码记住),或者如果我使用了不同的身份validationscheme,则意味着要保持同步的另一个数据库与…什么,最后计数,约1200用户左右? 因为每年我们都有孩子进出地区,gradle和新的进来吗?
我不打算在这里进入道德 – 也许你想在所有你不知道这个领域的网站上做这件事……无论如何,抛开伦理问题:
这是可能的,肯定需要为squid2添加比特,但是AFAIK squid3将会开箱即用。 一些商业networkingfilter供应商 通常MITM风格的攻击是唯一的方法。
整个HTTPSstream量点是在服务器和最终用户之间进行encryption的,所以没有其他人可以窥探它,包括你的filter。 您将无法对其进行任何内容过滤。 您可以执行的唯一HTTPS过滤function是将SSL端口阻止到特定的IP地址。
如果你的白名单,你会有一些误报 – 你没有想到的银行,需要HTTPSlogin或访问等有用的网站,如果你黑名单,你会有负载的负载 – 新的代理网站stream行每秒钟。
这是需要在政策层面解决的问题,而不是技术层面的问题。 如果有人在工作中对色情网站进行诋毁,并使用代理来绕过你的filter,那么人力资源部门应该把他们甩在手上,并威胁要终止。
这是一个由商业供应商实施的非常难看的解决scheme:
将浏览器的CA证书replace为您自己的CA证书
当一个连接被请求到一个未知的地址,代理连接到它自己的客户端,并且获取站点的证书
然后为您的网站生成一个伪造的证书,由您自己的CA签名
代理人然后有效地作为一个中间人(MITM)
你不能用股票鱿鱼来做这件事,但是我需要花费大约一天的时间来使用mod_perl来实现这个function。
如果IRC服务器看到XXX.XXX.XXX.XXX的连接,他们会尝试连接到这个IP,看看它是否是一个开放的代理服务器,如果是这样的话,他们可以做什么解决scheme来阻止这个IP。
这是我能想到的最接近的东西将是一个完全自动的解决scheme,但需要在你的最终工作。 这与其他关于白名单的build议结合起来,或者只是手工查看日志来查看,然后检查https的远程IP,看看它的托pipe网站可能是唯一的解决scheme
即使可以使用中间人技术,也不能监视HTTPSstream量的内容。 它会削弱整个事物的安全性,首先破坏使用HTTPS的重点。 但是,您可以从外部监控HTTPSstream量。
例如,您可以知道他们连接的网站,因为通过networking代理的所有HTTPSstream量都使用CONNECT方法启动,这是清除时传输的初始位。 这些信息可以用来帮助决定是否允许连接继续。
您还可以监视HTTPSstream量的带宽使用情况。 这可以帮助您了解他们是使用stream式传输video还是将其用于在线交易(如银行业务)。
您可能需要像DeleGate这样的http ssl代理作为Man-In-the-Middle代理
编辑:添加一个新的方式可能工作
也许你可以尝试在ssl端口传递所有的stream量,然后同时启动一个进程来检测目标服务器是否是ssl代理(如果不需要authentication,可以检测到),然后阻止它。
大多数基于内容的防火墙使用这种策略,首先通过它,然后检查并阻止它。
我知道这个问题是旧的,但我相信你应该使用DNS代理。 因此,您可以将您不需要的所有域(无论是否为SSL)列入黑名单。
例如,dnsmasq运行良好。 您可以将其configuration为透明的DNS代理。 有一个名为“Endian防火墙”的开源Linux发行版。 你可以使用它,它非常容易设置。
如果没有MITM,你肯定无法做到这一点,那就是有HTTPS网站的报告(他们访问了多less次,访问频率如何,等等)。