Production Image¶
A termelési kép a magas biztonsági követelményeket támasztó termelési környezetek számára készült. Külső etcd kulcs-érték tárolót igényel, amelyhez titkosított kapcsolaton keresztül csatlakozik. A NetHSM folyamat hardveralapú szétválasztással (KVM) és eszközspecifikus titkosítással hajtható végre. Az image OCI image-ként kerül terjesztésre, és lokálisan futtatható egy kompatibilis futtatóval, például Dockerrel és Podman-nal.
A NetHSM hardverhez képest a következő funkciókat a szoftverkonténer REST API-ja nem tartalmazza:
Network configuration
Factory reset
Reboot
Software update
A NetHSM gyártási konténer csak fizető ügyfelek számára készült termék, és itt vásárolható meg: ` <https://www.nitrokey.com/contact>` __. A kép a Nitrokey NetHSM registry Nitrokey NetHSM registry a vásárlás után megadott hitelesítő adatokkal szerezhető be.
Figyelem
A NetHSM szoftverkonténer biztonsága nagymértékben függ a platform biztonságától. Egy veszélyeztetett platform könnyen veszélyeztetheti az általa futtatott NetHSM szoftverkonténert. Ezenkívül a TRNG nem létezik, így a NetHSM által használt és biztosított entrópia a platform entrópiájától függ.
Címkézési politika¶
A tárolóban lévő képek a Git commit hash-jával és a kiadás verziójával vannak megjelölve. A legújabb képet a latest
címkével látjuk el.
Modes of Operation¶
A kép kétféle üzemmódban futtatható, azaz Unix processzként vagy unikernelként.
A Unix-folyamat mód a NetHSM-et az operációs rendszer tetején futó folyamatként futtatja.
Az egykerneles üzemmód a NetHSM-et vendégként futtatja egy KVM-alapú virtuális gépben, és erős elkülönülést biztosít a gazda operációs rendszertől. Ez az üzemmód csak Linuxon érhető el, és hozzáférést igényel a /dev/tun
és a /dev/kvm
eszközcsomópontokhoz, valamint a NET_ADMIN
képességhez.
Fontos
A biztonság érdekében válassza a konténer unikernel üzemmódban történő futtatását.
Az üzemmód a MODE
környezeti változóval állítható be (lásd a következő fejezetet Konfiguráció).
Konfiguráció¶
The container can be configured with the following environment variables.
Környezeti változó |
Leírás |
---|---|
„DEBUG_LOG |
Engedélyezi a NetHSM kiterjesztett naplózását. |
|
A beállított feloldási jelszó automatikusan feloldja a konténert indításkor. |
|
A mód a unix vagy unikernel értékeket fogadja el, alapértelmezett értéke unix. |
|
Az etcd szolgáltatást futtató állomás URL/IP-címe. |
|
Az etcd szolgáltatást futtató port, alapértelmezett értéke 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. |
A konténer futásidejű titkait, például a tanúsítványokat és a privát kulcsokat a Docker vagy a Podman titkok funkciójával kell beállítani.
Titkos változó |
Leírás |
---|---|
|
CA-tanúsítvány, amely aláírta az ügyféltanúsítványt és a kiszolgálói tanúsítványt. |
|
Ügyféltanúsítvány a NetHSM folyamat hitelesítéséhez a kulcsérték-tárolóval. |
|
Ügyfélkulcs a NetHSM folyamat hitelesítéséhez a kulcsérték-tárolóval. |
|
Kiszolgálói tanúsítvány a kulcsérték-tároló API-jához. |
|
A kulcsérték-tároló API-jának kiszolgálói kulcsa. |
„device_key |
A NetHSM folyamat eszközkulcsa. Az eszközkulccsal kapcsolatos további tudnivalókért olvassa el a Terminológia és konvenciók fejezetet a rendszertervezésben. |
Használat¶
A termelési konténer két működési módot támogat ` <container.html#Modes of Operation>` __. A következő fejezetek leírják, hogyan futtathatjuk a konténert a megadott compose fájlokkal vagy a _run_ paranccsal.
Unix Mode¶
Itt <https://raw.githubusercontent.com/Nitrokey/nethsm/refs/heads/main/src/container/alpine/compose-unix.yaml>`__. `kaphat egy megadott kompozitfájlt __. Győződjön meg róla, hogy a compose fájlban említett titkokhoz szükséges fájlok rendelkezésre állnak.
A konténer compose fájl nélküli futtatásához magának kell egy külső etcd-t biztosítania. Itt megtalálja az ajánlott konténerképet az etcd-hez. Győződjön meg róla, hogy átadja a konfigurációs beállításokat, ahogyan az a Konfiguráció fejezetben le van írva.
A konténer a következőképpen hajtható végre.
$ 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
Ez a NetHSM-et Unix-folyamatként futtatja a konténerben, és a REST API-t a 8443-as porton keresztül a HTTPS protokollon keresztül teszi elérhetővé.
Fontos
A tároló saját aláírású TLS-tanúsítványt használ. Győződjön meg róla, hogy a kapcsolat létrehozásához a megfelelő kapcsolatbeállításokat használja. További információkért olvassa el a NetHSM bevezetés fejezetet.
Unikernel üzemmód¶
Itt <https://raw.githubusercontent.com/Nitrokey/nethsm/refs/heads/main/src/container/alpine/compose-unikernel.yaml>`__. `kaphat egy megadott kompozitfájlt __. Győződjön meg róla, hogy a compose fájlban említett titkokhoz szükséges fájlok rendelkezésre állnak.
A konténer compose fájl nélküli futtatásához magának kell egy külső etcd-t biztosítania. Itt megtalálja az ajánlott konténerképet az etcd-hez. Győződjön meg róla, hogy átadja a konfigurációs beállításokat, ahogyan az a Konfiguráció fejezetben le van írva.
A konténer a következőképpen hajtható végre.
$ 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
Ez a NetHSM-et unikernelként futtatja egy KVM virtuális gépen belül. A konténer a REST API-t a HTTPS protokollon keresztül a „tap200” interfészen teszi közzé a „192.168.1.100” IP-címmel és a „8443” porttal.
Fontos
A tároló saját aláírású TLS-tanúsítványt használ. Győződjön meg róla, hogy a kapcsolat létrehozásához a megfelelő kapcsolatbeállításokat használja. További információkért olvassa el a NetHSM bevezetés fejezetet.