Production Image#
Производственият образ е предназначен за производствени среди с високи изисквания за сигурност. Той изисква външно хранилище за ключове и стойности etcd, което е свързано чрез криптирана връзка. Процесът NetHSM може да бъде изпълнен с хардуерно базирано разделяне (KVM) и криптиране на конкретно устройство. Образът се разпространява като OCI образ и може да се стартира локално със съвместим изпълнител като Docker и Podman.
В сравнение с хардуера на NetHSM следните функции не са реализирани в REST API на софтуерния контейнер:
Network configuration
Фабрично нулиране
рестартиране
Актуализация на софтуера
Производственият образ е предназначен за производствени среди с високи изисквания за сигурност. Той изисква външно хранилище за ключове и стойности etcd, което е свързано чрез криптирана връзка. Процесът NetHSM може да бъде изпълнен с хардуерно базирано разделяне (KVM) и криптиране на конкретно устройство. Образът се разпространява като OCI образ и може да се стартира локално със съвместим изпълнител като Docker и Podman.
Warning
Сигурността на софтуерния контейнер на NetHSM силно зависи от сигурността на платформата. Компрометирана платформа може лесно да компрометира изпълнявания от нея софтуерен контейнер NetHSM. Освен това TRNG не съществува, така че ентропията, използвана и осигурена от NetHSM, зависи от ентропията на платформата.
Политика за маркиране#
Изображенията в хранилището са маркирани с хеша на предаването на Git и версията на изданието. Най-новото изображение е маркирано с latest
.
Modes of Operation#
Образът може да бъде стартиран в два режима на работа, т.е. Unix процес или unikernel.
Режимът на Unix процесите стартира NetHSM като процес върху операционната система.
Режимът на ядрото стартира NetHSM като гост във виртуална машина, базирана на KVM, и осигурява силно отделяне от хост операционната система. Този режим е достъпен само за Linux и изисква достъп до възлите на устройствата /dev/tun
и /dev/kvm
и до възможностите на NET_ADMIN
.
Important
От съображения за сигурност изберете да стартирате контейнера в режим на едно ядро.
От съображения за сигурност изберете да стартирате контейнера в режим на едно ядро.
Статична конфигурация на 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. За да научите повече за ключа на устройството, вижте глава Терминология и конвенции в системния проект. |
Употреба#
Производственият контейнер поддържа два режима на работа ` <container.html#Modes of Operation>` __. В следващите глави е описано как да стартирате контейнера с предоставените compose файлове или с командата _run_.
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, за да научите повече.