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 theNET_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 |
---|---|
|
Ativa o registo alargado para o NetHSM. |
|
Uma frase-chave de desbloqueio definida desbloqueia automaticamente o contentor durante o arranque. |
|
O modo aceita os valores unix ou unikernel, o padrão é unix. |
|
O endereço URL/IP do anfitrião que está a executar o serviço etcd. |
|
A porta que executa o serviço etcd, o padrão é 2379. |
|
The path to the certificate of the CA (Certificate Authority) which signed the client certificate. |
|
The path to the certificate for the client authentication. |
|
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 |
---|---|
|
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. |
|
Certificado de cliente para autenticação do processo NetHSM com o armazenamento de valores chave. |
|
Chave de cliente para autenticação do processo NetHSM com o armazenamento de valores chave. |
|
|
|
Chave de servidor para a API do armazenamento de valores chave. |
|
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
$ podman 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
$ podman 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.