Production Image

Produktionsbilledet er beregnet til produktionsmiljøer med høje sikkerhedskrav. Det kræver et eksternt etcd key-value store, som er forbundet via en krypteret forbindelse. NetHSM-processen kan udføres med hardwarebaseret adskillelse (KVM) og enhedsspecifik kryptering. Billedet distribueres som OCI-billede og kan køres lokalt med en kompatibel executor som Docker og Podman.

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

  • Network configuration

  • Factory reset

  • Reboot

  • Software update

NetHSM-produktionscontaineren er kun et produkt for betalende kunder og kan købes her. Billedet kan hentes fra Nitrokey NetHSM registry ved hjælp af de legitimationsoplysninger, der gives efter købet.

Advarsel

Sikkerheden i NetHSM-softwarecontaineren afhænger i høj grad af platformens sikkerhed. En kompromitteret platform kan nemt kompromittere en NetHSM-softwarecontainer, som den udfører. Derudover findes TRNG ikke, så den entropi, der bruges og leveres af NetHSM, afhænger af platformens entropi.

Politik for tagging

Billederne i depotet er tagget med Git commit-hash og versionen af udgivelsen. Det seneste billede er tagget med latest.

Modes of Operation

Billedet kan køres i to driftstilstande, dvs. Unix-proces eller unikernel.

  • Unix-procestilstanden kører NetHSM som en proces oven på operativsystemet.

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

Tilstanden kan indstilles med miljøvariablen MODE (se næste kapitel Konfiguration).

Konfiguration

The container can be configured with the following environment variables.

Miljøvariabel

Beskrivelse

DEBUG_LOG

Aktiverer udvidet logning for NetHSM.

UNLOCKPW

En indstillet oplåsningspassphrase låser automatisk containeren op under start.

MODE

Tilstanden accepterer værdierne unix eller unikernel, standard er unix.

ETCD_HOST

URL/IP-adressen på den vært, der kører etcd-tjenesten.

ETCD_PORT

Den port, der kører etcd-tjenesten, standard er 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.

Containerens runtime-hemmeligheder som certifikater og private nøgler skal indstilles med hemmelighedsfunktionen i Docker eller Podman.

Hemmelig variabel

Beskrivelse

ca_cert

CA-certifikat, som har signeret klientcertifikatet og servercertifikatet.

etcd_client_cert

Klientcertifikat til godkendelse af NetHSM-processen med nøgleværdilageret.

etcd_client_key

Klientnøgle til autentificering af NetHSM-processen med key-value store.

etcd_server_cert

Servercertifikat til API’en for nøgleværdilageret.

etcd_server_key

Servernøgle til API’en for nøgleværdilageret.

device_key

Enhedsnøgle for NetHSM-processen. For at få mere at vide om enhedsnøglen henvises til kapitel Terminologi og konventioner i systemdesignet.

Anvendelse

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

Du kan få en medfølgende compose-fil her. Sørg for, at du har de nødvendige filer til de hemmeligheder, der er nævnt i compose-filen, til rådighed.

For at køre containeren uden compose-filen skal du selv sørge for en ekstern etcd. Her finder du det anbefalede container-image til etcd. Sørg for at videregive konfigurationsindstillingerne som beskrevet i kapitlet Konfiguration.

Beholderen kan udføres på følgende måde.

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

Dette vil køre NetHSM som en Unix-proces inde i containeren og eksponere REST-API’en på port 8443 via HTTPS-protokollen.

Vigtigt

Beholderen bruger et selvsigneret TLS-certifikat. Sørg for at bruge de korrekte forbindelsesindstillinger for at oprette en forbindelse. Se kapitel NetHSM-introduktion for at få mere at vide.

Unikernel-tilstand

Du kan få en medfølgende compose-fil her. Sørg for, at du har de nødvendige filer til de hemmeligheder, der er nævnt i compose-filen, til rådighed.

For at køre containeren uden compose-filen skal du selv sørge for en ekstern etcd. Her finder du det anbefalede container-image til etcd. Sørg for at videregive konfigurationsindstillingerne som beskrevet i kapitlet Konfiguration.

Beholderen kan udføres på følgende måde.

$ 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

Dette vil køre NetHSM som en unikernel inde i en virtuel KVM-maskine. Containeren vil eksponere REST-API’en via HTTPS-protokollen på grænsefladen tap200 med IP-adressen 192.168.1.100 og port 8443.

Vigtigt

Beholderen bruger et selvsigneret TLS-certifikat. Sørg for at bruge de korrekte forbindelsesindstillinger for at oprette en forbindelse. Se kapitel NetHSM-introduktion for at få mere at vide.