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. |
|
Nastavená odemykací fráze automaticky odemkne kontejner při spuštění. |
|
Režim přijímá hodnoty unix nebo unikernel, výchozí hodnota je unix. |
|
Adresa URL/IP hostitele, na kterém je spuštěna služba etcd. |
|
Port, na kterém běží služba etcd, výchozí hodnota je 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. |
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 |
---|---|
|
certifikát certifikační autority, která podepsala klientský certifikát a certifikát serveru. |
|
Klientský certifikát pro ověřování procesu NetHSM s úložištěm hodnot klíčů. |
|
Klientský klíč pro ověřování procesu NetHSM pomocí úložiště klíč-hodnota. |
|
Certifikát serveru pro rozhraní API úložiště hodnot klíčů. |
|
Klíč serveru pro rozhraní API úložiště klíč-hodnota. |
|
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
$ podman 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
$ 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
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.