Production Image#

A imagem de produção é fornecida para ambientes de produção com elevadas exigências de segurança. Requer um armazenamento de valores chave etcd externo que é ligado através de uma ligação encriptada. O processo NetHSM pode ser executado com separação baseada em hardware (KVM) e encriptação específica do dispositivo. A imagem é distribuída como imagem OCI e pode ser executada localmente com um executor compatível, como o Docker e o Podman.

Em comparação com o hardware do NetHSM, as seguintes funções não são implementadas na API REST do contentor de software:

  • Network configuration

  • Factory reset

  • Reiniciar

  • Software update

O contentor de produção NetHSM é um produto apenas para clientes pagantes e pode ser adquirido aqui. A imagem pode ser obtida em Nitrokey NetHSM registry utilizando as credenciais fornecidas após a compra.

Aviso

A segurança do contentor de software do NetHSM depende fortemente da segurança da plataforma. Uma plataforma comprometida poderia facilmente comprometer o contentor de software NetHSM que executa. Para além disso, o TRNG não existe, pelo que a entropia utilizada e fornecida pelo NetHSM depende da entropia da plataforma.

Política de marcação#

As imagens no repositório são marcadas com o hash do commit do Git e a versão do lançamento. A imagem mais recente é marcada com latest.

Modes of Operation#

Exemplos:

O modo de processo Unix executa o NetHSM como um processo em cima do sistema operativo.

O modo unikernel executa o NetHSM como convidado numa máquina virtual baseada em KVM e fornece uma forte separação do sistema operativo anfitrião. Este modo está disponível apenas no Linux e requer acesso aos nós de dispositivo /dev/tun e /dev/kvm e à capacidade NET_ADMIN.

Importante

Por razões de segurança, opte por executar o contentor no modo unikernel.

O modo pode ser definido com a variável de ambiente MODE (ver capítulo seguinte Configuração).

Configuração#

The container can be configured with the following environment variables.

Variável de ambiente

Descrição

DEBUG_LOG

Ativa o registo alargado para o NetHSM.

UNLOCKPW

Uma frase-chave de desbloqueio definida desbloqueia automaticamente o contentor durante o arranque.

MODE

O modo aceita os valores unix ou unikernel, o padrão é unix.

ETCD_HOST

O endereço URL/IP do anfitrião que está a executar o serviço etcd.

ETCD_PORT

A porta que executa o serviço etcd, o padrão é 2379.

ETCD_CA_CERT

The path to the certificate of the CA (Certificate Authority) which signed the client certificate.

ETCD_CLIENT_CERT

The path to the certificate for the client authentication.

ETCD_CLIENT_KEY

The path to the secret key for the client authentication.

Os segredos do tempo de execução do contentor, como certificados e chaves privadas, têm de ser definidos com a funcionalidade de segredos do Docker ou do Podman.

Variável secreta

Descrição

ca_cert

Uma sucursal com <x id=»14»></x>`<x id=»16»></x><x id=»32»></x>` abre abaixo de <x id=»47»></x>`<x id=»49»></x><x id=»52»></x>`. O estado do PIN OTP está agora disponível no lado esquerdo do separador <x id=»128»></x>`<x id=»130»></x><x id=»138»></x>`, incluindo uma breve descrição.

client_cert

Certificado de cliente para autenticação do processo NetHSM com o armazenamento de valores chave.

client_key

Chave de cliente para autenticação do processo NetHSM com o armazenamento de valores chave.

server_cert

Google

server_key

Chave de servidor para a API do armazenamento de valores chave.

device_key

Chave do dispositivo do processo NetHSM. Para saber mais sobre a chave do dispositivo, consulte o capítulo Terminologia e convenções na conceção do sistema.

Utilização#

O contentor de produção suporta dois modos de funcionamento ` <container.html#Modes of Operation>` __. Os capítulos seguintes descrevem como executar o contentor com os ficheiros de composição fornecidos ou com o comando _run_.

Unix Mode#

Pode obter um ficheiro de composição fornecido aqui. Certifique-se de que tem disponíveis os ficheiros necessários para os segredos, mencionados no ficheiro de composição.

Para executar o contentor sem o ficheiro compose, é necessário fornecer um etcd externo. Aqui encontra a imagem de contentor recomendada para o etcd. Certifique-se de passar as opções de configuração, como descrito no capítulo Configuração.

The container can be executed as follows.

$ docker run -ti --rm -p 8443:8443 registry.git.nitrokey.com/distribution/nethsm:latest

Isto irá executar o NetHSM como um processo Unix dentro do contentor e expor a API REST na porta 8443 através do protocolo HTTPS.

Importante

O contentor utiliza um certificado TLS auto-assinado. Certifique-se de que utiliza as definições de ligação corretas para estabelecer uma ligação. Consulte o capítulo Introdução ao NetHSM para saber mais.

Modo Unikernel#

Pode obter um ficheiro de composição fornecido aqui. Certifique-se de que tem disponíveis os ficheiros necessários para os segredos, mencionados no ficheiro de composição.

Para executar o contentor sem o ficheiro compose, é necessário fornecer um etcd externo. Aqui encontra a imagem de contentor recomendada para o etcd. Certifique-se de passar as opções de configuração, como descrito no capítulo Configuração.

The container can be executed as follows.

$ docker run -ti --rm -p 8443:8443 --device /dev/net/tun --device /dev/kvm --cap-add=NET_ADMIN -e "MODE=unikernel" registry.git.nitrokey.com/distribution/nethsm:latest

Isso executará o NetHSM como um unikernel dentro de uma máquina virtual KVM. O contentor irá expor a API REST, através do protocolo HTTPS, na interface tap200 com o endereço IP 192.168.1.100 e a porta 8443.

Importante

O contentor utiliza um certificado TLS auto-assinado. Certifique-se de que utiliza as definições de ligação corretas para estabelecer uma ligação. Consulte o capítulo Introdução ao NetHSM para saber mais.