行政部门#

本章描述了具有*Administrator*角色的用户的管理任务。请参考`角色<administration.html#roles>`__一章,了解更多关于该角色的信息。

重要

请确保你在开始工作前阅读`本文件<index.html>`__开头的信息。

系统管理#

设备信息#

可以按以下方式检索NetHSM的供应商和产品信息。

例子

$ nitropy nethsm --host $NETHSM_HOST info
Host:    localhost:8443
Vendor:  Nitrokey GmbH
Product: NetHSM

启动模式#

NetHSM可以在*Attended Boot*模式和*Unattended Boot*模式下使用。

启动模式

描述

参加的培训

NetHSM启动后进入_锁定_状态。解锁密码 ,在每次启动时都需要输入密码,用来解密*用户数据* 。出于安全考虑,推荐使用这种模式,它是新配置的系统的默认模式。

无人值守的启动

系统在无人值守的情况下启动,不需要输入*解锁* 密码 进入_运行_状态。如果你的可用性要求不能用*亲自启动* 模式来满足,就使用这种模式。

警告

无论启动模式如何,解锁密码 ,都会保留其有效性,并且在其他硬件上恢复备份时需要。在任何时候都要保证*解锁密码* 的安全。

当前的启动模式可以按以下方式检索。

例子

$ nitropy nethsm --host $NETHSM_HOST get-config --unattended-boot
Configuration for NetHSM localhost:8443:
   Unattended boot: off

启动模式可以按以下方式改变。在下次启动时,NetHSM会有相应的表现。

论点

争论

描述

状况

启用或禁用*无人值守启动*。可以有``on`或``off``的值。

例子

$ nitropy nethsm --host $NETHSM_HOST set-unattended-boot on
Updated the unattended boot configuration for NetHSM localhost:8443

国家#

NetHSM软件有四种状态。未配置配置锁定*和*运行

国家

描述

未分配

无配置的NetHSM(出厂默认)。

规定的

有配置的NetHSM。*配置*的状态意味着*运行*或*锁定*的状态。

操作性

NetHSM具有配置并准备执行命令。运行*的状态意味着*配置*的状态。

被锁住

有配置的NetHSM,但数据存储被加密且无法访问。通常情况下,下一步是解锁系统。锁定的 状态意味着*配置的* 状态。

网络健康管理的状态和过渡

网络健康管理的状态和过渡#


NetHSM的当前状态可以按以下方式检索。

例子

$ nitropy nethsm --host $NETHSM_HOST state
NetHSM localhost:8443 is Unprovisioned

一个新的NetHSM有一个*未配置的*状态,配置后进入*运行的*状态。网管的配置在`配置<getting-started.html#provisioning>`__章节中描述。

一个处于*运行*状态的NetHSM可以再次被锁定,以保护它,方法如下。

例子

$ nitropy nethsm --host $NETHSM_HOST lock
NetHSM localhost:8443 locked

处于*锁定* 状态的NetHSM可以按以下方式解锁。当NetHSM处于_Locked_状态时,不可能有其他操作。之后,NetHSM处于_Operational_状态。

例子

$ nitropy nethsm --host $NETHSM_HOST unlock
NetHSM localhost:8443 unlocked

解锁密码#

如果NetHSM处于*Locked*状态,Unlock Passphrase*将用于获得*Unlock Key。密码口令最初是在NetHSM的供应期间设置的。

警告

在不知道当前值的情况下,无法重置解锁密码。如果解锁密码丢失,既无法重置为新值,也无法解锁 NetHSM。

解锁密码*可按以下方式设置。

可选择的选项

选项

描述

-n`, ` ` ` ``–new-passphrase` TEXT

新的解锁口令

-p`, ` ` ` ``–current-passphrase` TEXT

当前的解锁密码

-f,``–force``

更改密码前不要要求确认

例子

$ nitropy nethsm --host $NETHSM_HOST set-unlock-passphrase
New passphrase:
Repeat for confirmation:
Current passphrase:
Warning: The unlock passphrase cannot be reset without knowing the current value. If the unlock passphrase is lost, neither can it be reset to a new value nor can the NetHSM be unlocked.
Do you want to continue? [y/N]: y
Updated the unlock passphrase for NetHSM localhost:8443

TLS证书#

