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“.
Lyginant su NetHSM aparatine įranga, programinės įrangos konteinerio REST API neįgyvendinamos šios funkcijos:
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.
Unikernel režimu NetHSM paleidžiama kaip svečias virtualioje KVM virtualioje mašinoje ir stipriai atskiriama nuo pagrindinės operacinės sistemos. Šis režimas galimas tik „Linux“ sistemoje ir reikalauja prieigos prie /dev/tun
ir /dev/kvm
įrenginių mazgų bei NET_ADMIN
galimybės.
Svarbu
Saugumo sumetimais konteinerį paleiskite unikernel režimu.
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¶
Gamybos konteineris palaiko du veikimo režimus. Tolesniuose skyriuose aprašoma, kaip paleisti konteinerį naudojant pateiktus komponavimo failus arba komandą _run_.
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.