O Virtio RNG é um gerador de números aleatórios paravirtualizado. O Virtio RNG fornece números aleatórios a partir de um conjunto de entropia gerado pela máquina anfitriã da sua instância de máquina virtual (VM). O conjunto de entropia recolhe bits aleatórios de informações do sistema e usa essas informações para gerar números verdadeiramente aleatórios, que pode usar para informações confidenciais, como chaves SSH ou IDs únicos.
Antes de começar
-
Se ainda não o tiver feito, configure a autenticação.
A autenticação valida a sua identidade para aceder a Google Cloud serviços e APIs. Para executar código ou exemplos a partir de um ambiente de desenvolvimento local, pode autenticar-se no Compute Engine selecionando uma das seguintes opções:
-
Instale a CLI Google Cloud. Após a instalação, inicialize a CLI gcloud executando o seguinte comando:
gcloud init
Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.
- Set a default region and zone.
-
Limitações
- O Virtio RNG não está disponível para imagens do Windows.
- Por predefinição, as VMs do Compute Engine usam o Virtio RNG em vez de um daemon para repor o conjunto de entropia do convidado. Se preferir usar um daemon de recolha de entropia em vez de ou juntamente com o Virtio RNG, tem de instalar um. Para ver um exemplo de um daemon de recolha de entropia, consulte a documentação de
rng-tools
.
A verificar se o Virtio RNG está ativado
Pode verificar se o Virtio RNG está ativado na sua VM executando o seguinte comando:
lsmod | grep rng
Quando o Virtio RNG está ativado, o resultado é semelhante ao seguinte:
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
Testes de Virtio RNG
Pode testar o Virtio RNG através do dispositivo /dev/random
.
Estabeleça ligação à VM através do SSH. Por exemplo, pode usar a CLI gcloud para estabelecer ligação:
gcloud compute ssh VM_NAME
Substitua
VM_NAME
pelo nome da sua VM.Instale
rng-tools
:CentOS
Use o seguinte comando para instalar o
rng-tools
:sudo yum install rng-tools
Debian
Use o seguinte comando para instalar o
rng-tools
:sudo apt install rng-tools
Fedora CoreOS
Use o seguinte comando para instalar o
rng-tools
:sudo yum install rng-tools
RHEL
Use o seguinte comando para instalar o
rng-tools
:sudo yum install rng-tools
SLES
Use o seguinte comando para instalar o
rng-tools
:sudo zypper install rng-tools
Ubuntu LTS
Use o seguinte comando para instalar o
rng-tools
:sudo apt install rng-tools
Algumas imagens do Ubuntu devolvem um erro
Package 'rng-tools' has no installation candidate
. Se receber este erro, execute os seguintes comandos:sudo apt update sudo apt install rng-tools
Na VM, execute o comando
rngtest
:cat /dev/random | rngtest -c 1000
Se o Virtio RNG não estiver ativado, o comando não devolve nada. Se estiver ativada, recebe uma resposta semelhante à seguinte:
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
O que se segue?
- Saiba mais sobre o Virtio RNG
- Saiba mais sobre
/dev/random
- Veja os Detalhes do sistema operativo para saber mais acerca das imagens disponíveis no Compute Engine