Verwaltung#

Dieses Kapitel beschreibt administrative Aufgaben für Benutzer mit der Rolle Administrator. Bitte lesen Sie das Kapitel Rollen, um mehr über diese Rolle zu erfahren.

Wichtig

Bitte lesen Sie unbedingt die Informationen am Anfang von diesem Dokument bevor Sie mit der Arbeit beginnen.

Systemverwaltung#

Informationen zum Gerät#

Die Hersteller- und Produktinformationen für ein NetHSM können wie folgt abgerufen werden.

Beispiel

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

Boot-Modus#

NetHSM kann im Attended Boot-Modus und im Unattended Boot-Modus verwendet werden.

Boot-Modus

Beschreibung

Attended Boot

Bei jedem Start muss die Unlock Passphrase eingegeben werden, die zur Entschlüsselung der Benutzerdaten verwendet wird. Aus Sicherheitsgründen wird dieser Modus empfohlen.

Unbeaufsichtigter Start

Es ist keine Unlock Passphrase erforderlich, daher kann der NetHSM unbeaufsichtigt starten. Verwenden Sie diesen Modus, wenn Ihre Verfügbarkeitsanforderungen mit dem Attended Boot-Modus nicht erfüllt werden können.

Der aktuelle Bootmodus kann wie folgt abgefragt werden.

Beispiel

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

Der Bootmodus kann wie folgt geändert werden.

Argumente

Argument

Beschreibung

Status

Aktivieren oder deaktivieren Sie Unattended Boot. Kann den Wert on oder off haben.

Beispiel

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

Staat#

Die NetHSM-Software hat vier Zustände: Unprovisioned, Provisioned, Locked, und Operational.

Staat

Beschreibung

Unprovisioniert

NetHSM ohne Konfiguration (Werkseinstellung)

Bereitgestellt

NetHSM mit Konfiguration. Der Status Provisioned impliziert entweder den Status Operational oder Locked.

Betrieblich

NetHSM mit Konfiguration und bereit zur Ausführung von Befehlen. Der Zustand Betrieblich impliziert den Zustand Bereitgestellt.

Geschlossen

NetHSM mit Konfiguration, aber geschützt (erfordert Entsperrung). Der Zustand Betrieblich impliziert den Zustand Bereitgestellt.

Zustände und Übergänge des NetHSM

Zustände und Übergänge des NetHSM#


Der aktuelle Zustand des NetHSM kann wie folgt abgefragt werden.

Beispiel

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

Ein neuer NetHSM hat einen Unprovisioned Status und geht nach der Provisionierung in den Operational Status über. Die Provisionierung eines NetHSM wird im Kapitel Provisionierung beschrieben.

Eine NetHSM im Zustand Operational kann wie folgt wieder gesperrt werden, um sie zu schützen.

Beispiel

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

Ein NetHSM im Zustand Gesperrt kann wie folgt entsperrt werden.

Beispiel

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

Passphrase freischalten#

Die Unlock Passphrase wird verwendet, um einen Unlock Key abzuleiten, wenn sich der NetHSM im Locked Status befindet. Die Passphrase wird erstmals bei der Bereitstellung des NetHSM festgelegt.

Die Unlock Passphrase kann wie folgt eingestellt werden.

Optionale Optionen

Option

Beschreibung

-p, --passphrase TEXT

Die neue Passphrase zum Entsperren

Beispiel

$ nitropy nethsm --host $NETHSM_HOST set-unlock-passphrase
Passphrase:
Repeat for confirmation:
Updated the unlock passphrase for localhost:8443

TLS-Zertifikat#

Das TLS-Zertifikat wird für die HTTPS-basierte REST-API verwendet und somit auch von nitropy genutzt. Bei der Bereitstellung wird ein selbstsigniertes Zertifikat erstellt. Das Zertifikat kann z.B. durch ein signiertes Zertifikat einer Zertifizierungsstelle (CA) ersetzt werden. In diesem Fall muss ein Certificate Signing Request (CSR) erstellt werden. Nach der Signierung muss das Zertifikat in den NetHSM importiert werden.

Eine Änderung ist nur erforderlich, wenn das Zertifikat ersetzt werden soll. Eine solche Änderung kann darin bestehen, es durch ein signiertes Zertifikat einer Zertifizierungsstelle (CA) zu ersetzen.

Das TLS-Zertifikat kann wie folgt abgerufen werden.

Erforderliche Optionen