TLS证书用于基于HTTPS的REST API,因此也被*nitropy*使用。在配置过程中,会创建一个自签名的证书。该证书可以被替换,例如,用一个来自证书机构(CA)的签名证书。在这种情况下,必须生成一个证书签名请求(CSR)。签署后的证书必须导入到NetHSM中。

只有在更换证书时才有必要进行更改。这种改变可能是用一个来自证书颁发机构(CA)的签名证书来取代它。

TLS证书可以按以下方式检索。

必要的选项

选项

描述

-a`, ``--api.

为NetHSM TLS接口设置证书

例子

$ nitropy nethsm --host $NETHSM_HOST get-certificate --api
-----BEGIN CERTIFICATE-----
MIIBHzCBxaADAgECAgkA7AznVQK3XWkwCgYIKoZIzj0EAwIwFDESMBAGA1UEAwwJ
a2V5ZmVuZGVyMCAXDTcwMDEwMTAwMDAwMFoYDzk5OTkxMjMxMjM1OTU5WjAUMRIw
EAYDVQQDDAlrZXlmZW5kZXIwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARbeCRl
F1ZIjK1bTfrPvtCoYDThMjdV1q8mq+B9FMDo4GIahTCUG/Ub6bCOcbip5pP92J3h
yMEcPuos72c1KcGjMAoGCCqGSM49BAMCA0kAMEYCIQC/BNrkCM5gpsVfa9EqQcM0
PCaADyZG7KKLgDv7asa5LwIhAKDXRE3Tdm9tYObO0X4p0CRQkl1+DnvGljzQe34C
JBax
-----END CERTIFICATE-----

TLS证书可以按以下方式生成。

必要的选项

选项

描述

-t`, ``--type` [RSA|Curve25519|EC_P224|EC_P256|EC_P384|EC_P521]`

生成密钥的类型

-l`, ``--length` INTEGER`

生成的密钥的长度

例子

$ nitropy nethsm --host $NETHSM_HOST generate-tls-key -t Curve25519
Key for TLS interface generated on NetHSM localhost:8443

证书的证书签名请求(CSR)可按以下方式生成。

必要的选项

选项

描述

-a`, ``--api.

为NetHSM TLS证书生成一个CSR

--country`````TEXT`

国家名称

--state-or-province`````TEXT`

州或省的名称

--locality`````TEXT`

地点名称

--organization`````TEXT`

组织名称

--organizational-unit`````TEXT`

组织单位名称

--common-name`````TEXT``

俗称

--email-address`````TEXT`

电子邮件地址

例子

$ nitropy nethsm --host $NETHSM_HOST csr --api --country="DE" --state-or-province="Berlin" --locality="Berlin" --organization="Nitrokey" --organizational-unit="" --common-name="Nitrokey" --email-address="info@nitrokey.com"
-----BEGIN CERTIFICATE REQUEST-----
MIGBMDUCAQAwAjEAMCowBQYDK2VwAyEAE+nz+nOj80SWG25UbqVcQk6Ua84zuj5B
9qCtPpDUX2qgADAFBgMrZXADQQDwk9LrYDu83a1jgBGqW0I9BVXWEhP4gZLxlVV+
c102GFi963ZPIxG7Z5+uWplz+wr/Vmr7KLr6oM01M/AZPJQO
-----END CERTIFICATE REQUEST-----

该证书可以按以下方式更换。

必要的选项

选项

描述

-a`, ``--api.

为NetHSM TLS接口设置证书

论点

争论

描述

FILENAME

证书文件

例子

nitropy nethsm --host $NETHSM_HOST set-certificate --api /tmp/nethsm-certificate

网络#

网络配置定义了用于*网络端口*的设置。

注解

此设置不配置*BMC网络端口*。

网络配置可以按以下方式检索。

必要的选项

选项

描述

--network

查询网络配置

例子

$ nitropy nethsm -h $NETHSM_HOST get-config --network
Configuration for NetHSM localhost:8443:
Network:
      IP address:    192.168.1.1
      Netmask:       255.255.255.0
      Gateway:       0.0.0.0

设置网络配置如下。

注解

NetHSM不支持DHCP(动态主机配置协议)。

注解

NetHSM不支持IPv6(互联网协议版本6)。

必要的选项

选项

描述

