Virtio RNG aktivieren


Virtio RNG ist ein paravirtualisierter Zufallszahlengenerator. Virtio RNG stellt Zufallszahlen aus einem Entropiepool bereit, der von der Hostmaschine Ihrer VM-Instanz generiert wird. Der Entropiepool erfasst willkürlich Informationen aus dem System und verwendet diese, um zufällige Zahlen zu generieren, die Sie für vertrauliche Informationen wie SSH-Schlüssel oder eindeutige IDs verwenden können.

Hinweise

  • Richten Sie die Authentifizierung ein, falls Sie dies noch nicht getan haben. Bei der Authentifizierung wird Ihre Identität für den Zugriff auf Google Cloud-Dienste und APIs überprüft. Zur Ausführung von Code oder Beispielen aus einer lokalen Entwicklungsumgebung können Sie sich wie folgt bei Compute Engine authentifizieren.
    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.

Beschränkungen

  • Virtio RNG ist für Windows-Images nicht verfügbar.
  • Standardmäßig verwenden Compute Engine-VMs Virtio RNG anstelle eines Daemons, um den Entropiepool des Gasts zu füllen. Wenn Sie einen Visio Collect-Daemon anstelle von oder mit Virtio RNG verwenden möchten, müssen Sie einen installieren. Ein Beispiel für einen Entropie-Daemon finden Sie in der Dokumentation zu rng-tools.

Prüfen, ob Virtio RNG aktiviert ist

Mit dem folgenden Befehl können Sie prüfen, ob Vitio RNG auf Ihrer VM aktiviert ist:

lsmod | grep rng

Wenn Virtio RNG aktiviert ist, sieht Ihre Ausgabe etwa so aus:

virtio_rng             16384  0
rng_core               16384  2 virtio_rng
virtio_ring            28672  4 virtio_rng,virtio_scsi,virtio_pci,virtio_net
virtio                 16384  4 virtio_rng,virtio_scsi,virtio_pci,virtio_net

Virtio RNG testen

Sie können Virtio RNG mit dem /dev/random-Gerät testen.

  1. Stellen Sie eine SSH-Verbindung zur VM her. Sie können zum Beispiel die gcloud CLI verwenden, um eine Verbindung herzustellen:

    gcloud compute ssh VM_NAME
    

    Ersetzen Sie VM_NAME durch den Namen Ihrer VM.

  2. Installieren Sie rng-tools:

    CentOS

    Installieren Sie rng-tools mit dem folgenden Befehl:

    sudo yum install rng-tools

    Debian

    Installieren Sie rng-tools mit dem folgenden Befehl:

    sudo apt install rng-tools

    Fedora CoreOS

    Installieren Sie rng-tools mit dem folgenden Befehl:

    sudo yum install rng-tools

    RHEL

    Installieren Sie rng-tools mit dem folgenden Befehl:

    sudo yum install rng-tools

    SLES

    Installieren Sie rng-tools mit dem folgenden Befehl:

    sudo zypper install rng-tools

    Ubuntu LTS

    Installieren Sie rng-tools mit dem folgenden Befehl:

    sudo apt install rng-tools

    Einige Ubuntu-Images geben den Fehler Package 'rng-tools' has no installation candidate zurück. Wenn dieser Fehler auftritt, führen Sie die folgenden Befehle aus:

    sudo apt update
    sudo apt install rng-tools
    
  3. Führen Sie auf der VM den Befehl rngtest aus:

    cat /dev/random | rngtest -c 1000
    

Wenn Vitio RNG nicht aktiviert ist, gibt der Befehl nichts zurück. Wenn es aktiviert ist, erhalten Sie eine Antwort ähnlich der folgenden:

rngtest 2-unofficial-mt.14..
rngtest: starting FIPS tests...
rngtest: bits received from input: 20000032
rngtest: FIPS 140-2 successes: 1000
rngtest: FIPS 140-2 failures: 0
rngtest: FIPS 140-2(2001-10-10) Monobit: 0
rngtest: FIPS 140-2(2001-10-10) Poker: 0
rngtest: FIPS 140-2(2001-10-10) Runs: 0
rngtest: FIPS 140-2(2001-10-10) Long run: 0
rngtest: FIPS 140-2(2001-10-10) Continuous run: 0
rngtest: input channel speed: (min=4.801; avg=7.318; max=7.839)Mibits/s
rngtest: FIPS tests speed: (min=39.005; avg=69.557; max=72.523)Mibits/s
rngtest: Program run time: 2880954 microseconds

Nächste Schritte