Option

Beschreibung

-a, --api

Einstellen des Zertifikats für die NetHSM TLS-Schnittstelle

Beispiel

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

Das TLS-Zertifikat kann wie folgt erstellt werden.

Erforderliche Optionen

Option

Beschreibung

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

Der Typ des generierten Schlüssels

-l, --length INTEGER

Die Länge des generierten Schlüssels

Beispiel

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

Der Certificate Signing Request (CSR) für das Zertifikat kann wie folgt erstellt werden.

Erforderliche Optionen

Option

Beschreibung

-a, --api

Erzeugen Sie eine CSR für das NetHSM TLS-Zertifikat

--country TEXT

Der Name des Landes

--state-or-province TEXT

Der Name des Bundeslandes oder der Provinz

--locality TEXT

Der Name des Ortes

--organization TEXT

Der Name der Organisation

--organizational-unit TEXT

Der Name der Organisationseinheit

--common-name TEXT

Der gemeinsame Name

--email-address TEXT

Die E-Mail Adresse

Beispiel

$ 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-----

Das Zertifikat kann wie folgt ersetzt werden.

Erforderliche Optionen

Option

Beschreibung

-a, --api

Einstellen des Zertifikats für die NetHSM TLS-Schnittstelle

Argumente

Argument

Beschreibung

FILENAME

Zertifikat-Datei

Beispiel

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

Netzwerk#

Die Netzwerkkonfiguration definiert die Einstellungen für den Network Port.

Bemerkung

Diese Einstellungen konfigurieren nicht den BMC Network Port.

Die Netzwerkkonfiguration kann wie folgt abgerufen werden.

Erforderliche Optionen

Option

Beschreibung

--network

Abfrage der Netzwerkkonfiguration

Beispiel

$ 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

Stellen Sie die Netzwerkkonfiguration wie folgt ein.

Bemerkung

Das NetHSM unterstützt kein DHCP (Dynamic Host Configuration Protocol).

Bemerkung

Der NetHSM unterstützt IPv6 (Internet Protocol Version 6) nicht.

Erforderliche Optionen

Option

Beschreibung

-a, --ip-address

Die neue IP-Adresse

-n, --netmask

Die neue Netzmaske

-n, --netmask

Das neue Gateway

Beispiel

$ 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

Zeit#

Mit der Zeitkonfiguration wird die Systemzeit der NetHSM-Software eingestellt. Normalerweise ist es nicht erforderlich, die Systemzeit einzustellen, da sie während der Bereitstellung eingestellt wird.

Die Zeitkonfiguration kann wie folgt abgerufen werden.

Erforderliche Optionen

Option

Beschreibung

--time

Abfrage der Systemzeit

Beispiel

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

Stellen Sie die Uhrzeit des NetHSM ein.

Wichtig

Achten Sie darauf, dass Sie die Uhrzeit in der UTC-Zeitzone angeben.

Argumente

Argument

Beschreibung

time

Die einzustellende Systemzeit (Format: JJJJ-MM-TTTHH:MM:SSZ)

Beispiel

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

Metriken#

Der NetHSM protokolliert Metriken der Systemparameter.

Bemerkung

Dieser Befehl erfordert die Authentifizierung eines Benutzers mit der Rolle Metrics. Bitte lesen Sie das Kapitel Rollen, um mehr über diese Rolle zu erfahren.

Die Metriken können wie folgt abgerufen werden.

Beispiel

$ 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

Protokollierung#

Das NetHSM kann Systemereignisse über die serielle Schnittstelle oder einen Syslog-Server im Netzwerk protokollieren.

Die serielle Konsole funktioniert vom Start der NetHSM-Hardware an. Sie umfasst Ereignisse von der NetHSM-Firmware und der NetHSM-Software.

Die Einstellungen für die serielle Konsolenverbindung lauten wie folgt.

Einstellung

Wert

Baudrate

115200

Datenbits

8

Stoppbits

1

Parität

Keine

Durchflusskontrolle

Keine

Die Konfiguration des Syslog-Servers kann wie folgt abgefragt werden.

Erforderliche Optionen

Option

Beschreibung

--network

Abfrage der Protokollierungskonfiguration

Beispiel

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

Die Konfiguration des Syslog-Servers kann wie folgt eingestellt werden.

Erforderliche Optionen

Option

Beschreibung

-p, --passphrase TEXT

Die IP-Adresse des neuen Protokollierungsziels

