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.

Compared to the NetHSM hardware the following functions are not implemented at the software container’s REST API:

  • 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.

  • The unikernel mode runs NetHSM as a guest in a KVM based virtual machine and provides strong separation from the host operating system. This mode is only available on Linux and requires access to the /dev/tun and /dev/kvm device nodes and the NET_ADMIN capability. For security reasons we recommend the unikernel mode.

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.

etcd_client_cert

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

etcd_client_key

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

etcd_server_cert

Google

etcd_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

The production container supports two modes of operation. The following chapters describe how to run the container with the provided compose files or with the run command.

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.