请注意,我已将此问题发布到 StackExchange InfoSec 网站,但它并不像 ServerFault 那样受欢迎,而且更多涉及 Web 服务的网络收集技术方面。
我开始思考如何分析我的网络流量,以获取有关我的 Web 服务器群的 SSL 和浏览器使用情况的信息。我还怀疑我们的网络上正在运行一些影子(旧式、未知)Web 服务器,我想尝试捕获与它们的连接。
基本上我正在寻找一种廉价的解决方案,可以:
- 记录所有连接及其协议,类似于 Wireshark 记录源/目标和协议的方式,但不收集数据本身。仅收集标头和协议类型信息。(例如源/目标 IP 地址、协议和任何协议版本/详细信息,如 SSL/TLS 版本等...)
- 对于 HTTP 连接,记录浏览器的“User-Agent”属性。(这样我就可以被动地构建一些浏览器版本/兼容性图片)
- 能够对非标准端口进行此操作将是一个优点。将收集限制为仅特定协议是一个好主意。例如,仅收集 HTTP、SSL 和 TLS。
我最终会将一个专用于收集这些信息的服务器插入到我控制的每个交换机的镜像端口中。
这将有助于开展以下后续活动:
- 找出哪些 Web 服务允许使用弱 SSL/TLS 版本。例如,如果我看到任何 SSLv2/3,我会考虑查找并将这些 Web 服务器重新配置为最低 TLS v1.1。
- 了解最终用户 Web 浏览器的品牌和版本情况,这样我就可以决定可以安全地进行哪些最低限度的安全更改。例如,如果 15% 的浏览器是 Vista 上的 IE8(!),而不支持 TLSv1.1+,我就会提前知道。此外,我可以查看这些 IP,并确定其中是否有任何应调查的旧式网络资源,而不仅仅是某些使用过时软件的最终用户。
- 确定哪些 Web 服务 IP 地址尚不清楚,以便我可以追踪这些服务。
我之所以问这个问题,而不是继续尝试 tcpdump 和 OpenDPI,是因为担心性能问题。我不确定镜像千兆端口时是否会发生什么。捕获这些信息可能很困难(记住,我不需要数据包转储,只需要标头类型信息,它可以是折叠记录,我不需要知道每个连接,只需要 src/dst/protocol 唯一的连接),而且确定捕获是否失败也很困难。例如,我怎么知道 50% 的连接被忽略了?
我可能会运行一周来建立用户资料。
如果有人有任何建议或推荐,我愿意倾听。谢谢。