-p, --port INTEGER

Der Port des neuen Protokollierungsziels

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

Die neue Protokollstufe

Beispiel

$ 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

Sicherung#

Die NetHSM Benutzerdaten können in einer Sicherungsdatei gespeichert werden. Diese Sicherungsdatei enthält alle Benutzerdaten, nämlich Konfigurationsspeicher, Authentifizierungsspeicher, Domänenschlüsselspeicher und Schlüsselspeicher.

Wichtig

Eine NetHSM-Systemsoftware im Modus Unattended Boot benötigt die Unlock Passphrase, wenn sie auf einer anderen NetHSM-Hardware wiederhergestellt wird. Weitere Informationen finden Sie im Kapitel Passphrase entsperren.

Wichtig

Ein NetHSM im Modus Unattended Boot befindet sich nach einer Wiederherstellung im gleichen Modus.

Bevor eine Sicherung gestartet werden kann, muss die Backup Passphrase festgelegt werden. Die Backup Passphrase wird zur Verschlüsselung der Daten in der Sicherungsdatei verwendet.

Die Backup-Passphrase kann wie folgt eingestellt werden.

Optionale Optionen

Option

Beschreibung

-p, --passphrase TEXT

Die neue Sicherungspassphrase

Beispiel

$ nitropy nethsm -h $NETHSM_HOST -u admin set-backup-passphrase
Passphrase:
Repeat for confirmation:
Updated the backup passphrase for NetHSM localhost:8443

Bemerkung

Dieser Befehl erfordert die Authentifizierung eines Benutzers mit der Rolle Backup. Bitte lesen Sie das Kapitel Rollen um mehr zu erfahren.

Die Sicherung kann wie folgt durchgeführt werden.

Argumente

Argument

Beschreibung

FILENAME

Sicherungsdatei

Beispiel

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

Bemerkung

Diese Sicherungsdatei kann nur auf einer unprovisionierten NetHSM-Instanz wiederhergestellt werden.

Wiederherstellen#

Der NetHSM kann aus einer Sicherungsdatei wiederhergestellt werden.

Bemerkung

Die NetHSM muss sich in einem Unprovisioned State befinden.

Die Wiederherstellung kann wie folgt durchgeführt werden.

Optionale Optionen

Option

Beschreibung

-p, --backup-passphrase passphrase

Die Backup-Passphrase

-t, --system-time

Die einzustellende Systemzeit (Format: YYYY-MM-DDTHH:MM:SSZ)

Wichtig

Vergewissern Sie sich, dass die Zeit Ihres lokalen Computers richtig eingestellt ist. Um eine andere Zeit einzustellen, geben Sie diese bitte manuell ein.

Argumente

Argument

Beschreibung

FILENAME | Datei wiederherstellen

Beispiel

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

Update#

Updates für den NetHSM können in zwei Schritten installiert werden. Zunächst muss das Update-Image auf die NetHSM hochgeladen werden. Das Image wird automatisch geprüft und validiert.

Warnung

Durch die Installation eines Beta-Updates kann es zu Datenverlusten kommen!

Die Aktualisierungsdatei kann wie folgt hochgeladen werden.

Argumente

Argument

Beschreibung

FILENAME

Datei aktualisieren

Beispiel

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

Danach kann das Update angewendet oder abgebrochen werden. Bitte wählen Sie unten die gewünschte Option aus.

Die Aktualisierung kann wie folgt durchgeführt (committed) werden.

Beispiel

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

Die Aktualisierung kann wie folgt abgebrochen werden.

Beispiel

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

Neustart und Herunterfahren#

Der NetHSM kann neu gestartet und heruntergefahren werden, entweder aus der Ferne oder über die Neustart- und Ausschalttaste an der Vorderseite der NetHSM-Hardware.

Der Remote-Neustart kann wie folgt eingeleitet werden.

Beispiel

$ 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

Die Fernabschaltung kann wie folgt eingeleitet werden.

Beispiel

$ 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

Zurücksetzen auf Werkseinstellungen#

Das NetHSM kann auf die Werkseinstellungen zurückgesetzt werden. Bei diesem Vorgang werden alle Benutzerdaten gelöscht.

Das Zurücksetzen auf die Werkseinstellungen kann wie folgt durchgeführt werden.

Beispiel

$ 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

Benutzerverwaltung#

Rollen#

