Attivazione di Virtio RNG


Virtio RNG è un generatore di numeri casuali paravirtualizzato. Virtio RNG fornisce numeri casuali da un pool di entropia generato dalla macchina ospitante della tua istanza di macchina virtuale (VM). Il pool di entropia raccoglie bit di informazioni random dal sistema e li utilizza per generare numeri veramente random, che puoi utilizzare per informazioni sensibili, come chiavi SSH o ID univoci.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API. Google Cloud Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
    1. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.

Limitazioni

  • Virtio RNG non è disponibile per le immagini Windows.
  • Per impostazione predefinita, le VM Compute Engine utilizzano Virtio RNG anziché un daemon per rifornire il pool di entropia guest. Se preferisci utilizzare un daemon di raccolta dell'entropia anziché o insieme a Virtio RNG, devi installarne uno. Per un esempio di un demone di raccolta dell'entropia, consulta la documentazione di rng-tools.

Verifica dell'abilitazione di Virtio RNG

Puoi controllare se Virtio RNG è abilitato sulla tua VM eseguendo il seguente comando:

lsmod | grep rng

Quando Virtio RNG è attivato, l'output è simile al seguente:

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

Test del generatore di numeri casuali Virtio

Puoi testare Virtio RNG utilizzando il dispositivo /dev/random.

  1. Connettiti alla VM tramite SSH. Ad esempio, puoi utilizzare l'interfaccia a riga di comando gcloud per connetterti a:

    gcloud compute ssh VM_NAME
    

    Sostituisci VM_NAME con il nome della VM.

  2. Installa rng-tools:

    CentOS

    Utilizza il seguente comando per installare rng-tools:

    sudo yum install rng-tools

    Debian

    Utilizza il seguente comando per installare rng-tools:

    sudo apt install rng-tools

    Fedora CoreOS

    Utilizza il seguente comando per installare rng-tools:

    sudo yum install rng-tools

    RHEL

    Utilizza il seguente comando per installare rng-tools:

    sudo yum install rng-tools

    SLES

    Utilizza il seguente comando per installare rng-tools:

    sudo zypper install rng-tools

    Ubuntu LTS

    Utilizza il seguente comando per installare rng-tools:

    sudo apt install rng-tools

    Alcune immagini Ubuntu restituiscono un errore Package 'rng-tools' has no installation candidate. Se ricevi questo errore, esegui i seguenti comandi:

    sudo apt update
    sudo apt install rng-tools
    
  3. Nella VM, esegui il comando rngtest:

    cat /dev/random | rngtest -c 1000
    

Se Virtio RNG non è abilitato, il comando non restituisce nulla. Se è attivata, riceverai una risposta simile alla seguente:

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

Passaggi successivi