Production Image#

Produkční bitová kopie je určena pro produkční prostředí s vysokými nároky na zabezpečení. Vyžaduje externí úložiště klíčů etcd, které je připojeno prostřednictvím šifrovaného připojení. Proces NetHSM lze provádět s hardwarovým oddělením (KVM) a šifrováním specifickým pro zařízení. Obraz je distribuován jako obraz OCI a lze jej spustit lokálně pomocí kompatibilního spouštěče, jako je Docker a Podman.

V porovnání s hardwarem NetHSM nejsou v rozhraní REST API softwarového kontejneru implementovány následující funkce:

  • Network configuration

  • Factory reset

  • Reboot

  • Software update

Výrobní kontejner NetHSM je produkt určený pouze pro platící zákazníky a lze jej zakoupit na adrese zde. Obraz lze získat z registru Nitrokey NetHSM pomocí přihlašovacích údajů poskytnutých po zakoupení.

Varování

Zabezpečení softwarového kontejneru NetHSM silně závisí na zabezpečení platformy. Kompromitovaná platforma může snadno ohrozit softwarový kontejner NetHSM, který spouští. Navíc TRNG neexistuje, takže entropie používaná a poskytovaná NetHSM závisí na entropii platformy.

Zásady označování#

Obrazy v úložišti jsou označeny hashem revize systému Git a verzí vydání. Nejnovější obraz je označen latest.

Modes of Operation#

Obraz lze spustit ve dvou režimech provozu, tj. jako unixový proces nebo unikernel.

V režimu unixového procesu je NetHSM spuštěn jako proces nad operačním systémem.

V režimu unikernel běží NetHSM jako host ve virtuálním počítači založeném na KVM a poskytuje silné oddělení od hostitelského operačního systému. Tento režim je k dispozici pouze v systému Linux a vyžaduje přístup k uzlům zařízení /dev/tun a /dev/kvm a schopnost NET_ADMIN.

Důležité

Z důvodu bezpečnosti zvolte spuštění kontejneru v režimu unikernel.

Režim lze nastavit pomocí proměnné prostředí MODE (viz následující kapitola Konfigurace).

Konfigurace#

The container can be configured with the following environment variables.

Proměnná prostředí

Popis

Nastavená odemykací fráze automaticky odemkne kontejner při spuštění.

Povoluje rozšířené protokolování pro NetHSM.

UNLOCKPW

Nastavená odemykací fráze automaticky odemkne kontejner při spuštění.

MODE

Režim přijímá hodnoty unix nebo unikernel, výchozí hodnota je unix.

ETCD_HOST

Adresa URL/IP hostitele, na kterém je spuštěna služba etcd.

ETCD_PORT

Port, na kterém běží služba etcd, výchozí hodnota je 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.

Tajemství běhu kontejneru, jako jsou certifikáty a soukromé klíče, je třeba nastavit pomocí funkce secrets v nástroji Docker nebo Podman.

Tajná proměnná

Popis

ca_cert

certifikát certifikační autority, která podepsala klientský certifikát a certifikát serveru.

client_cert

Klientský certifikát pro ověřování procesu NetHSM s úložištěm hodnot klíčů.

client_key

Klientský klíč pro ověřování procesu NetHSM pomocí úložiště klíč-hodnota.

server_cert

Certifikát serveru pro rozhraní API úložiště hodnot klíčů.

server_key

Klíč serveru pro rozhraní API úložiště klíč-hodnota.

device_key

Klíč zařízení procesu NetHSM. Více informací o klíči zařízení naleznete v kapitole Terminologie a konvence v návrhu systému.

Použití#

Produkční kontejner podporuje dva provozní režimy ` <container.html#Modes of Operation>` __. Následující kapitoly popisují, jak kontejner spustit pomocí dodaných souborů compose nebo pomocí příkazu _run_.

Unix Mode#

Poskytnutý soubor compose můžete získat na adrese zde. Ujistěte se, že máte k dispozici potřebné soubory pro tajemství uvedené v souboru compose.

Chcete-li spustit kontejner bez souboru compose, musíte sami zajistit externí etcd. Zde najdete doporučený obraz kontejneru etcd. Nezapomeňte předat konfigurační volby, jak je popsáno v kapitole Konfigurace.

Kontejner lze spustit následujícím způsobem.

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

Tím se NetHSM spustí jako unixový proces uvnitř kontejneru a zpřístupní rozhraní REST API na portu 8443 prostřednictvím protokolu HTTPS.

Důležité

Kontejner používá certifikát TLS s vlastním podpisem. Ujistěte se, že pro navázání spojení používáte správné nastavení připojení. Více informací naleznete v kapitole Úvod do NetHSM.

Režim Unikernel#

Poskytnutý soubor compose můžete získat na adrese zde. Ujistěte se, že máte k dispozici potřebné soubory pro tajemství uvedené v souboru compose.

Chcete-li spustit kontejner bez souboru compose, musíte sami zajistit externí etcd. Zde najdete doporučený obraz kontejneru etcd. Nezapomeňte předat konfigurační volby, jak je popsáno v kapitole Konfigurace.

Kontejner lze spustit následujícím způsobem.

$ 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 se NetHSM spustí jako unikernel uvnitř virtuálního počítače KVM. Kontejner zpřístupní rozhraní REST API prostřednictvím protokolu HTTPS na rozhraní tap200 s IP adresou 192.168.1.100 a portem 8443.

Důležité

Kontejner používá certifikát TLS s vlastním podpisem. Ujistěte se, že pro navázání spojení používáte správné nastavení připojení. Více informací naleznete v kapitole Úvod do NetHSM.