Production Image#

Produkčný obraz je určený pre produkčné prostredia s vysokými nárokmi na bezpečnosť. Vyžaduje externé úložisko kľúčov etcd, ktoré je pripojené prostredníctvom šifrovaného spojenia. Proces NetHSM sa môže vykonávať s hardvérovým oddelením (KVM) a šifrovaním špecifickým pre zariadenie. Obraz je distribuovaný ako obraz OCI a možno ho spustiť lokálne pomocou kompatibilného vykonávacieho nástroja, napríklad Docker a Podman.

V porovnaní s hardvérom NetHSM nie sú v rozhraní REST API softvérového kontajnera implementované nasledujúce funkcie:

  • Network configuration

  • Factory reset

  • Reboot

  • Software update

Výrobný kontajner NetHSM je produkt určený len pre platiacich zákazníkov a možno ho zakúpiť na adrese tu. Obraz je možné získať z registra Nitrokey NetHSM pomocou prihlasovacích údajov poskytnutých po zakúpení.

Varovanie

Bezpečnosť softvérového kontajnera NetHSM výrazne závisí od bezpečnosti platformy. Kompromitovaná platforma by mohla ľahko ohroziť softvérový kontajner NetHSM, ktorý vykonáva. Okrem toho TRNG neexistuje, takže entropia používaná a poskytovaná NetHSM závisí od entropie platformy.

Zásady označovania#

Obrázky v úložisku sú označené hashom revízie systému Git a verziou vydania. Najnovší obraz je označený latest.

Modes of Operation#

Obraz je možné spustiť v dvoch režimoch prevádzky, t. j. ako unixový proces alebo unikernel.

V režime unixového procesu je NetHSM spustený ako proces nad operačným systémom.

V režime unikernel beží NetHSM ako hosť vo virtuálnom stroji založenom na KVM a poskytuje silné oddelenie od hostiteľského operačného systému. Tento režim je dostupný len v systéme Linux a vyžaduje prístup k uzlom zariadení /dev/tun a /dev/kvm a k možnosti NET_ADMIN.

Dôležité

Z dôvodu bezpečnosti sa rozhodnite spustiť kontajner v režime unikernel.

Režim možno nastaviť pomocou premennej prostredia MODE (pozri nasledujúcu kapitolu Konfigurácia).

Konfigurácia#

The container can be configured with the following environment variables.

Premenná prostredia

Popis

DEBUG_LOG

Povolí rozšírené protokolovanie pre NetHSM.

UNLOCKPW

Nastavená odomykacia fráza automaticky odomkne kontajner počas štartu.

MODE

Režim akceptuje hodnoty unix alebo unikernel, predvolené nastavenie je unix.

ETCD_HOST

Adresa URL/IP hostiteľa, na ktorom je spustená služba etcd.

ETCD_PORT

Port, na ktorom beží služba etcd, predvolene 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.

Tajné údaje kontajnera, ako sú certifikáty a súkromné kľúče, je potrebné nastaviť pomocou funkcie Secrets aplikácie Docker alebo Podman.

Tajná premenná

Popis

ca_cert

certifikát certifikačnej autority, ktorá podpísala klientsky certifikát a certifikát servera.

client_cert

Klientsky certifikát na overenie procesu NetHSM s úložiskom hodnôt kľúčov.

client_key

Klientsky kľúč na overenie procesu NetHSM pomocou úložiska kľúč-hodnota.

server_cert

Certifikát servera pre API úložiska hodnôt kľúčov.

server_key

Kľúč servera pre API úložiska kľúč-hodnota.

device_key

Kľúč zariadenia procesu NetHSM. Viac informácií o kľúči zariadenia nájdete v kapitole Terminológia a konvencie v návrhu systému.

Používanie#

Výrobný kontajner podporuje dva prevádzkové režimy ` <container.html#Modes of Operation>` __. Nasledujúce kapitoly popisujú, ako spustiť kontajner pomocou dodaných súborov compose alebo pomocou príkazu _run_.

Unix Mode#

Poskytnutý súbor môžete získať na adrese tu. Uistite sa, že máte k dispozícii potrebné súbory pre tajomstvá, ktoré sú uvedené v súbore compose.

Ak chcete spustiť kontajner bez súboru compose, musíte sami poskytnúť externý etcd. Tu nájdete odporúčaný obraz kontajnera etcd. Uistite sa, že ste odovzdali konfiguračné možnosti, ako je popísané v kapitole Konfigurácia.

Kontajner možno vykonať takto.

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

Spustí sa NetHSM ako unixový proces v kontajneri a sprístupní sa rozhranie REST API na porte 8443 prostredníctvom protokolu HTTPS.

Dôležité

Kontajner používa certifikát TLS s vlastným podpisom. Uistite sa, že na vytvorenie spojenia používate správne nastavenia pripojenia. Viac informácií nájdete v kapitole Úvod do NetHSM.

Režim Unikernel#

Poskytnutý súbor môžete získať na adrese tu. Uistite sa, že máte k dispozícii potrebné súbory pre tajomstvá, ktoré sú uvedené v súbore compose.

Ak chcete spustiť kontajner bez súboru compose, musíte sami poskytnúť externý etcd. Tu nájdete odporúčaný obraz kontajnera etcd. Uistite sa, že ste odovzdali konfiguračné možnosti, ako je popísané v kapitole Konfigurácia.

Kontajner možno vykonať takto.

$ 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

Tým sa NetHSM spustí ako unikernel vo virtuálnom stroji KVM. Kontajner sprístupní rozhranie REST API prostredníctvom protokolu HTTPS na rozhraní tap200 s IP adresou 192.168.1.100 a portom 8443.

Dôležité

Kontajner používa certifikát TLS s vlastným podpisom. Uistite sa, že na vytvorenie spojenia používate správne nastavenia pripojenia. Viac informácií nájdete v kapitole Úvod do NetHSM.