Production Image

Imaginea de producție este prevăzută pentru mediile de producție cu cerințe de securitate ridicate. Aceasta necesită un depozit extern de chei-valori etcd care este conectat printr-o conexiune criptată. Procesul NetHSM poate fi executat cu separare bazată pe hardware (KVM) și criptare specifică dispozitivului. Imaginea este distribuită ca imagine OCI și poate fi rulată local cu un executor compatibil, cum ar fi Docker și Podman.

Comparativ cu hardware-ul NetHSM, următoarele funcții nu sunt implementate la API-ul REST al containerului software:

  • Network configuration

  • Factory reset

  • Reboot

  • Software update

Containerul de producție NetHSM este un produs destinat exclusiv clienților plătitori și poate fi achiziționat aici. Imaginea poate fi obținută de la Registrul Nitrokey NetHSM utilizând acreditările furnizate după cumpărare.

Atenționare

Securitatea containerului software NetHSM depinde în mare măsură de securitatea platformei. O platformă compromisă ar putea compromite cu ușurință un container software NetHSM pe care îl execută. În plus, TRNG nu există, astfel încât entropia utilizată și furnizată de NetHSM depinde de entropia platformei.

Politica de etichetare

Imaginile din depozit sunt etichetate cu hash-ul Git commit și versiunea versiunii. Cea mai recentă imagine este etichetată cu latest.

Modes of Operation

Imaginea poate fi rulată în două moduri de operare, și anume proces Unix sau unikernel.

Modul de procesare Unix rulează NetHSM ca un proces deasupra sistemului de operare.

Modul unikernel rulează NetHSM ca invitat într-o mașină virtuală bazată pe KVM și asigură o separare puternică de sistemul de operare gazdă. Acest mod este disponibil numai pe Linux și necesită acces la nodurile de dispozitive /dev/tun și /dev/kvm și la capacitatea NET_ADMIN.

Important

Pentru securitate, alegeți să rulați containerul în modul unikernel.

Modul poate fi setat cu ajutorul variabilei de mediu MODE (a se vedea capitolul următor Configurare).

Configurație

The container can be configured with the following environment variables.

Variabilă de mediu

Descriere

Ipsec (numai Linux)

Activează jurnalizarea extinsă pentru NetHSM.

UNLOCKPW

O frază de acces de deblocare setată deblochează automat containerul în timpul pornirii.

MODE

Modul acceptă valorile unix sau unikernel, implicit unix.

ETCD_HOST

Adresa URL/IP a gazdei care rulează serviciul etcd.

ETCD_PORT

Portul pe care rulează serviciul etcd, valoarea implicită este 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.

Secretele de execuție ale containerului, cum ar fi certificatele și cheile private, trebuie să fie setate cu funcția secrets din Docker sau Podman.

Variabilă secretă

Descriere

ca_cert

Certificatul CA care a semnat certificatul clientului și certificatul serverului.

client_cert

Certificat de client pentru autentificarea procesului NetHSM cu magazinul de valori cheie.

client_key

Cheia clientului pentru autentificarea procesului NetHSM cu magazinul de chei-valoare.

server_cert

Certificat de server pentru API al magazinului de valori cheie.

server_key

Cheia serverului pentru API a magazinului de valori cheie.

device_key

Cheia de dispozitiv a procesului NetHSM. Pentru a afla mai multe despre cheia dispozitivului, consultați capitolul Terminologie și convenții în proiectarea sistemului.

Utilizare

Containerul de producție acceptă două moduri de funcționare ` <container.html#Modes of Operation>` __. Următoarele capitole descriu modul de funcționare a containerului cu fișierele de compunere furnizate sau cu comanda _run_.

Unix Mode

Puteți obține un fișier compozit furnizat aici. Asigurați-vă că aveți la dispoziție fișierele necesare pentru secretele menționate în fișierul de compunere.

Pentru a rula containerul fără fișierul compose, trebuie să furnizați un etcd extern. Aici găsiți imaginea de container recomandată pentru etcd. Asigurați-vă că treceți opțiunile de configurare, așa cum este descris în capitolul Configuration.

Containerul poate fi executat după cum urmează.

$ docker run -ti --rm -p 8443:8443 registry.git.nitrokey.com/distribution/nethsm:latest

Aceasta va rula NetHSM ca un proces Unix în interiorul containerului și va expune API-ul REST pe portul 8443 prin intermediul protocolului HTTPS.

Important

Containerul utilizează un certificat TLS auto-semnat. Asigurați-vă că utilizați setările de conectare corecte pentru a stabili o conexiune. Vă rugăm să consultați capitolul NetHSM introducere pentru a afla mai multe.

Modul Unikernel

Puteți obține un fișier compozit furnizat aici. Asigurați-vă că aveți la dispoziție fișierele necesare pentru secretele menționate în fișierul de compunere.

Pentru a rula containerul fără fișierul compose, trebuie să furnizați un etcd extern. Aici găsiți imaginea de container recomandată pentru etcd. Asigurați-vă că treceți opțiunile de configurare, așa cum este descris în capitolul Configuration.

Containerul poate fi executat după cum urmează.

$ 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

Aceasta va rula NetHSM ca un unikernel în interiorul unei mașini virtuale KVM. Containerul va expune API-ul REST, prin intermediul protocolului HTTPS, pe interfața tap200 cu adresa IP 192.168.1.100 și portul 8443.

Important

Containerul utilizează un certificat TLS auto-semnat. Asigurați-vă că utilizați setările de conectare corecte pentru a stabili o conexiune. Vă rugăm să consultați capitolul NetHSM introducere pentru a afla mai multe.