目前,我正在管理一个小型家庭办公室设置 - 几台电脑和一个基于 x86 *nix 的软开源路由器。我想将流量扫描/检查移到边缘设备上。
其目的是增加未检测到的恶意软件和可疑流量的障碍,将主要流量扫描与任何最终用户设备分开,并通过在 LAN 网关处进行扫描来提高确定性。
目前,他们使用的消费者防病毒软件通过在 PC 上创建虚假 CA 来有效扫描 SSL。这是一款不错的品牌防病毒软件,可以正常工作,但存在问题。如果问题不太严重,他们希望确保将其作为企业问题处理,使用“适当”手段(他们的术语),而不是基于 PC 的消费者软件。
很明显,恶意软件越来越多地转向加密流量,如果不进行扫描,加密流量可能与正常的 https 流量难以区分。我无法根据端点进行过滤(可接受的端点范围太广,无法列入白名单,甚至“好”网站也可能无意中托管恶意软件),而且您无法获得常规端口上加密流量的其他可靠数据。
使用者(3 个合作伙伴,没有员工)之间有信任和良好的对话,他们都希望如此,因此内部不会出现道德/同意/隐私问题。流量足够低(网络/电子邮件),不需要大容量或专门的 UTM。
SSL 扫描的实际问题是 SSL 专为检测和防止 MITM(这就是 MITM)而设计,因此扫描需要使用自己的 CA 重写数据包。这是一个非常糟糕的想法,会“破坏”证书链,所以最好不要这样做……但唯一的选择似乎是根本不扫描任何 SSL/https,这被视为风险更大,可能更糟糕。就像民主一样,除了所有其他解决方案之外,这是最糟糕的解决方案 ;-) 例如,由于浏览器或本地设备无法验证证书链,因此边缘设备必须为它们执行此操作,如果不正确,则阻止或警告。但理论上如果在丢弃之前可靠地检查了外部证书链,那么在网关处或网关旁边进行 MITM 检查可能比根本不扫描 SSL 更安全。
我环顾四周,这确实似乎“存在”并在企业中使用,但通常作为独立设备。
有没有一种公认的方法可以在不使用专门设备的情况下做到这一点?
更新 1:
他们年纪较大,没有在电脑的陪伴下长大,尽管他们付出了努力,但仍然倾向于先点击然后担心,或者每次有疑问时都打电话。与其他 SMB 一样,他们也使用工作电脑进行购物/浏览/社交等,这增加了风险 - 他们知道这一点。SSL 扫描已经捕获了相当多的东西,这些东西显然没有被基于 PC 的黑名单设置阻止,包括看似合法的网站或“没人知道怎么做”的网站。即使黑名单会捕获“大多数”东西,他们也希望在未来有更大的安心,这可能是相当明智的。我认为这可能是他们最好的方法,如果我能弄清楚它是否可行以及如何做到。如果主要的反对意见是“不值得麻烦”,那么我仍然想研究它,以便他们可以考虑成本/收益。但到目前为止,我能找到的只是高端设备,我找不到是否存在用于此功能的软件/ FOSS 解决方案,尽管人们期望它们存在。但如果有的话,我找不到,因此有这个问题。
答案1
是的,它们存在。例如,我们部署了 Watchguard 防火墙,T 系列是一款非常实惠的设备,针对小型办公室(在 Google/Bing 上搜索型号 WGT10031-US 以了解价格,我不想让这看起来像是推销)。所有型号都具有能够进行 SSL/TLS 检查的 HTTPS 代理(在其文档中称为深度数据包检查或内容检查)这是数据表:http://www.watchguard.com/docs/datasheet/wg_firebox-t10-t30-t50_ds.pdf
以及特定功能的文档链接(抱歉 URL 太丑了):http://www.watchguard.com/help/docs/fireware/11/en-US/index.html#en-US/proxies/https/https_proxy_contentinspection_c.html%3FTocPath%3DProxy%2520Settings%7CAbout%2520the%2520HTTPS-Proxy%7C_____2
对于软件解决方案,您可以查看类似 Untangle NG Firewall 的产品(http://www.untangle.com/untangle-ng-firewall/)。
以上只是几个例子。我不知道有任何 FOSS 解决方案,但这不是我的专业领域,所以我不会怀疑它们的存在。
如果您部署这样的解决方案,请注意以下几点:
- 您的所有端点都需要信任用于重新签署通过 HTTPS 发送的证书的任何 CA 证书。
- 一些应用程序会附带自己的证书,并且会违反 SSL 检查(常见的罪魁祸首是银行应用程序和远程会议应用程序),因此您需要排除它们的流量。
- Firefox 附带了针对热门网站的证书副本,因此即使设备信任 CA,您仍会在 Firefox 中收到针对许多网站的证书警告,而无需进行额外配置。
- 总体而言,要设定预期,即初期会遇到一些麻烦,并与用户保持良好的沟通,并计划花一些时间对损坏的网站和应用程序进行故障排除。我建议先部署您选择的设备/软件,然后解决其中的任何问题,并将内容检查实施视为一个单独的阶段。您不希望同时对多个模块和代理规则进行故障排除。
答案2
你说的是 TLS 做了一些本来设计用来阻止的事情。我想你明白这一点。
除此之外,我认为您正在尝试解决以下问题:
我该如何保护那些正在积极尝试感染/攻击的用户?
如果办公室里的每个人都不愿意遵守 IT 政策,例如“不要点击电子邮件中的 .exe”或“不要在公司电脑上看色情片”,那么唯一安全的做法就是将整个环境视为敌对环境。你这里存在人事问题,并试图用技术来解决它。看来你或公司不愿意做一些更理智的事情,比如解决人事问题,所以……
您在恶劣的 IT 环境中工作。您需要阻止一切。如果用户担心安全问题但又不愿意尽自己的一份力,请将他们锁定在以下基础上:
- 防止局域网机器相互通信。显然,内部网络并不比外部网络更值得信赖
- 仅允许用户与受信任的 DNS 服务器进行通信。受您控制的 DNS 服务器。带有黑名单的 DNS 服务器。
- 仅允许用户通过端口 80 和 443 与外界通信。它们会失去大量功能,但这应该可以缓解很大一部分恶意软件
- 仅在特定目的地开放额外的“世界”端口。
我们一般不在这里提供购物建议,但我认为你已经基本回答了你自己的问题:如果你想在像 TLS 这样的加密协议中进行花哨的入侵检测,你可能需要花费几美元。
实际上,你能为自己和公司做的最好的事情就是实施当(而不是如果)发生入侵时,可以使用良好的冷备份