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 the NET_ADMIN capability. For security reasons we recommend the unikernel mode.

От съображения за сигурност изберете да стартирате контейнера в режим на едно ядро.

Статична конфигурация на DNS

The container can be configured with the following environment variables.

Променлива на средата

Описание

Ipsec (само за Linux)

Активира разширеното регистриране за NetHSM.

UNLOCKPW

Зададената парола за отключване автоматично отключва контейнера при стартиране.

MODE

Режимът приема стойностите unix или unikernel, по подразбиране е unix.

ETCD_HOST

URL адресът/IP адресът на хоста, на който се изпълнява услугата etcd.

ETCD_PORT

Портът, на който работи услугата etcd, по подразбиране е 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.

Тайните за изпълнение на контейнера, като например сертификати и частни ключове, трябва да бъдат зададени с функцията secrets на Docker или Podman.

Тайните за изпълнение на контейнера, като например сертификати и частни ключове, трябва да бъдат зададени с функцията secrets на Docker или Podman.

Описание

ca_cert

Сертификат на CA, който е подписал клиентския сертификат и сертификата на сървъра.

etcd_client_cert

задача: повече подробности

etcd_client_key

Клиентски ключ за удостоверяване на процеса NetHSM с хранилището за ключове и стойности.

etcd_server_cert

Сертификат на сървъра за API на хранилището за стойности на ключове.

etcd_server_key

Сертификат на сървъра за API на хранилището за стойности на ключове.

device_key

Ключ на устройството на процеса 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

Това ще стартира 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

Това ще стартира NetHSM като едноядрен софтуер във виртуална машина KVM. Контейнерът ще разкрие REST API чрез протокола HTTPS на интерфейса tap200 с IP адрес 192.168.1.100 и порт 8443.

Important

Контейнерът използва самостоятелно подписан сертификат TLS. Уверете се, че използвате правилните настройки на връзката, за да установите връзка. Моля, вижте глава Въведение в NetHSM, за да научите повече.