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 |
---|---|
|
Povolí rozšírené protokolovanie pre NetHSM. |
|
Nastavená odomykacia fráza automaticky odomkne kontajner počas štartu. |
|
Režim akceptuje hodnoty unix alebo unikernel, predvolené nastavenie je unix. |
|
Adresa URL/IP hostiteľa, na ktorom je spustená služba etcd. |
|
Port, na ktorom beží služba etcd, predvolene 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. |
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 |
---|---|
|
certifikát certifikačnej autority, ktorá podpísala klientsky certifikát a certifikát servera. |
|
Klientsky certifikát na overenie procesu NetHSM s úložiskom hodnôt kľúčov. |
|
Klientsky kľúč na overenie procesu NetHSM pomocou úložiska kľúč-hodnota. |
|
Certifikát servera pre API úložiska hodnôt kľúčov. |
|
Kľúč servera pre API úložiska kľúč-hodnota. |
|
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
$ podman 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
$ 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 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.