管理部門#
この章では、*Administrator*ロールを持つユーザーのための管理作業について説明します。ロールについての詳細は、Roles の章を参照してください。
重要
作業を始める前に、`このドキュメントの冒頭にある情報<index.html>`__を必ず読んでください。
システム管理#
デバイス情報#
NetHSMのベンダー情報および製品情報は、以下の手順で取得することができます。
**例
$ nitropy nethsm --host $NETHSM_HOST info
Host: localhost:8443
Vendor: Nitrokey GmbH
Product: NetHSM
/info エンドポイントに関する情報は、API documentation で見ることができます。
ブートモード#
NetHSMは、*Attended Boot*モードと*Unattended Boot*モードで使用できます。
ブートモード |
説明 |
---|---|
ブートに参加 |
NetHSM は _Locked_ 状態で起動します。Unlock Passphrase を起動時に入力する必要があります。このパスフレーズは*User Data* の復号化に使用されます。セキュリティ上の理由から、このモードが推奨され、プロビジョニングされたばかりのシステムのデフォルトモードです。 |
無人ブート |
システムは、Unlock Passphrase を入力する必要なく、_Operational_ 状態で無人起動します。Attended Boot モードで可用性要件を満たせない場合は、このモードを使用します。 |
警告
ブートモードに関係なく、Unlock Passphrase は有効性を保ち、他のハードウェアのバックアップを復元するために必要です。Unlock Passphrase は、いつでも安全に保管してください。
現在の起動モードは、次のように取得できます。
**例
$ nitropy nethsm --host $NETHSM_HOST get-config --unattended-boot
Configuration for NetHSM localhost:8443:
Unattended boot: off
/config/unattended-boot エンドポイントに関する情報は API documentation で見ることができます。
ブートモードは以下のように変更できます。次回のブート時には、NetHSMはそれに従って動作します。
**論評
論証 |
説明 |
---|---|
ステータス |
無人起動*を有効または無効にします。値は |
**例
$ nitropy nethsm --host $NETHSM_HOST set-unattended-boot on
Updated the unattended boot configuration for NetHSM localhost:8443
/config/unattended-boot エンドポイントに関する情報は API documentation で見ることができます。
状態#
NetHSMソフトウェアには、4つの状態があります。Unprovisioned、Provisioned、Locked、*Operational*の4つの状態があります。
状態 |
説明 |
---|---|
*非プロビジョニング |
NetHSM コンフィギュレーションなし(工場出荷時) |
*プロビジョニング |
NetHSMにコンフィグレーションを行った状態。Provisioned* 状態は、Operational または Locked 状態のいずれかを意味します。 |
*動作確認済み |
NetHSMが設定され、コマンドを実行する準備ができた状態。動作中 "の状態は、"プロビジョニング中 "の状態を意味します。 |
Locked |
NetHSM はコンフィギュレーションを持つが、暗号化され、データストアにアクセスできない。通常、次のステップはシステムのロックを解除することです。Locked 状態は*Provisioned* 状態を意味する。 |
NetHSMの現状と変遷#
NetHSMの現在の状態は、以下のように取得できます。
/health/state エンドポイントに関する情報は、API documentation で見ることができます。
新しいNetHSMは*Unprovisioned*の状態であり、プロビジョニング後に*Operational*の状態になります。NetHSMのプロビジョニングについては、Provisioning の章に記載されています。
動作状態*にあるNetHSMは、以下のように再度ロックして保護することができます。
/lock エンドポイントに関する情報は API documentation で見ることができます。
ロック 状態の NetHSM は、以下の手順でロックを解除できます。NetHSMが_Locked_状態にある間は、他の操作はできません。その後、NetHSM は _Operational_ 状態になります。
/unlock エンドポイントに関する情報は、API documentation で見ることができます。
パスフレーズのロック解除#
ロック解除パスフレーズ*は、NetHSMが*ロック*状態である場合、*ロック解除キー*を導き出すために使用されます。パスフレーズはNetHSMのプロビジョニング時に初期設定されます。
ロック解除のパスフレーズ*は、次のように設定できます。
オプション設定
オプション |
説明 |
---|---|
|
新しいロック解除用パスフレーズ |
**例
$ nitropy nethsm --host $NETHSM_HOST set-unlock-passphrase
Passphrase:
Repeat for confirmation:
Updated the unlock passphrase for localhost:8443
/config/unlock-passphrase エンドポイントに関する情報は、API documentation に記載されているとおりです。
TLS証明書#
TLS証明書は、HTTPSベースのREST APIに使用されるため、*nitropy*でも使用されます。プロビジョニング時に、自己署名入りの証明書が作成されます。この証明書は、たとえば認証局(CA)からの署名付き証明書で置き換えることができます。この場合、証明書署名要求(CSR)を生成する必要があります。署名後、証明書をNetHSMにインポートする必要があります。
変更は、証明書を置き換える場合にのみ必要である。そのような変更は、認証局(CA)からの署名された証明書に置き換えることである。
TLS証明書は、次のようにして取得することができます。
必須オプション
オプション |
説明 |
---|---|
|
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-----
/config/tls/cert.pem エンドポイントに関する情報は API documentation で見ることができます。
TLS証明書は、以下の手順で生成することができます。
必須オプション
オプション |
説明 |
---|---|
|
生成された鍵のタイプ |
|
生成された鍵の長さ |
**例
$ nitropy nethsm --host $NETHSM_HOST generate-tls-key -t Curve25519
Key for TLS interface generated on NetHSM localhost:8443
/config/tls/generate エンドポイントに関する情報は、API documentation に記載されています。
証明書のCSR(Certificate Signing Request)は、以下の手順で生成することができます。
必須オプション
オプション |
説明 |
---|---|
|
NetHSM TLS証明書のCSRを生成する |
|
国名 |
|
州・県名 |
|
産地名 |
|
組織名 |
|
組織単位名 |
|
一般名称 |
|
電子メールアドレス |
**例
$ 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-----
/config/tls/csr.pem エンドポイントに関する情報は API documentation で見ることができます。
証明書の差し替えは、以下のように行います。
必須オプション
オプション |
説明 |
---|---|
|
NetHSM TLSインターフェイスの証明書を設定する |
**論評
論証 |
説明 |
---|---|
|
証明書ファイル |
**例
nitropy nethsm --host $NETHSM_HOST set-certificate --api /tmp/nethsm-certificate
/config/tls/csr.pem エンドポイントに関する情報は API documentation で見ることができます。
ネットワーク#
ネットワークコンフィギュレーションは、*ネットワークポート*に使用する設定を定義します。
注釈
この設定では、*BMCネットワークポート*は設定されません。
ネットワーク構成は、次のように取得できます。
必須オプション
オプション |
説明 |
---|---|
|
ネットワーク構成を問い合わせる |
**例
$ 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
/config/network エンドポイントに関する情報は API documentation で見ることができます。
ネットワーク構成を次のように設定します。
注釈
NetHSMは、DHCP(Dynamic Host Configuration Protocol)に対応していません。
注釈
NetHSMは、IPv6(インターネットプロトコルバージョン6)には対応していません。
必須オプション
オプション |
説明 |
---|---|
|
新しいIPアドレス |
|
新しいネットマスク |
|
新しいゲートウェイ |
**例
$ 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
/config/network エンドポイントに関する情報は API documentation で見ることができます。
時間#
タイムコンフィギュレーションは、NetHSMソフトウェアのシステム時刻を設定します。システム時刻はプロビジョニング時に設定されるため、通常は設定する必要はありません。
タイムコンフィギュレーションは以下のように取得できます。
必須オプション
オプション |
説明 |
---|---|
|
システム時刻を問い合わせる |
**例
$ nitropy nethsm -host $NETHSM_HOST get-config --time
Configuration for NetHSM localhost:8443:
Time: 2022-08-17 11:40:00+00:00
/config/time エンドポイントに関する情報は API documentation で見ることができます。
NetHSMの時刻を設定します。
重要
時刻は必ずUTCタイムゾーンで渡してください。
**論評
論証 |
説明 |
---|---|
|
設定するシステム時刻(形式:YYYY-MM-DDTHH:MM:SSZ) |
**例
$ nitropy nethsm -h $NETHSM_HOST set-time 2022-08-17T11:40:00Z
Updated the system time for NetHSM localhost:8443
/config/time エンドポイントに関する情報は API documentation で見ることができます。
指標#
NetHSMは、システムパラメーターのメトリクスをログに記録します。
各指標の詳細については、`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
/metrics エンドポイントに関する情報は API documentation で見ることができます。
ロギング#
NetHSMは、システムイベントをシリアルポートまたはネットワーク上のsyslogサーバーに記録することができます。
重要
本番環境では、NetHSMログを継続的に監視して、潜在的なセキュリティ問題を即座に通知する必要があります。
シリアルコンソールは、NetHSMハードウェアの起動直後から動作します。NetHSMファームウェアとNetHSMソフトウェアからのイベントも含まれます。
シリアルコンソールの接続設定は、以下の通りです。
設定 |
価値 |
---|---|
ボーレート |
115200 |
データビット |
8 |
ストップビット |
1 |
パリティ |
なし |
フロー制御 |
なし |
syslogサーバーの設定は、以下のように取得することができます。
必須オプション
オプション |
説明 |
---|---|
|
ロギング設定を問い合わせる |
**例
$ nitropy nethsm -h $NETHSM_HOST get-config --logging
Logging:
IP address: 0.0.0.0
Port: 514
Log level: info
/config/logging エンドポイントに関する情報は API documentation で見ることができます。
syslogサーバーの設定は、以下のように行います。
必須オプション
オプション |
説明 |
---|---|
|
新しいロギング先のIPアドレス |
|
新しいロギング先のポート |
|
新しいログレベル |
**例
$ 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
/config/logging エンドポイントに関する情報は API documentation で見ることができます。
バックアップ#
NetHSMの*ユーザーデータ*は、バックアップファイルに保存することができます。このバックアップファイルには、すべての*ユーザーデータ*、すなわち*コンフィグレーションストア*、認証ストア、ドメインキーストア、および*キーストア*が含まれています。
重要
Unattended Boot*モードのNetHSMシステムソフトウェアは、異なるNetHSMハードウェアでリストアする場合、*Unlock Passphrase*を必要とします。詳しくは、Unlock Passphrase の章を参照してください。
重要
無人起動*モードのNetHSMは、リストア後も同じモードとなります。
バックアップを開始する前に、Backup Passphrase を設定する必要があります。バックアップパスフレーズ*は、バックアップファイルのデータを暗号化するために使用されます。
バックアップパスフレーズは、以下のように設定できます。
オプション設定
オプション |
説明 |
---|---|
|
新しいバックアップのパスフレーズ |
**例
$ nitropy nethsm -h $NETHSM_HOST -u admin set-backup-passphrase
Passphrase:
Repeat for confirmation:
Updated the backup passphrase for NetHSM localhost:8443
/config/backup-passphrase エンドポイントに関する情報は、API documentation に記載されています。
注釈
このコマンドを実行するには、*Backup*ロールを持つユーザーの認証が必要です。詳細については、`Roles <administration.html#roles>`__の章を参照してください。
バックアップは次のように実行できます。
**論評
論証 |
説明 |
---|---|
|
バックアップファイル |
**例
$ nitropy nethsm -h $NETHSM_HOST backup /tmp/nethsm-backup
Backup for localhost:8443 written to /tmp/backup
/system/backup エンドポイントに関する情報は、API documentation に記載されています。
注釈
このバックアップファイルは、プロビジョニングされていないNetHSMインスタンスにのみリストアすることができます。
リストア#
NetHSMは、バックアップファイルから復元することができます。
NetHSM が*Unprovisioned* の場合、システム設定を含むすべての*ユーザーデータ* を復元し、再起動します。そのため、システムはその後、異なるネットワーク設定、TLS証明書、Unlock Passphrase を取得する可能性があります。
NetHSM が*Provisioned* の場合、ユーザーとユーザーキーはリストアされますが、システム構成はリストアされません。この場合、既存のユーザーとユーザーキーはすべて削除されます。NetHSM は*運用中* の状態で終了します。
復元は、以下のように適用できます。
オプション設定
オプション |
説明 |
---|---|
|
バックアップパスフレーズ*について |
|
設定するシステム時刻(書式: |
重要
ローカルコンピュータの時刻が正しく設定されていることを確認してください。別の時刻を設定する場合は、手動で指定してください。
**論評
論証 |
説明 |
|
---|---|---|
``FILENAME``| ファイルをリストアする |
**例
$ nitropy nethsm -h $NETHSM_HOST restore /tmp/nethsm-backup
Backup passphrase:
Backup restored on NetHSM localhost:8443
/system/restore エンドポイントに関する情報は API documentation で見ることができます。
ソフトウェア・アップデート#
ソフトウェアアップデートは、2 段階のプロセスでインストールできます。まず、Provisioned NetHSM にアップデートイメージをアップロードする必要があります。NetHSM は、イメージの信頼性、完全性、およびバージョン番号を検証します。オプションで、NetHSM はリリースノートがあれば表示します。
警告
ベータ版アップデートのインストールにより、データ損失が発生する可能性があります!安定版ではデータ損失は発生しません。しかし、アップデートの前にバックアップを作成することをお勧めします。
アップデートファイルのアップロードは、以下の手順で行います。
**論評
論証 |
説明 |
---|---|
|
アップデートファイル |
**例
$ nitropy nethsm --host $NETHSM_HOST update /tmp/nethsm-update.img.cpio
Image /tmp/nethsm-update.img.cpio uploaded to NetHSM localhost:8443
/system/update エンドポイントに関する情報は API documentation で見ることができます。
その後、アップデートを適用または中止することができます。以下のオプションを参照してください。コミット "操作の前にNetHSMの電源を落とした場合、アップデートファイルを再度アップロードする必要があります。
アップデートの適用(コミット)は次のように行います。データ移行は、NetHSMが新しいシステムソフトウェアバージョンで正常に起動した後に実行されます。
**例
$ nitropy nethsm --host $NETHSM_HOST commit-update
Update successfully committed on NetHSM localhost:8443
/system/commit-update エンドポイントに関する情報は API documentation で見ることができます。
アップデートの取り消しは、以下の手順で行えます。
**例
$ nitropy nethsm --host $NETHSM_HOST cancel-update
Update successfully cancelled on NetHSM localhost:8443
/system/cancel-update エンドポイントに関する情報は API documentation で見ることができます。
リブートとシャットダウン#
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
/system/reboot エンドポイントに関する情報は API documentation で見ることができます。
リモートシャットダウンは、以下の手順で開始することができます。
**例
$ 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
/system/shutdown エンドポイントに関する情報は API documentation で見ることができます。
工場出荷時の状態に戻す#
プロビジョニング済み NetHSM は、工場出荷時のデフォルトにリセットできます。この場合、すべてのユーザーデータは安全に削除され、 NetHSM は*Unprovisioned* の状態で起動します。その後、` <getting-started#provisioning>` __ NetHSM をプロビジョニングすることができます。
工場出荷時へのリセットは、以下の手順で行うことができます。
**例
$ 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
/system/factory-reset エンドポイントに関する情報は API documentation で見ることができます。
ユーザー管理#
役割#
NetHSMでは、異なるロールを使用することにより、職務の分離が可能です。NetHSMに設定された各ユーザーアカウントには、以下の*ロール*のいずれかが割り当てられています。
役割 |
説明 |
---|---|
アドミニストレーター |
この役割を持つユーザーアカウントは、鍵の使用操作(メッセージの署名と復号化)を除き、NetHSMが提供するすべての操作にアクセスすることができます。 |
*オペレーター |
この役割を持つユーザーアカウントは、すべての鍵使用操作、鍵管理操作の読み取り専用サブセット、およびユーザー管理操作にアクセスし、自分のアカウントにのみ変更を許可します。 |
Metrics |
この役割を持つユーザー・アカウントは、読み取り専用のメトリックス操作にのみアクセスできる。 |
Backup |
この役割を持つユーザーアカウントは、システムバックアップを開始するために必要な操作にのみアクセスすることができます。 |
より細かなアクセス制限については`タグ<administration.html#tags-for-users>`__ を参照のこと。
注釈
将来のリリースでは、追加のロール*が導入される可能性があります。
ユーザーを追加する#
NetHSMにユーザーアカウントを追加します。各ユーザーアカウントには*Role*があり、これを指定する必要があります。役割*については、Roles の章で詳しく説明しています。
注釈
NetHSMは、指定がない場合、ランダムなユーザーIDを割り当てます。
ユーザーアカウントは、以下の手順で追加することができます。
必須オプション
オプション |
説明 |
---|---|
|
ユーザーの実名 |
|
新規ユーザーの 役割 を指定します。 |
|
新規ユーザーのパスフレーズ |
オプション設定
オプション |
説明 |
---|---|
|
新規ユーザーのユーザー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
ユーザーIDを指定せずにユーザーを作成するための`/users` エンドポイントに関する情報は、API documentation で見ることができます。
ユーザーIDを指定してユーザーを作成するための`/users/{UserID}` エンドポイントに関する情報は、API documentation で見ることができます。
ユーザー削除#
NetHSMからユーザーアカウントを削除します。
警告
削除は永久的なものであり、元に戻すことはできません。
ユーザーアカウントの削除は、次の手順で行います。
**論評
論証 |
説明 |
---|---|
|
ユーザーのId。 |
**例
$ nitropy nethsm --host $NETHSM_HOST delete-user operator1
User operator1 deleted on NetHSM localhost:8443
/users/{UserID} エンドポイントに関する情報は、API documentation で見ることができます。
リストユーザー#
NetHSMのユーザーをリストアップします。
このリストは、次のようにして取得することができます。
オプション設定
オプション |
説明 |
---|---|
|
ユーザーの実名とロールを問い合わせる |
**例
$ nitropy nethsm --host $NETHSM_HOST list-users
Users on NetHSM localhost:8843:
User ID Real name Role
--------- ----------------- -------------
operator1 Nitrokey Operator Operator
admin admin Administrator
/users エンドポイントに関する情報は、API documentation で見ることができます。
/users/{UserID} エンドポイントに関する情報は、API documentation で見ることができます。
ユーザーパスフレーズ#
ユーザーアカウントのパスフレーズを再設定することができます。パスフレーズは、ユーザーアカウントを追加する際に初期設定されます。
注釈
パスフレーズは10文字以上200文字以下である必要があります。
ユーザーパスフレーズは、次のように設定できます。
必須オプション
**例
$ nitropy nethsm --host $NETHSM_HOST set-passphrase --user-id operator1
Passphrase:
Repeat for confirmation:
Updated the passphrase for user operator1 on NetHSM localhost:8443
/users/{UserID}/passphrase エンドポイントに関する情報は、API documentation で見ることができます。