¿Cómo saber cuándo una clave de entropía está sobrecargada?

10

Tengo varias claves de entropía con egd delante de ellas y luego todas las cargas están equilibradas por haproxy. Luego tengo muchas máquinas cliente que utilizan el servicio IP de haproxy como fuente de red de entropía. No tengo idea de cuánta entropía están solicitando.

Las teclas de entropía pueden producir una cantidad limitada de entropía utilizable. Las especificaciones dicen aproximadamente 30 kilobit / seg como mínimo. Hasta donde puedo ver, la Clave de entropía no tiene una forma de consultar cuánto se solicita. El protocolo EGD parece bastante difícil de detectar para encontrar esta información. Los clientes pueden solicitar una cantidad variable de entropía, y es posible que no recuperen la misma cantidad.

¿Alguien ha encontrado una manera simple de medir cuánto se solicita de una clave de entropía?

Sería bueno saberlo para poder planificar cuándo se requieren claves adicionales y detectar clientes descontrolados.

Grifferz
fuente
¿Qué es la clave de entropía? ¿Es un hardware RNG?
Hubert Kario
@HubertKario . Es fabricado por Simtec Electronics en el Reino Unido.
James O'Gorman

Respuestas:

4

Las dos únicas cosas que vienen a la mente son tratar de medir el tiempo de respuesta de su servidor de entropía (debería haber un aumento significativo en la latencia si no puede mantenerse al día) o agrupar /proc/sys/kernel/random/entropy_availy monitorear cuánta entropía tiene (supongo que egdestá usando /dev/randomy no el hardware directamente).

Hubert Kario
fuente
ekeyd-egd-linux está accediendo directamente al hardware (y AFAIK solo puede funcionar de esta manera). Lamentablemente, no tengo acceso a muchos de los clientes, por lo que no puedo decir cuántos de ellos no obtienen la entropía que solicitan. Creo que debería poder solicitar un poco de entropía directamente de la clave individual y verificar cuánto tiempo tarda en proporcionarla como usted sugiere. Eso debería darme una pista de si al menos está sobrecargado.
grifferz
2

Parece que la fuente tarball ekeydtiene un complemento munin para proporcionar estadísticas ekey.

Incluso si no está ejecutando munin, supongo que sería posible extrapolar el script en algo utilizable para su infraestructura.

Sin embargo, creo que ambos conocemos a los autores del dispositivo y el software, por lo que podría valer la pena insinuarlos. :-)

James O'Gorman
fuente
AFAIK esto solo expone lo que puede obtener de lo ekeydctl statsque Simtec ya ha confirmado, no me dirá lo que necesito saber, ya les he preguntado. :( Me preguntaba qué hicieron los demás.
grifferz
0

Tratar:

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

Cuando finalice, ddinformará el ancho de banda de lectura, para que sepa la cantidad de entropía proporcionada. Puede ejecutarlo en el servidor (desconectado de sus clientes) para medir la producción de entropía, y en los clientes, para medir cuánto reciben.

Matar el ddproceso en ejecución con SIGUSR1señal le indicará que informe sus estadísticas de E / S, por lo que no necesita esperar a que termine (ver man dd).

Además, los clientes deben exponer un aumento en su consumo de ancho de banda de descarga, debido a la entropía que se lee desde el servidor (por ejemplo: nethogsplus netstat).

Luchostein
fuente