Production Image¶
Gamybinis atvaizdas skirtas gamybinei aplinkai, kuriai keliami aukšti saugumo reikalavimai. Jam reikia išorinės etcd raktų ir verčių saugyklos, kuri prijungiama šifruotu ryšiu. NetHSM procesas gali būti vykdomas naudojant aparatine įranga pagrįstą atskyrimą (KVM) ir konkretaus įrenginio šifravimą. Atvaizdas platinamas kaip OCI atvaizdas ir gali būti paleistas vietoje naudojant suderinamą vykdomąją programą, pavyzdžiui, „Docker“ ir „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“ gamybos konteineris yra tik mokantiems klientams skirtas produktas, kurį galima įsigyti čia. Atvaizdą galima gauti iš „Nitrokey NetHSM“ registro, naudojantis po pirkimo pateiktais prisijungimo duomenimis.
Įspėjimas
NetHSM programinės įrangos konteinerio saugumas labai priklauso nuo platformos saugumo. Pažeista platforma gali lengvai pakenkti jos vykdomam NetHSM programinės įrangos konteineriui. Be to, TRNG nėra, todėl „NetHSM“ naudojama ir teikiama entropija priklauso nuo platformos entropijos.
Žymėjimo politika¶
Atvaizdai saugykloje žymimi „Git“ įsipareigojimo hash ir išleidimo versija. Naujausias atvaizdas pažymėtas latest
.
Modes of Operation¶
Atvaizdą galima paleisti dviem režimais, t. y. „Unix“ proceso arba unikernel.
„Unix“ procesų režimu NetHSM paleidžiamas kaip operacinės sistemos procesas.
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 theNET_ADMIN
capability. For security reasons we recommend the unikernel mode.
Režimą galima nustatyti aplinkos kintamuoju MODE
(žr. kitą skyrių Konfigūracija).
Konfigūracija¶
The container can be configured with the following environment variables.
Aplinkos kintamasis |
Aprašymas |
---|---|
|
Įjungiamas išplėstinis NetHSM registravimas. |
|
Nustatyta atrakinimo slaptažodžių frazė automatiškai atrakina konteinerį paleidimo metu. |
|
Režimas gali būti unix arba unikernel, numatytoji reikšmė yra unix. |
|
Kompiuterio, kuriame veikia etcd paslauga, URL/IP adresas. |
|
Prievadas, per kurį veikia etcd paslauga, numatytasis nustatymas yra 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. |
Konteinerio paleidimo paslaptis, pavyzdžiui, sertifikatus ir privačius raktus, reikia nustatyti naudojant „Docker“ arba „Podman“ paslapčių funkciją.
Slaptasis kintamasis |
Aprašymas |
---|---|
|
CA sertifikatas, kuriuo pasirašytas kliento sertifikatas ir serverio sertifikatas. |
|
Kliento sertifikatas, skirtas „NetHSM“ proceso autentiškumo patvirtinimui su raktų reikšmių saugykla. |
|
Kliento raktas, skirtas „NetHSM“ proceso autentiškumui patvirtinti naudojant raktų ir reikšmių saugyklą. |
|
Serverio sertifikatas, skirtas raktų reikšmių saugyklos API. |
|
Serverio raktas, skirtas raktų ir reikšmių saugyklos API. |
|
NetHSM proceso įrenginio raktas. Daugiau informacijos apie įrenginio raktą rasite skyriuje Terminologija ir sutartiniai ženklai sistemos projekte. |
Naudojimas¶
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¶
Galite gauti pateiktą kompaktinį failą čia. Įsitikinkite, kad turite reikiamų paslapčių failų, paminėtų compose faile.
Jei norite paleisti konteinerį be compose failo, turite patys pateikti išorinį etcd. Čia rasite rekomenduojamą etcd konteinerio atvaizdą. Būtinai perduokite konfigūracijos parinktis, kaip aprašyta skyriuje Konfigūracija.
Konteineris gali būti vykdomas taip.
$ 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
Tai paleis NetHSM kaip „Unix“ procesą konteinerio viduje ir atskleis REST API per HTTPS protokolą prievado 8443 adresu.
Svarbu
Konteineryje naudojamas savarankiškai pasirašytas TLS sertifikatas. Norėdami užmegzti ryšį, įsitikinkite, kad naudojate tinkamus ryšio nustatymus. Norėdami sužinoti daugiau, žr. skyrių NetHSM įvadas.
Unikernel režimas¶
Galite gauti pateiktą kompaktinį failą čia. Įsitikinkite, kad turite reikiamų paslapčių failų, minimų compose faile.
Jei norite paleisti konteinerį be compose failo, turite patys pateikti išorinį etcd. Čia rasite rekomenduojamą etcd konteinerio atvaizdą. Būtinai perduokite konfigūracijos parinktis, kaip aprašyta skyriuje Konfigūracija.
Konteineris gali būti vykdomas taip.
$ 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
Tai leis paleisti NetHSM kaip unikernelį KVM virtualioje mašinoje. Konteineris atskleis REST API per HTTPS protokolą sąsajoje tap200 su IP adresu 192.168.1.100 ir prievadu 8443.
Svarbu
Konteineryje naudojamas savarankiškai pasirašytas TLS sertifikatas. Norėdami užmegzti ryšį, įsitikinkite, kad naudojate tinkamus ryšio nustatymus. Norėdami sužinoti daugiau, žr. skyrių NetHSM įvadas.