23/11/2024

LinuxServices

Démarrage complet du service rngd sur CentOS 7

I. Présentation

Sur un système Linux, certaines applications ont besoin de plus d’entropie que d’autres, pour gérer le chiffrement. L’entropie caractérise le degré de désorganisation ou d’imprédictibilité du contenu en information d’un système. Sous CentOS, cette entropie est fournie par le service RNGD (Random Number Generator Daemon).

Depuis la nouvelle distribution CentOS7, on peut constater que sur certains systèmes ce service ne démarre pas tout à fait comme il le devrait. On peut dans ce cas le constater en exécutant la commande ci-dessous :

# systemctl status
● srv002
State: running
Jobs: 0 queued
Failed: 1 units
…

II. Identification du service fautif

Afin de déterminer quel service est ici en cause, on doit alors exécuter l’instruction suivante :

# systemctl --failed
UNIT LOAD ACTIVE SUB DESCRIPTION
● rngd.service loaded failed failed Hardware RNG 
Entropy Gatherer Daemon

Dans sa configuration par défaut, RNGD se base sur un périphérique /dev/hwrandom qui n’existe pas sur notre machine. Pour corriger ce comportement, il faut éditer le fichier de configuration du service /usr/lib/systemd/system/rngd.service afin d’y ajouter le paramètre (en gras ci-dessous):

# /usr/lib/systemd/system/rngd.service
[Unit]
Description=Hardware RNG Entropy Gatherer Daemon

[Service]
ExecStart=/sbin/rngd -f -r /dev/urandom

[Install]
WantedBy=multi-user.target

On peut alors recharger la configuration via la commande suivante :

# systemctl daemon-reload

Il ne reste plus alors qu’à démarrer le service et vérifier son statut via les instructions suivantes :

# systemctl start rngd

On peut alors s’assurer que tout fonctionne bien en exécutant la commande ci-dessous:

# systemctl status rngd
● rngd.service - Hardware RNG Entropy Gatherer Daemon
Loaded: loaded (/usr/lib/systemd/system/rngd.service; ...

III. Conclusion

J’espère que ce petit tutoriel vous aura intéressé. En tout cas il n’y a plus de problème désormais avec l’entropie de vos chers serveurs. Il suffit simplement de redémarrer le service rngd de la façon décrite ci-dessus.

author avatar
Philippe PIERRE
A exercé de nombreuses années en tant qu'administrateur de base de données et comme administrateur Système Unix/Linux. Il a enseigné les réseaux au CNAM (Paris). Aujourd'hui, employé en tant qu'ingénieur infrastructure, au sein d'un laboratoire pharmaceutique et administrant un cluster de calculs HPC, il connaît parfaitement les environnements GNU/Linux dans le cadre d'une entreprise et des systèmes de haute disponibilité. Il aime partager son expérience.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

3 commentaires sur “Démarrage complet du service rngd sur CentOS 7

  • Oui Linux est toujours aussi « simple » et clair et n’a jamais de défaut… LOL!

    Répondre
    • Bonsoir, Je n’aurai pas été jusque-là. Mais, une fois que l’on est aguerri et immunisé oui Linux est toujours aussi « simple » et clair 🙂

      Répondre
  • Il faut éviter d’éditer les fichiers des services systemd dans /usr/lib/systemd/system/*, ces fichiers sont écrasés lors de mise à jour. La méthode recommandé est d’utiliser la commande systemctl edit « NomDuService ». Cela place tout ou partie des modifications dans /etc, qui n’est pas écrasé durant des mises à jour.

    Répondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.