Como saber quando uma chave de entropia está sobrecarregada?

10

Eu tenho várias chaves de entropia com o egd na frente delas e, em seguida, todas as cargas são balanceadas pelo haproxy. Em seguida, tenho muitas máquinas clientes usando o IP do serviço haproxy como fonte de entropia na rede. Não faço ideia de quanta entropia eles estão solicitando.

As chaves de entropia podem produzir uma quantidade limitada de entropia utilizável. As especificações dizem um mínimo de 30 kilobit / s. Tanto quanto posso ver, a Chave de Entropia não tem como consultar o quanto está sendo solicitada. O protocolo EGD parece bastante difícil de detectar para encontrar essas informações. Os clientes podem solicitar uma quantidade variável de entropia e podem não receber a mesma quantidade.

Alguém encontrou uma maneira simples de medir quanto está sendo solicitado de uma Chave de Entropia?

Seria bom saber, para poder planejar quando chaves adicionais são necessárias e identificar clientes com problemas.

grifferz
fonte
O que é chave de entropia? É um RNG de hardware?
Hubert Kario
@HubertKario Sim . É fabricado pela Simtec Electronics no Reino Unido.
James O'Gorman

Respostas:

4

As únicas duas coisas que vêm à mente são tentar medir o tempo de resposta do seu servidor de entropia (deve haver um aumento significativo na latência, se não conseguir acompanhar) ou agrupar /proc/sys/kernel/random/entropy_availe monitorar a quantidade de entropia que você tem (suponho que egdestá usando /dev/randome não o hardware diretamente).

Hubert Kario
fonte
O ekeyd-egd-linux está acessando o hardware diretamente (e o AFAIK pode funcionar dessa maneira). Infelizmente, não tenho acesso a muitos clientes, portanto, não sei dizer quantos deles não estão recebendo a entropia solicitada. Eu acho que deveria poder solicitar alguma entropia diretamente da chave individual e verificar quanto tempo leva para fornecê-la, como você sugere. Isso deve me dar alguma dica sobre se está sobrecarregado, pelo menos.
grifferz
2

Parece que o tarball de origem ekeydpossui um plugin munin para fornecer estatísticas ekey.

Mesmo se você não estiver executando o munin, acho que seria possível extrapolar o script para algo útil para sua infraestrutura.

Acho que nós dois conhecemos os autores do dispositivo e do software, portanto, pode valer a pena estimulá-los. :-)

James O'Gorman
fonte
AFAIK, isso apenas expõe o que você pode obter do ekeydctl statsqual a simtec já confirmou que não vai me dizer o que eu preciso saber - eu já perguntei a eles. :( Eu só estava me perguntando o que os outros fizeram.
grifferz
0

Experimentar:

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

Quando terminar, ddreportará a largura de banda de leitura, para que você saiba a quantidade de entropia fornecida. Você pode executá-lo no servidor (desconectado de seus clientes) para medir a produção de entropia e nos clientes para medir quanto eles estão recebendo.

A interrupção do ddprocesso em execução com SIGUSR1sinal instrui-o a relatar suas estatísticas de E / S, para que você não precise esperar que ele termine (consulte man dd).

Além disso, os clientes devem expor um aumento no consumo de largura de banda de download, devido à entropia ser lida no servidor (por exemplo: nethogsmais netstat).

Luchostein
fonte