Production Image¶
Tuotantokuva on tarkoitettu tuotantoympäristöihin, joissa on korkeat turvallisuusvaatimukset. Se vaatii ulkoisen etcd-avainarvosäilön, joka on liitetty salatun yhteyden kautta. NetHSM-prosessi voidaan suorittaa laitteistopohjaisella erottelulla (KVM) ja laitekohtaisella salauksella. Kuva jaetaan OCI-kuvana, ja sitä voidaan ajaa paikallisesti yhteensopivalla toteuttajalla, kuten Dockerilla ja Podmanilla.
NetHSM-laitteistoon verrattuna seuraavia toimintoja ei ole toteutettu ohjelmistosäiliön REST API:ssa:
Network configuration
Factory reset
Reboot
Software update
NetHSM-tuotantokontti on vain maksaville asiakkaille tarkoitettu tuote, ja sen voi ostaa täältä. Kuvan voi saada Nitrokey NetHSM -rekisteristä käyttämällä oston jälkeen annettuja tunnuksia.
Varoitus
NetHSM-ohjelmistosäiliön turvallisuus riippuu vahvasti alustan turvallisuudesta. Vaarantunut alusta voi helposti vaarantaa sen suorittaman NetHSM-ohjelmistosäiliön. Lisäksi TRNG:tä ei ole olemassa, joten NetHSM:n käyttämä ja tarjoama entropia riippuu alustan entropiasta.
Merkintäkäytäntö¶
Arkistossa olevat kuvat on merkitty Git-tiedonsiirron hashilla ja julkaisun versiolla. Uusin kuva on merkitty tunnisteella latest
.
Modes of Operation¶
Kuvaa voidaan käyttää kahdessa toimintatilassa, eli Unix-prosessina tai unikernelinä.
Unix-prosessitilassa NetHSM toimii prosessina käyttöjärjestelmän päällä.
Unikernel-tilassa NetHSM toimii vieraana KVM-pohjaisessa virtuaalikoneessa, ja se on vahvasti erillään isäntäkäyttöjärjestelmästä. Tämä tila on käytettävissä vain Linuxissa, ja se edellyttää pääsyä /dev/tun
ja /dev/kvm
-laitesolmuun sekä NET_ADMIN
-ominaisuuteen.
Tärkeä
Turvallisuuden vuoksi valitse, että kontti ajetaan unikernel-tilassa.
Tila voidaan asettaa ympäristömuuttujalla MODE
(katso seuraava luku Konfigurointi).
Konfigurointi¶
The container can be configured with the following environment variables.
Ympäristömuuttuja |
Kuvaus |
---|---|
Ipsec (vain Linux) |
Ottaa käyttöön NetHSM:n laajennetun kirjauksen. |
|
Asetettu avaussalasana avaa kontin lukituksen automaattisesti käynnistyksen aikana. |
|
Mode hyväksyy arvot unix tai unikernel, oletusarvo on unix. |
|
etcd-palvelua käyttävän isäntäkoneen URL/IP-osoite. |
|
Portti, jossa etcd-palvelu toimii, oletusarvo 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. |
Säiliön ajonaikaiset salaisuudet, kuten varmenteet ja yksityiset avaimet, on asetettava Dockerin tai Podmanin salaisuusominaisuudella.
Salainen muuttuja |
Kuvaus |
---|---|
|
CA-varmenne, joka on allekirjoittanut asiakasvarmenteen ja palvelinvarmenteen. |
|
Asiakasvarmenne, jolla NetHSM-prosessi todennetaan avainarvosäilön kanssa. |
|
Asiakasavain, jolla NetHSM-prosessi todennetaan avainarvosäilön kanssa. |
|
Avainarvosäilön API:n palvelinvarmenne. |
|
Avainarvosäilön API:n palvelinavain. |
Avainarvosäilön API:n palvelinavain. |
NetHSM-prosessin laiteavain. Lisätietoja laiteavaimesta on luvussa Terminologia ja konventiot järjestelmäsuunnittelussa. |
Käyttö¶
Tuotantosäiliö tukee kahta toimintatapaa. Seuraavissa luvuissa kuvataan, miten konttia ajetaan mukana toimitetuilla compose-tiedostoilla tai _run_-komennolla.
Unix Mode¶
Voit saada toimitetun koostetiedoston täältä. Varmista, että sinulla on saatavilla tarvittavat tiedostot salaisuuksia varten, jotka mainitaan compose-tiedostossa.
Jos haluat käyttää konttia ilman compose-tiedostoa, sinun on annettava ulkoinen etcd itse. Täältä löydät suositellun säiliökuvan etcd:lle. Varmista, että annat konfiguraatioasetukset, kuten luvussa Konfiguraatio on kuvattu.
Säiliö voidaan suorittaa seuraavasti.
$ 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
Tämä ajaa NetHSM:ää Unix-prosessina kontin sisällä ja paljastaa REST API:n portissa 8443 HTTPS-protokollan kautta.
Tärkeä
Säiliö käyttää itse allekirjoitettua TLS-varmentetta. Varmista, että käytät oikeita yhteysasetuksia yhteyden muodostamiseksi. Lisätietoja on luvussa NetHSM:n käyttöönotto.
Unikernel-tila¶
Voit saada toimitetun koostetiedoston täältä. Varmista, että sinulla on saatavilla tarvittavat tiedostot salaisuuksia varten, jotka mainitaan compose-tiedostossa.
Jos haluat käyttää konttia ilman compose-tiedostoa, sinun on annettava ulkoinen etcd itse. Täältä löydät suositellun säiliökuvan etcd:lle. Varmista, että annat konfiguraatioasetukset, kuten luvussa Konfiguraatio on kuvattu.
Säiliö voidaan suorittaa seuraavasti.
$ 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
Tämä ajaa NetHSM:ää yhtenä ytimenä KVM-virtuaalikoneen sisällä. Kontti avaa REST API:n HTTPS-protokollan kautta rajapinnalla tap200, jonka IP-osoite on 192.168.1.100 ja portti 8443.
Tärkeä
Säiliö käyttää itse allekirjoitettua TLS-varmentetta. Varmista, että käytät oikeita yhteysasetuksia yhteyden muodostamiseksi. Lisätietoja on luvussa NetHSM:n käyttöönotto.