-a`, ``--ip-address.

新的IP地址

-n, --netmask.

新的网络掩码

-n, --netmask.

新的网关

例子

$ nitropy nethsm -h $NETHSM_HOST set-network-config -a 192.168.1.1 -n 255.255.255.0 -g 0.0.0.0
Updated the network configuration for NetHSM localhost:8443

时间#

时间配置设置NetHSM软件的系统时间。通常不需要设置系统时间,因为它是在配置期间设置的。

时间配置可以按以下方式检索。

必要的选项

选项

描述

--time

查询系统时间

例子

$ nitropy nethsm -host $NETHSM_HOST get-config --time
Configuration for NetHSM localhost:8443:
Time:            2022-08-17 11:40:00+00:00

设置NetHSM的时间。

重要

请确保以UTC时区传递时间。

论点

争论

描述

time

要设置的系统时间(格式:YYY-MM-DDTHH:MM:SSZ)。

例子

$ nitropy nethsm -h $NETHSM_HOST set-time 2022-08-17T11:40:00Z
Updated the system time for NetHSM localhost:8443

度量衡#

NetHSM记录了系统参数的度量。

注解

这个命令需要一个具有*Metrics*角色的用户的认证。请参考`角色<administration.html#roles>`__一章,了解更多关于该角色的信息。

请参阅`Metrics<metrics.html>`__,了解每个指标的更多信息。

这些指标可以按以下方式检索。

例子

$ nitropy nethsm -h $NETHSM_HOST metrics
Metric                         Value
----------------------------   --------
client connections             0
established state              6
external.received bytes        989931
external.received packets      13239
external.transmitted bytes     25908953
external.transmitted packets   22037
free chunk count               322
gc compactions                 0
gc major bytes                 21348352
gc major collections           35
gc minor collections           2652
http response 200              28
http response 201              1
http response 204              1
http response 400              1
http response 403              1
http response 404              145
http response 412              1
http response time             0.084998
http response total            178
internal.received bytes        66541
internal.received packets      1130
internal.transmitted bytes     63802
internal.transmitted packets   1133
kv write                       2
log errors                     3
log warnings                   3
maximum allocated space        64528384
maximum releasable bytes       1216
mmapped region count           0
new sleeper size               1
non-mmapped allocated bytes    64528384
sleep queue size               11
syn-rcvd state                 0
timers                         2
total allocated space          43940832
total client                   1
total established              515
total free space               20587552
total sleeper size             12
total syn-rcvd                 514
total timers                   526
uptime                         17626

伐木#

NetHSM可以将系统事件记录到串行端口或网络上的syslog服务器上。

重要

对于任何生产部署,应持续监测NetHSM日志,以提供任何潜在安全问题的即时通知。

串行控制台从NetHSM的硬件开始工作。它包括来自NetHSM固件和NetHSM软件的事件。

串行控制台连接设置如下。

设置

价值

波特率

115200

数据位

8

停止位

1

偶数

流量控制

系统日志服务器的配置可以按以下方式检索。

必要的选项

选项

描述

--network

查询日志配置

例子

$ nitropy nethsm -h $NETHSM_HOST get-config --logging
Logging:
   IP address:    0.0.0.0
   Port:          514
   Log level:     info

系统日志服务器的配置可按以下方式设置。

必要的选项

选项

描述

-p`, ``--passphrase` TEXT`

新记录目的地的IP地址

-p`, ``--port` INTEGER`

新记录目的地的端口

-l`, ``--log-level` [debug|info|warning|error]`

新的日志级别

例子

$ nitropy nethsm -h $NETHSM_HOST set-logging-config -a 192.168.0.1 -p 514 -l info
Updated the logging configuration for NetHSM localhost:8443

备份#

NetHSM的*用户数据*可以被保存到一个备份文件中。这个备份文件包含所有的*用户数据*,即*配置存储*,认证存储域名密钥存储*和*密钥存储

重要

如果在不同的NetHSM硬件上恢复,处于*无人值守启动*模式的NetHSM系统软件将需要*解锁密码*。请参考`Unlock Passphrase <administration.html#unlock-passphrase>`__一章以了解更多。

重要

处于*无人值守启动*模式的NetHSM在恢复后将处于同一模式。

在开始备份之前,必须设置*备份密码*。备份密码*是用来对备份文件中的数据进行加密的。

警告

在不知道当前值的情况下,无法重置备份口令。如果备份口令丢失,既不能重置为新值,也不能恢复已创建的备份。

备份口令可按以下方式设置。

可选择的选项

选项

描述

