我已经在我的路由器中配置了 netflow,但我的路由器开销很大。所以我决定配置采样的 netflow 和 100 个数据包中的 1 个采样率,如果 Netflow 数据减少 50%,则可能会减少导出。所以你知道它不适合安全监控。
我想知道“乘以采样率来计算实际流量统计数据”的背景
你有什么建议?收集器上有什么解决方案吗?
我已经在我的路由器中配置了 netflow,但我的路由器开销很大。所以我决定配置采样的 netflow 和 100 个数据包中的 1 个采样率,如果 Netflow 数据减少 50%,则可能会减少导出。所以你知道它不适合安全监控。
我想知道“乘以采样率来计算实际流量统计数据”的背景
你有什么建议?收集器上有什么解决方案吗?
通常,该方法确实只是“将观察到的八位字节/数据包样本数乘以 100”(或 1000,或其他),这对于使总体流量大致正确非常好。它获得的数据包计数几乎完全正确,因为它每 100 个数据包进行一次采样。它或多或少地得到八位字节计数,因为通常每包字节数的比率非常稳定。
然而,对于单个会话,准确性差异很大:长时间运行的高容量会话,如流媒体视频或大量下载?由于与上述相同的原因,效果很好。非常短的会话,如 ICMP 或 DNS?它可以高估它们很多,并且其中许多被完全错过。
已确定的采样流的主要问题是:
其中,在大多数环境中唯一真正影响 DDoS 检测的是最后一个,因为它可能会导致延迟。当攻击占您流量的很大一部分时,采样流非常适合确定“我是否受到攻击”,因为即使单个流完全丢失,它也确实使总体流量大致正确。但是,如果对给定主机的攻击不是您整体流量的很大一部分,您就会遇到延迟和准确性问题。如果您想确定来源,那么您将面临更加困难的时期。(但由于这些攻击中有很多使用欺骗性来源,我怀疑这对您来说是个问题。)此外,如果您将此 NetFlow 流用于其他任何用途,您需要注意“平民”的准确性
采样影响的另一件事是会话计数本身,它几乎总是被低估,并且会影响检测对协议的低容量/高会话计数攻击的能力。我无法回答 SiLK,因为我也不知道它,也无法在文档中找到它,但我知道 FlowTraq(我更熟悉它)使用了一些先验知识采样对会话计数的影响以重建。
大多数收集器会进行统计重建,但需要注意的是您的路由器必须实际提供采样率(确保您的路由器遵循报告采样率和方法的规范)。同样,我对 FlowTraq 比对 SiLK 更熟悉,但我知道 SiLK 至少知道采样率。我不知道 SiLK 如何处理它,浏览他们的文档并没有启发我。我建议进行已知大小的大型文件传输并查看 SiLK 存储的流记录:如果它的数量级正确,那么它正在重建。如果它没有重建(或者您的路由器没有提供速率),那么在紧要关头,您始终可以将检测阈值除以 100 或 1000。
(如果您对采样 NetFlow 的数学感兴趣,顺便说一下,Hamed Haddadi 有几篇关于该主题的论文)
大多数 DDOS 设备都可以输入采样率并乘以数值,应该能够轻松检测到流量攻击。所以你不需要担心采样。大多数 ISP/DDOS 保护提供商使用采样网络流进行 DDOS 检测。从 DDOS 的角度来看,1:100 是可以的。这取决于您使用的收集器类型。