如何判断熵密钥何时超载?

如何判断熵密钥何时超载?

我有几个熵密钥,前面有 egd,然后全部由 haproxy 进行负载平衡。然后我有许多客户端计算机使用 haproxy 服务 IP 作为网络熵源。我不知道他们请求了多少熵。

熵密钥可以产生有限数量的可用熵。规格说明最低约为 30 千比特/秒。据我所知,熵密钥无法查询请求的数量。EGD 协议似乎很难嗅探以找到此信息。客户端可以请求可变数量的熵,并且他们可能不会得到相同数量的熵。

是否有人找到一种简单的方法来测量从熵密钥请求了多少?

了解这一点会很好,这样就可以计划何时需要额外的钥匙,并发现失控的客户。

答案1

我想到的唯一两件事是尝试测量你的熵服务器的响应时间(如果它不能跟上,延迟应该会显著增加)或汇集/proc/sys/kernel/random/entropy_avail和监控你有多少熵(我假设这egd是使用/dev/random而不是直接使用硬件)。

答案2

看起来源 tarballekeyd有一个 munin 插件,可以提供 ekey 统计信息。

即使您没有运行 munin,我想也可以将脚本推断为适合您的基础设施的东西。

我认为我们都知道该设备和软件的作者,因此可能值得敦促他们。:-)

答案3

尝试:

dd if=/dev/random of=/dev/null bs=1K count=1M

当它完成时,dd将报告读取带宽,这样你就会知道提供的熵量。你可以在服务器(断开与客户端的连接)中运行它来测量熵的产生,并在客户端中运行它来测量它们接收了多少。

使用信号终止正在运行的dd进程SIGUSR1将指示它报告其 I/O 统计信息,因此您无需等待它完成(请参阅man dd)。

nethogs此外,由于从服务器读取了熵(例如: plus netstat),客户端的下载带宽消耗应该会增加。

相关内容