-n`, ` ` ` ``–new-passphrase` TEXT

新的备份口令

-p`, ` ` ` ``–current-passphrase` TEXT

当前备份口令(如果未设置,则为空字符串)

-f,``–force``

更改密码前不要要求确认

例子

$ nitropy nethsm -h $NETHSM_HOST -u admin set-backup-passphrase
New passphrase:
Repeat for confirmation:
Warning: The backup passphrase cannot be reset without knowing the current value. If the backup passphrase is lost, neither can it be reset to a new value nor can the created backups be restored.
Do you want to continue? [y/N]: y
The current backup passphrase (or an empty string if not set) []:
Updated the backup passphrase for NetHSM localhost:8443

注解

这个命令需要一个具有*备份*角色的用户的认证。请参考`角色<administration.html#roles>`__一章以了解更多。

备份可以按以下方式执行。

论点

争论

描述

FILENAME

备份文件

例子

$ nitropy nethsm -h $NETHSM_HOST backup /tmp/nethsm-backup
Backup for localhost:8443 written to /tmp/backup

注解

这个备份文件只能在一个未配置的NetHSM实例上恢复。

恢复#

NetHSM可以从一个备份文件中恢复。

  • 如果NetHSM是*Unprovisioned* ,它将恢复所有*用户数据* ,包括系统配置和重新启动。因此,之后系统可能会得到不同的网络设置、TLS证书和*解锁密码* 。

  • 如果NetHSM是*Provisioned* ,它将恢复用户和用户钥匙,但不恢复系统配置。在这种情况下,所有以前存在的用户和用户钥匙将被删除。NetHSM结束时处于*Operational* 状态。

可以按以下方式进行恢复。

可选择的选项

选项

描述

-p`, ``--backup-passphrase` passphrase`

备份口令*

-t`, ``--system-time.

要设置的系统时间(格式:YYYY-MM-DDTHH:MM:SSZ)

重要

请确保你的本地电脑的时间设置正确。要设置不同的时间,请手动提供。

论点

争论

描述

FILENAME | 恢复文件

例子

$ nitropy nethsm -h $NETHSM_HOST restore /tmp/nethsm-backup
Backup passphrase:
Backup restored on NetHSM localhost:8443

软件更新#

软件更新可分两步安装。首先,需要将更新镜像上传到*Provisioned* NetHSM。NetHSM 会验证镜像的真实性、完整性和版本号。如果有发行说明,NetHSM 还会显示。

警告

由于安装了一个测试版的更新,可能会发生数据丢失!稳定的版本应该不会导致数据丢失。然而,建议在更新前创建一个备份。

更新文件可以按以下方式上传。

论点

争论

描述

FILENAME

更新文件

例子

$ nitropy nethsm --host $NETHSM_HOST update /tmp/nethsm-update.img.cpio
Image /tmp/nethsm-update.img.cpio uploaded to NetHSM localhost:8443

之后,可以应用或中止更新。请参考下面所需的选项。如果NetHSM在 “提交 “操作前断电,更新文件必须重新上传。

更新可以按以下方式应用(提交)。只有在NetHSM成功启动新的系统软件版本后,才会进行任何数据迁移。

例子

$ nitropy nethsm --host $NETHSM_HOST commit-update
Update successfully committed on NetHSM localhost:8443

可以按以下方式取消更新。

例子

$ nitropy nethsm --host $NETHSM_HOST cancel-update
Update successfully cancelled on NetHSM localhost:8443

重新启动和关机#

NetHSM可以远程重启和关机,也可以通过NetHSM硬件前面的重启和关机按钮来实现。

远程重启可以按以下方式启动。

例子

$ nitropy nethsm --host $NETHSM_HOST reboot
NetHSM localhost:8443 will be rebooted.
Do you want to continue? [y/N]: y
NetHSM localhost:8443 is about to reboot

可以通过以下方式启动远程关机。

例子

$ nitropy nethsm --host $NETHSM_HOST shutdown
NetHSM localhost:8443 will be shutdown.
Do you want to continue? [y/N]: y
NetHSM localhost:8443 is about to shutdown

重置为出厂默认值#

供给的 NetHSM可以被重置为出厂默认值。在这种情况下,所有的用户数据都被安全删除,NetHSM启动后进入*未配置的* 状态。之后,你可能想`,为NetHSM提供<getting-started#provisioning>`__。

