Entropie sur machine virtuelle

19 avril 2019 Non Par nospheratus

La définition de base de l’entropie, c’est la désorganisation d’un système. En informatique, c’est la capacité de générer des nombres aléatoires.
Les systèmes Linux utilisent notamment une fonction random() bien connu des développeurs, cette fonction va puiser dans un pool de nombres aléatoires qui sont générés à partir de source non prévisible comme : les frappes sur le clavier, le déplacement de la souris, les écritures ou les lectures sur les disques, etc… En gros la vie de la machine.

Le problème d’entropie se manifeste par un faible nombre aléatoire de disponible, que l’on peut voir avec la commande :

MyVM:>cat /proc/sys/kernel/random/entropy_avail
157

Si l’on a un nombre inférieur à 200, il y a un réel problème.

Une machine Linux verra donc les actions cryptées fortement ralenties si l’entropie est faible.

Sur un serveur Physique, les problèmes d’entropie n’existe pas. La système étant fortement lié à la structure physique. Par contre dans un environnement virtuel, les actions matériel sont masquées par l’hyperviseur. De ce fait la VM ne dispose que de très peu d’éléments pour générer ses nombres aléatoires, indispensables au chiffrage utilisé par ex dans SSH.

Pour palier à cela, on va utiliser un petit applicatif qui va travailler en tâche de fond pour générer ces nombres.

Mon choix se porte sur haveged qui au-delà du fait qu’il est performant, ne consomme que 4K de RAM, et s’évertue a conserver un pool de 1M de nombre aléatoire, ce qui est largement suffisant.

Pour installer, sous debian : apt-get install haveged

On peut vérifier ensuite la performance de l’outils :


MyVM:>cat /proc/sys/kernel/random/entropy_avail
2147

Ca va de suite beaucoup mieux ^^