Habilita Virtio RNG


Virtio RNG es un generador de números aleatorios paravirtualizados. Proporciona números aleatorios de un grupo de entropía generado por la máquina anfitrión de tu instancia de máquina virtual (VM). El grupo de entropía recopila bits aleatorios de información del sistema y la usa para generar números aleatorios, que puedes usar para obtener información sensible, como claves SSH o ID únicos.

Antes de comenzar

  • Configura la autenticación si aún no lo hiciste. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. Para ejecutar un código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.
    1. Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init
    2. Configura una región y una zona predeterminadas.

Limitaciones

  • Virtio RNG no está disponible para las imágenes de Windows.
  • De forma predeterminada, las VM de Compute Engine usan Virtio RNG en lugar de un daemon para rellenar el grupo de entropía invitado. Si prefieres usar un daemon de recopilación de entropía en lugar de Virtio RNG o junto con él, debes instalar uno. Para ver un ejemplo de un daemon de recopilación de entropía, consulta la documentación de rng-tools.

Comprueba si Virtio RNG está habilitado

Para verificar si Virtio RNG está habilitado en tu VM, ejecuta el siguiente comando:

lsmod | grep rng

Cuando Virtio RNG está habilitado, el resultado es similar al siguiente:

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

Prueba Virtio RNG

Puedes probar Virtio RNG con el dispositivo /dev/random.

  1. Conéctate a la VM con SSH. Por ejemplo, puedes usar la CLI de gcloud para conectarte:

    gcloud compute ssh VM_NAME
    

    Reemplaza VM_NAME por el nombre de tu VM.

  2. Instala rng-tools:

    En CentOS

    Usa el siguiente comando para instalar rng-tools:

    sudo yum install rng-tools

    Debian

    Usa el siguiente comando para instalar rng-tools:

    sudo apt install rng-tools

    Fedora CoreOS

    Usa el siguiente comando para instalar rng-tools:

    sudo yum install rng-tools

    RHEL

    Usa el siguiente comando para instalar rng-tools:

    sudo yum install rng-tools

    SLES

    Usa el siguiente comando para instalar rng-tools:

    sudo zypper install rng-tools

    LTS de Ubuntu

    Usa el siguiente comando para instalar rng-tools:

    sudo apt install rng-tools

    Algunas imágenes de Ubuntu muestran un error Package 'rng-tools' has no installation candidate. Si recibes este error, ejecuta los siguientes comandos:

    sudo apt update
    sudo apt install rng-tools
    
  3. En la VM, ejecuta el comando rngtest:

    cat /dev/random | rngtest -c 1000
    

Si Virtio RNG no está habilitado, el comando no muestra nada. Si está habilitado, recibirás una respuesta similar a esta:

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

Próximos pasos