重置为出厂默认值可以按以下方式进行。

例子

$ nitropy nethsm -h $NETHSM_HOST factory-reset
NetHSM localhost:8443 will be set to factory defaults.
All data will be lost!
Do you want to continue? [y/N]: y
NetHSM localhost:8443 is about to perform a factory reset

用户管理#

角色#

NetHSM允许通过使用不同的角色来分担职责。在NetHSM上配置的每个用户账户都有以下一个*角色*分配给它。

角色

描述

管理人

拥有此角色的用户账户可以访问NetHSM提供的所有操作,但密钥使用操作除外,即消息签名和解密。

操作者

拥有此角色的用户账户可以访问所有的钥匙使用操作,只读的钥匙管理操作子集和用户管理操作,只允许对他们自己的账户进行更改。

指标

拥有此角色的用户账户只能访问只读的度量衡操作。

备份

拥有该角色的用户账户只能访问启动系统备份所需的操作。

参见`标签<administration.html#tags-for-users>`__ 以了解更精细的访问限制。

注解

在未来的版本中,可能会引入额外的*角色*。

添加用户#

在NetHSM中添加一个用户账户。每个用户账户都有一个*角色,需要指定。请参考`Roles <administration.html#roles>`__一章,了解更多关于*Roles*的内容。

注解

如果没有指定,NetHSM会随机分配一个用户ID。

可以按以下方式添加一个用户账户。

必要的选项

选项

描述

-n`, ``--real-name` TEXT`

用户的真实姓名

-r`, ``--role` [Administrator|Operator|Metrics|Backup]`

新用户的*角色

-p`, ``--passphrase` TEXT`

新用户的口令

可选择的选项

选项

描述

-u`, ``--user-id` TEXT`

新用户的用户ID

例子

$ nitropy nethsm --host $NETHSM_HOST  add-user --real-name "Nitrokey Operator" --role Operator --user-id operator1
Passphrase:
Repeat for confirmation:
User operator1 added to NetHSM localhost:8443

删除用户#

从NetHSM中删除一个用户账户。

警告

删除是永久性的,不能被恢复。

可以按以下方式删除一个用户账户。

论点

争论

描述

USER_ID

用户身份。

例子

$ nitropy nethsm --host $NETHSM_HOST delete-user operator1
User operator1 deleted on NetHSM localhost:8443

列表中的用户#

列出NetHSM上的用户。

该清单可以按以下方式检索。

可选择的选项

选项

描述

--details, --no-details.

查询用户的真实姓名和角色

例子

$ nitropy nethsm --host $NETHSM_HOST list-users
Users on NetHSM localhost:8843:

User ID        Real name               Role
---------      -----------------       -------------
operator1      Nitrokey Operator       Operator
admin          admin                   Administrator

用户密码#

用户账户的口令可以被重置。密码锁是在添加用户账户时初始设置的。

注解

密码锁必须有>=10和<=200个字符。

用户口令可按以下方式设置。

必要的选项

选项

描述

-u`, ``--user-id` TEXT`

用户的用户ID

-p`, ``--passphrase` TEXT`

用户的新密码

例子

$ nitropy nethsm --host $NETHSM_HOST set-passphrase --user-id operator1
Passphrase:
Repeat for confirmation:
Updated the passphrase for user operator1 on NetHSM localhost:8443

用户的标签#

标签 ,可用于对钥匙设置细粒度的访问限制,是一项可选功能。一个或多个*标签* 只能分配给具有*操作员* 角色的用户账户。操作员 可以看到所有的键,但只能使用那些至少有一个相应的*标签* 。一个键不能被一个*操作员* 用户修改。

要了解如何在钥匙上使用*标记,请参考`钥匙的标记 <operation.html#tags-for-keys>`__。

标签 ,可按以下方式添加。

论点

争论

描述

USER_ID

要设置标签的用户ID。

TAG

要在用户ID上设置的标签。

例子

nitropy nethsm --host $NETHSM_HOST add-operator-tag operator1 berlin
Added tag berlin for user operator1 on the NetHSM localhost:8443

可以按以下方式删除*标签。

论点

争论

描述

USER_ID

要设置标签的用户ID。

TAG

要在用户ID上设置的标签。

例子

nitropy nethsm --host $NETHSM_HOST delete-operator-tag operator1 berlin
Deleted tag berlin for user operator1 on the NetHSM localhost:8443