Production Image¶
Производственият образ е предназначен за производствени среди с високи изисквания за сигурност. Той изисква външно хранилище за ключове и стойности etcd, което е свързано чрез криптирана връзка. Процесът NetHSM може да бъде изпълнен с хардуерно базирано разделяне (KVM) и криптиране на конкретно устройство. Образът се разпространява като OCI образ и може да се стартира локално със съвместим изпълнител като Docker и Podman.
Compared to the NetHSM hardware the following functions are not implemented at the software container’s REST API:
Network configuration
Фабрично нулиране
рестартиране
Актуализация на софтуера
Производственият образ е предназначен за производствени среди с високи изисквания за сигурност. Той изисква външно хранилище за ключове и стойности etcd, което е свързано чрез криптирана връзка. Процесът NetHSM може да бъде изпълнен с хардуерно базирано разделяне (KVM) и криптиране на конкретно устройство. Образът се разпространява като OCI образ и може да се стартира локално със съвместим изпълнител като Docker и Podman.
Warning
Сигурността на софтуерния контейнер на NetHSM силно зависи от сигурността на платформата. Компрометирана платформа може лесно да компрометира изпълнявания от нея софтуерен контейнер NetHSM. Освен това TRNG не съществува, така че ентропията, използвана и осигурена от NetHSM, зависи от ентропията на платформата.
Политика за маркиране¶
Изображенията в хранилището са маркирани с хеша на предаването на Git и версията на изданието. Най-новото изображение е маркирано с latest
.
Modes of Operation¶
Образът може да бъде стартиран в два режима на работа, т.е. Unix процес или unikernel.
Режимът на Unix процесите стартира NetHSM като процес върху операционната система.
The unikernel mode runs NetHSM as a guest in a KVM based virtual machine and provides strong separation from the host operating system. This mode is only available on Linux and requires access to the
/dev/tun
and/dev/kvm
device nodes and theNET_ADMIN
capability. For security reasons we recommend the unikernel mode.
От съображения за сигурност изберете да стартирате контейнера в режим на едно ядро.
Статична конфигурация на DNS¶
The container can be configured with the following environment variables.
Променлива на средата |
Описание |
---|---|
Ipsec (само за Linux) |
Активира разширеното регистриране за NetHSM. |
|
Зададената парола за отключване автоматично отключва контейнера при стартиране. |
|
Режимът приема стойностите unix или unikernel, по подразбиране е unix. |
|
URL адресът/IP адресът на хоста, на който се изпълнява услугата etcd. |
|
Портът, на който работи услугата etcd, по подразбиране е 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. |
Тайните за изпълнение на контейнера, като например сертификати и частни ключове, трябва да бъдат зададени с функцията secrets на Docker или Podman.
Тайните за изпълнение на контейнера, като например сертификати и частни ключове, трябва да бъдат зададени с функцията secrets на Docker или Podman. |
Описание |
---|---|
|
Сертификат на CA, който е подписал клиентския сертификат и сертификата на сървъра. |
|
задача: повече подробности |
|
Клиентски ключ за удостоверяване на процеса NetHSM с хранилището за ключове и стойности. |
|
Сертификат на сървъра за API на хранилището за стойности на ключове. |
|
Сертификат на сървъра за API на хранилището за стойности на ключове. |
|
Ключ на устройството на процеса NetHSM. За да научите повече за ключа на устройството, вижте глава Терминология и конвенции в системния проект. |
Употреба¶
The production container supports two modes of operation. The following chapters describe how to run the container with the provided compose files or with the run command.
Unix Mode¶
Можете да получите предоставен файл за съставяне на композиция тук. Уверете се, че разполагате с необходимите файлове за тайните, посочени в compose файла.
За да стартирате контейнера без файла compose, трябва сами да осигурите външен etcd. Тук можете да намерите препоръчителния образ на контейнер за etcd. Не забравяйте да предадете опциите за конфигуриране, както е описано в глава Конфигуриране.
Контейнерът може да бъде изпълнен по следния начин.
$ 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
Това ще стартира NetHSM като Unix процес в контейнера и ще разкрие REST API на порт 8443 чрез протокола HTTPS.
Important
Контейнерът използва самостоятелно подписан сертификат TLS. Уверете се, че използвате правилните настройки на връзката, за да установите връзка. Моля, вижте глава Въведение в NetHSM, за да научите повече.
Режим Unikernel¶
Можете да получите предоставен файл за съставяне на композиция тук. Уверете се, че разполагате с необходимите файлове за тайните, посочени в compose файла.
За да стартирате контейнера без файла compose, трябва сами да осигурите външен etcd. Тук можете да намерите препоръчителния образ на контейнер за etcd. Не забравяйте да предадете опциите за конфигуриране, както е описано в глава Конфигуриране.
Контейнерът може да бъде изпълнен по следния начин.
$ 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
Това ще стартира NetHSM като едноядрен софтуер във виртуална машина KVM. Контейнерът ще разкрие REST API чрез протокола HTTPS на интерфейса tap200 с IP адрес 192.168.1.100 и порт 8443.
Important
Контейнерът използва самостоятелно подписан сертификат TLS. Уверете се, че използвате правилните настройки на връзката, за да установите връзка. Моля, вижте глава Въведение в NetHSM, за да научите повече.