Production Image#
Tootmiskujutis on ette nähtud kõrgete turvanõuetega tootmiskeskkondade jaoks. See nõuab välist etcd võtmeväärtuste salvestust, mis on ühendatud krüpteeritud ühenduse kaudu. NetHSM-protsessi saab teostada riistvarapõhise eraldamise (KVM) ja seadmespetsiifilise krüpteerimisega. Image on levitatud OCI image’ina ja seda saab käivitada lokaalselt ühilduva käivitajaga, nagu Docker ja Podman.
Võrreldes NetHSMi riistvaraga ei ole järgmised funktsioonid rakendatud tarkvarakonteineri REST API-s:
Network configuration
Factory reset
Reboot
Software update
NetHSM tootmiskonteiner on toode ainult maksvatele klientidele ja seda saab osta siit. Imago on võimalik saada Nitrokey NetHSM registrist, kasutades pärast ostu sooritamist antud volitusi.
Hoiatus
NetHSM tarkvara konteineri turvalisus sõltub suuresti platvormi turvalisusest. Kompromiteeritud platvorm võib kergesti ohustada NetHSMi tarkvarakonteinerit, mida ta täidab. Lisaks sellele ei ole TRNG olemas, nii et NetHSMi kasutatav ja pakutav entroopia sõltub platvormi entroopiast.
Märgistamise poliitika#
Repositooriumis olevad pildid on märgistatud Git-kommitatsiooni hashiga ja väljaande versiooniga. Viimane pilt on märgistatud latest
.
Modes of Operation#
Kujutist saab käivitada kahes töörežiimis, st Unixi protsessina või unikernelina.
Unixi protsessirežiim käivitab NetHSMi protsessina operatsioonisüsteemi peal.
Unikernel-režiimis töötab NetHSM külalisena KVM-põhises virtuaalmasinas ja tagab tugeva eraldatuse vastuvõtvast operatsioonisüsteemist. See režiim on saadaval ainult Linuxis ja nõuab juurdepääsu /dev/tun
ja /dev/kvm
seadmesõlmedele ja NET_ADMIN
võimekusele.
Tähtis
Turvalisuse huvides valige konteineri käivitamine unikernel-režiimis.
Režiimi saab määrata keskkonnamuutujaga MODE
(vt järgmine peatükk Configuration).
Konfiguratsioon#
The container can be configured with the following environment variables.
Keskkonna muutuja |
Kirjeldus |
---|---|
„DEBUG_LOG |
Võimaldab NetHSMi laiendatud logimise. |
|
Seadistatud avamisfraas avab konteineri automaatselt käivitamisel. |
|
Režiim aktsepteerib väärtusi unix või unikernel, vaikimisi unix. |
|
URL/IP-aadress, kus etcd-teenus töötab. |
|
Port, mille kaudu etcd teenus töötab, vaikimisi on „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. |
Konteineri tööaja saladused, näiteks sertifikaadid ja privaatvõtmed, tuleb määrata Dockeri või Podmani saladuste funktsiooniga.
Salajane muutuja |
Kirjeldus |
---|---|
|
CA-sertifikaat, mis on allkirjastanud kliendi sertifikaadi ja serveri sertifikaadi. |
|
Kliendisertifikaat NetHSM-protsessi autentimiseks võtmeväärtuste hoidla abil. |
|
Kliendi võti NetHSM-protsessi autentimiseks võtmeväärtuste salvestajaga. |
|
Võtmeväärtuste poe API serveri sertifikaat. |
|
Võtmeväärtuste poe API serveri võti. |
„device_key |
NetHSM-protsessi seadme võti. Lisateavet seadme võtme kohta leiate peatükist Terminoloogia ja konventsioonid süsteemidisainis. |
Kasutamine#
Tootmiskonteiner toetab kahte töörežiimi. Järgnevates peatükkides kirjeldatakse, kuidas konteinerit käivitada kaasasolevate kompositsioonifailide või käsuga _run_.
Unix Mode#
Salajane muutuja
Konteineri käivitamiseks ilma compose-failita peate ise esitama välise etcd. Siit leiate etcd jaoks soovitatud konteineri kujutise. Veenduge, et edastate konfiguratsioonivalikud, nagu on kirjeldatud peatükis Configuration.
Konteinerit saab täita järgmiselt.
$ 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
See käivitab NetHSMi kui Unixi protsessi konteineri sees ja avab REST API portis 8443 HTTPS-protokolli kaudu.
Tähtis
Konteiner kasutab ise allkirjastatud TLS-sertifikaati. Veenduge, et ühenduse loomiseks kasutate õigeid ühendussätteid. Lisateavet leiate peatükist NetHSMi tutvustus.
Unikerneli režiim#
Saate etteantud kompositsioonifaili siit. Veenduge, et teil on olemas vajalikud failid saladuste jaoks, mida on mainitud compose-failis.
Konteineri käivitamiseks ilma compose-failita peate ise esitama välise etcd. Siit leiate etcd jaoks soovitatud konteineri kujutise. Veenduge, et edastate konfiguratsioonivalikud, nagu on kirjeldatud peatükis Configuration.
Konteinerit saab täita järgmiselt.
$ 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
See käivitab NetHSMi kui unikerneli KVM-i virtuaalmasina sees. Konteiner avab REST API HTTPS-protokolli kaudu liidesel tap200 IP-aadressiga 192.168.1.100 ja pordiga 8443.
Tähtis
Konteiner kasutab ise allkirjastatud TLS-sertifikaati. Veenduge, et ühenduse loomiseks kasutate õigeid ühendussätteid. Lisateavet leiate peatükist NetHSMi tutvustus.