Der NetHSM ermöglicht die Trennung von Aufgaben durch die Verwendung verschiedener Rollen. Jedem auf dem NetHSM konfigurierten Benutzerkonto ist eine der folgenden Rollen zugewiesen.

Rolle

Beschreibung

Administrator

Ein Benutzerkonto mit dieser Rolle hat Zugriff auf alle vom NetHSM bereitgestellten Operationen, mit Ausnahme der Schlüsselverwendungsoperationen, d. h. der Signierung und Entschlüsselung von Nachrichten.

Operator

Ein Benutzerkonto mit dieser Rolle hat Zugriff auf alle Schlüsselverwendungsvorgänge, eine schreibgeschützte Teilmenge der Schlüsselverwaltungsvorgänge und Benutzerverwaltungsvorgänge, die nur Änderungen für das eigene Konto zulassen.

Metrik

Ein Benutzerkonto mit dieser Rolle hat nur Zugriff auf schreibgeschützte Metrikoperationen.

Backup

Ein Benutzerkonto mit dieser Rolle hat nur Zugriff auf die Vorgänge, die zum Einleiten einer Systemsicherung erforderlich sind.

Bemerkung

In einer zukünftigen Version können weitere Rollen eingeführt werden.

Benutzer hinzufügen#

Fügen Sie dem NetHSM ein Benutzerkonto hinzu. Jedes Benutzerkonto hat eine Rolle, die angegeben werden muss. Bitte lesen Sie das Kapitel Rollen um mehr über Rollen zu erfahren.

Bemerkung

Der NetHSM vergibt eine zufällige Benutzerkennung, wenn keine angegeben ist.

Ein Benutzerkonto kann wie folgt hinzugefügt werden.

Erforderliche Optionen

Option

Beschreibung

-n, --real-name TEXT

Der echte Name des Benutzers

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

Die Rolle des neuen Benutzers

-p, --passphrase TEXT

Die Passphrase des neuen Benutzers

Optionale Optionen

Option

Beschreibung

-u, --user-id TEXT

Die Benutzer-ID des neuen Benutzers

Beispiel

$ 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

Benutzer löschen#

Löschen Sie ein Benutzerkonto aus dem NetHSM.

Warnung

Die Löschung ist dauerhaft und kann nicht rückgängig gemacht werden.

Ein Benutzerkonto kann wie folgt gelöscht werden.

Argumente

Argument

Beschreibung

USER_ID

Die Benutzerkennung des Benutzers.

Beispiel

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

Benutzer auflisten#

Liste der Benutzer auf dem NetHSM.

Die Liste kann wie folgt abgerufen werden.

Optionale Optionen

Option

Beschreibung

--details, --no-details

Abfrage des echten Namens und der Rolle des Benutzers

Beispiel

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

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

Benutzer-Passphrase#

Die Passphrase eines Benutzerkontos kann zurückgesetzt werden. Eine Passphrase wird beim Hinzufügen eines Benutzerkontos initial festgelegt.

Bemerkung

Passphrasen müssen >= 10 und <= 200 Zeichen haben.

Die Benutzerpassphrase kann wie folgt festgelegt werden.

Erforderliche Optionen

Option

Beschreibung

-u, --user-id TEXT

Die Benutzer-ID des Benutzers

-p, --passphrase TEXT

Die neue Passphrase des Benutzers

Beispiel

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

Tags für Benutzer#

Tags können verwendet werden, um Zugangsbeschränkungen für Schlüssel festzulegen, und sind eine optionale Funktion. Sie können nur Benutzerkonten mit der Rolle Operator zugewiesen werden. Die Bediener können alle Schlüssel sehen, aber nur diejenigen verwenden, die mindestens einen entsprechenden Tag haben. Ein Schlüssel kann von einem Operator-Benutzer nicht geändert werden.

Wie Sie Tags für Tasten verwenden können, erfahren Sie unter Tags für Tasten.

Der Tag kann wie folgt hinzugefügt werden.

Argumente

Argument

Beschreibung

USER_ID

Die Benutzer-ID, auf die das Tag gesetzt werden soll.

TAG

Der Tag, der für die Benutzer-ID festgelegt werden soll.

Beispiel

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

Der Tag kann wie folgt gelöscht werden.

Argumente

Argument

Beschreibung

USER_ID

Die Benutzer-ID, auf die das Tag gesetzt werden soll.

TAG

Der Tag, der für die Benutzer-ID festgelegt werden soll.

Beispiel

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