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 |
---|---|
|
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#
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
$ 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.