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.

UNLOCKPW

Seadistatud avamisfraas avab konteineri automaatselt käivitamisel.

MODE

Režiim aktsepteerib väärtusi unix või unikernel, vaikimisi unix.

ETCD_HOST

URL/IP-aadress, kus etcd-teenus töötab.

ETCD_PORT

Port, mille kaudu etcd teenus töötab, vaikimisi on „2379“.

ETCD_CA_CERT

The path to the certificate of the CA (Certificate Authority) which signed the client certificate.

ETCD_CLIENT_CERT

The path to the certificate for the client authentication.

ETCD_CLIENT_KEY

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_cert

CA-sertifikaat, mis on allkirjastanud kliendi sertifikaadi ja serveri sertifikaadi.

client_cert

Kliendisertifikaat NetHSM-protsessi autentimiseks võtmeväärtuste hoidla abil.

client_key

Kliendi võti NetHSM-protsessi autentimiseks võtmeväärtuste salvestajaga.

server_cert

Võtmeväärtuste poe API serveri sertifikaat.

server_key

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

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

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.