Verwaltung#

Dieses Kapitel beschreibt administrative Aufgaben für Benutzer mit der Rolle Administrator. Bitte lesen Sie das Kapitel Rollen, um mehr über die 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

Besuchtes Boot

Beim Hochfahren befindet sich der NetHSM in einem _gesperrten_ Zustand. Bei jedem Start muss die Unlock Passphrase eingegeben werden, die zur Entschlüsselung der Benutzerdaten verwendet wird. Aus Sicherheitsgründen wird dieser Modus empfohlen, und er ist der Standardmodus für ein frisch eingerichtetes System.

Unbeaufsichtigter Start

Das System startet unbeaufsichtigt, ohne dass die Unlock Passphrase eingegeben werden muss, in einen _Operational_ Zustand. Verwenden Sie diesen Modus, wenn Ihre Verfügbarkeitsanforderungen mit dem Modus Attended Boot nicht erfüllt werden können.

Warnung

Unabhängig vom Boot-Modus behält die Unlock Passphrase ihre Gültigkeit und wird für die Wiederherstellung von Backups auf anderer Hardware benötigt. Bewahren Sie die Unlock Passphrase jederzeit sicher auf.

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. Beim nächsten Start verhält sich der NetHSM entsprechend.

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 verschlüsselten und unzugänglichen Datenspeichern. Normalerweise besteht der nächste Schritt darin, das System zu entsperren. Der Zustand Locked impliziert den Zustand Provisioned.

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 den Zustand Unprovisioned und geht nach der Provisionierung in den Zustand Operational über. Das Provisioning eines NetHSM wird im Kapitel Provisioning <getting-started#provisioning> 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

Eine NetHSM im Zustand Locked kann wie folgt entsperrt werden. Während sich das NetHSM im Zustand _Locked_ befindet, sind keine weiteren Operationen möglich. Danach befindet sich das NetHSM in einem _Operational_ Zustand.

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.

Warnung

Die Entsperr-Passphrase kann nicht zurückgesetzt werden, ohne den aktuellen Wert zu kennen. Wenn die Entsperr-Passphrase verloren geht, kann sie weder auf einen neuen Wert zurückgesetzt noch das NetHSM entsperrt werden.

Die Unlock Passphrase kann wie folgt eingestellt werden.

Optionale Optionen

Option

Beschreibung

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

Die neue Passphrase zum Entsperren

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

Die aktuelle Passphrase zum Entsperren

-f, --force

Vor dem Ändern der Passphrase nicht nach einer Bestätigung fragen

Beispiel

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

Get the certificate for the NetHSM TLS interface

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. Unter Metrics finden Sie weitere Informationen zu den einzelnen Metriken.

Die Metriken können wie folgt abgerufen werden.

Erforderliche Rolle

Dieser Vorgang erfordert eine Authentifizierung mit der Rolle Metrics.

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.

Wichtig

Bei jeder Produktionsbereitstellung sollte das NetHSM-Protokoll kontinuierlich überwacht werden, um eine sofortige Benachrichtigung über mögliche Sicherheitsprobleme zu ermöglichen.

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

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

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 Unlock Passphrase.

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.

Warnung

Die Sicherungspassphrase kann nicht zurückgesetzt werden, ohne den aktuellen Wert zu kennen. Wenn die Sicherungspassphrase verloren geht, kann sie weder auf einen neuen Wert zurückgesetzt noch können die erstellten Sicherungen wiederhergestellt werden.

Die Backup-Passphrase kann wie folgt eingestellt werden.

Optionale Optionen

Option

Beschreibung

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

Die neue Sicherungspassphrase

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

Die aktuelle Sicherungspassphrase (oder eine leere Zeichenkette, falls nicht festgelegt)

-f, --force

Vor dem Ändern der Passphrase nicht nach einer Bestätigung fragen

Beispiel

$ 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

Die Sicherung kann wie folgt durchgeführt werden.

Erforderliche Rolle

Dieser Vorgang erfordert eine Authentifizierung mit der Rolle Backup.

Argumente

Argument

Beschreibung

FILENAME

Sicherungsdatei

Beispiel

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

Wiederherstellen#

Der NetHSM kann aus einer Sicherungsdatei wiederhergestellt werden.

  • Wenn der NetHSM Unprovisioned ist, werden alle Benutzerdaten einschließlich der Systemkonfiguration wiederhergestellt und das System neu gestartet. Daher kann das System anschließend andere Netzwerkeinstellungen, TLS-Zertifikate und Unlock Passphrase erhalten.

  • Wenn der NetHSM Provisioned ist, werden Benutzer und Benutzerschlüssel wiederhergestellt, nicht aber die Systemkonfiguration. In diesem Fall werden alle zuvor vorhandenen Benutzer und Benutzerschlüssel gelöscht. Der NetHSM endet im Zustand Operational.

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

Clustering#

NetHSM ist zustandslos, so dass mehrere NetHSM-Geräte verwendet werden können, um einen extrem hohen Durchsatz zu verarbeiten und eine hohe Verfügbarkeit zu gewährleisten. Das PKCS#11-Modul unterstützt einen Round-Robin-Zeitplan für einen Cluster von NetHSM-Instanzen. Mehrere Instanzen von NetHSM können über verschlüsselte Backups synchronisiert werden. Dazu lädt ein separates System Sicherungsdateien zwischen den Instanzen herunter und hoch. Dieses separate System hat keinen Zugriff auf die Backup-Daten im Klartext, da die Backup-Dateien verschlüsselt sind. Die Synchronisation kann einfach mit pynitrokey geskriptet werden, wie in dieses Beispiel zeigt.

Software-Aktualisierung#

Software-Updates können in einem zweistufigen Verfahren installiert werden. Zunächst muss das Update-Image auf einen Provisioned NetHSM hochgeladen werden. Der NetHSM prüft die Authentizität, Integrität und Versionsnummer des Images. Optional zeigt der NetHSM die Versionshinweise an, falls vorhanden.

Warnung

Durch die Installation eines Beta-Updates kann es zu Datenverlusten kommen! Stabile Versionen sollten keine Datenverluste verursachen. Es wird jedoch empfohlen, vor der Aktualisierung ein Backup zu erstellen.

Die Aktualisierungsdatei kann wie folgt hochgeladen werden.

Argumente

Argument

Beschreibung

FILENAME

Datei aktualisieren

Beispiel

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

Danach kann das Update angewendet oder abgebrochen werden. Bitte beachten Sie die gewünschte Option weiter unten. Wird der NetHSM vor dem „Commit“-Vorgang ausgeschaltet, muss die Update-Datei erneut hochgeladen werden.

Wichtig

Wenn das Hochladen des Update-Images mit Error: NetHSM request failed: Bad request -- malformed image fehlschlägt, führen Sie bitte die folgenden Schritte aus.

  1. Vergewissern Sie sich, dass Sie eine gültige Aktualisierungsdatei haben, indem Sie die mitgelieferte Signatur überprüfen.

  2. Vergewissern Sie sich, dass Sie keine hohe Protokollierungsstufe, wie DEBUG aktiviert haben. Bitte lesen Sie das Kapitel Logging, um mehr über die Konfiguration der Protokollierungsebene zu erfahren.

  3. Starten Sie die Appliance neu, um belegten Speicherplatz freizugeben.

Das Update kann wie folgt angewendet (committed) werden. Eine Datenmigration wird nur durchgeführt nachdem die NetHSM erfolgreich die neue Systemsoftwareversion gebootet hat.

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

System-Informationen#

Systeminformationen wie Firmware-Version, Software-Version und Hardware-Version können wie folgt abgerufen werden.

Beispiel

$ nitropy nethsm -h $NETHSM_HOST system-info
Host:             192.168.1.1
Firmware version: 1.0-prod
Software version: 2.0
Hardware version: prodrive-hermes-1.0
Build tag:        v2.0-0-g17ad829

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#

Ein Provisioned NetHSM kann auf die Werkseinstellungen zurückgesetzt werden. In diesem Fall werden alle Benutzerdaten sicher gelöscht und der NetHSM bootet in einen Unprovisioned Zustand. Anschließend können Sie den NetHSM bereitstellen.

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.

Siehe Namespaces und Tags für detailliertere Zugriffsbeschränkungen.

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.

Optional kann ein Benutzer einem *Namespace* zugewiesen werden.

Bemerkung

Die Benutzer-ID muss alphanumerisch sein. Der NetHSM vergibt eine zufällige Benutzer-ID, wenn keine angegeben wird.

Ein Benutzerkonto kann wie folgt hinzugefügt werden.

Erforderliche Optionen

Option

Beschreibung

-n, --real-name TEXT

Der echte Name des neuen Benutzers

-N`, ` ` ` ` –namespace TEXT

Der Namespace des neuen 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

Standardmäßig wird der Namespace von dem Benutzer geerbt, der den neuen Benutzer hinzufügt. Nur Benutzer ohne Namespace können einen anderen Namespace für neue Benutzer wählen. Der Namespace wird als Präfix für den Benutzernamen verwendet, z. B. namespace~user. Daher kann derselbe Benutzername in mehreren Namespaces verwendet werden.

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 innerhalb eines Namensraums können nur Benutzer im selben Namensraum sehen.

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

Namespaces#

Namespaces wurden mit der Softwareversion 2.0 eingeführt. Bei der Migration von einer früheren Version der Software werden alle vorhandenen Benutzer und Schlüssel ohne Namensraum sein.

Ähnlich wie das Konzept der Partitionen unterstützt NetHSM die flexibleren Namespaces, die Schlüssel, Administratoren und Benutzer auf einem NetHSM in separate Untergruppen gruppieren. Benutzer können nur Schlüssel im selben Namespace sehen und verwenden und können nur Benutzer im selben Namespace sehen. Es ist nicht möglich, Benutzer zu sehen und Schlüssel anderer Namespaces zu sehen und zu verwenden. Wenn ein neuer Benutzer angelegt wird, erbt er den Namespace des Benutzers, der ihn angelegt hat. Die verfügbare Speicherkapazität wird von allen Namespaces gemeinsam genutzt.

Benutzer mit der Rolle Administrator werden auch als R-Administrator bezeichnet, wenn sie sich nicht in einem Namespace befinden, oder N-Administrator, wenn sie sich in einem Namespace befinden.

Besondere Regeln gelten für R-Administrator Benutzer: Sie können den Namespace für neue Benutzer festlegen, alle Benutzer auflisten und den Namespace eines Benutzers abfragen. Auch die NetHSM-Konfiguration kann nur von R-Administrator Benutzern eingesehen werden. R-Administratoren können keine Schlüssel in einem Namespace sehen.

Um Schlüssel und Benutzer in einem Namespace erzeugen zu können, muss der Namespace von einem R-Administrator Benutzer erstellt werden. Sobald der Namespace erstellt wurde, können R-Administrator Benutzer keine Benutzer mehr in diesem Namespace erstellen, löschen oder ändern. Dies ermöglicht es, die Schlüssel der Namespaces vor dem Zugriff durch R-Administrator zu schützen (auch indirekt durch Hinzufügen eines neuen Benutzers im Namen oder Zurücksetzen der Anmeldedaten eines bestehenden Benutzers oder Administrators). Daher ist es notwendig, einen N-Administrator Benutzer für den Namespace zu erstellen, bevor der Namespace erstellt wird. R-Administrator Benutzer können auch einen Namespace mit allen enthaltenen Schlüsseln löschen.

Namespaces auflisten#

Auflistung der Namespaces auf dem NetHSM.

Die Liste kann wie folgt abgerufen werden.

Beispiel

$ nitropy nethsm --host $NETHSM_HOST list-namespaces
Namespaces on NetHSM localhost:8843:
- ns1
- ns2

Namespace hinzufügen#

Fügen Sie dem NetHSM einen Namensraum hinzu.

R-Administrator Benutzer können bereits neue Konten im Namensraum anlegen, bevor dieser erstellt wird. Nach der Erstellung können nur N-Administrator Benutzer die Benutzer im Namespace verwalten. Die Erstellung und Verwendung von Schlüsseln im Namespace ist erst möglich, nachdem er hinzugefügt worden ist.

Bemerkung

Die Namespace-ID muss alphanumerisch sein. Der NetHSM weist eine zufällige Benutzer-ID zu, wenn keine angegeben wird.

Ein Namespace kann wie folgt hinzugefügt werden.

Argumente

Argument

Beschreibung

`NAMESPACE`| Der neue Namespace.

Beispiel

$ nitropy nethsm --host $NETHSM_HOST add-namespace ns1
Namespace ns1 added to NetHSM localhost:8443

Namespace löschen#

Löschen eines Namensraumes aus dem NetHSM.

Beim Löschen eines Namensraums werden auch alle Schlüssel dieses Namensraums gelöscht. Verbleibende Benutzer im Namensraum können keine Schlüssel hinzufügen, bis der Namensraum erneut hinzugefügt wurde.

Ein Namespace kann wie folgt gelöscht werden.

Argumente

Argument

Beschreibung

NAMESPACE

Der zu löschende Namespace.

Beispiel

$ nitropy nethsm --host $NETHSM_HOST delete-namespace ns1
Namespace ns1 deleted on NetHSM localhost:8443

Tags für Benutzer#

Tags können verwendet werden, um fein abgestufte Zugriffsbeschränkungen für Schlüssel festzulegen, und sind eine optionale Funktion. Ein oder mehrere Tags können nur den Benutzerkonten mit der Rolle Operator zugewiesen werden. Die Operators können alle Schlüssel sehen, aber nur diejenigen mit mindestens einem entsprechenden Tag verwenden. Ein Schlüssel kann nicht von einem Operator Benutzer geändert werden.

Informationen über die Verwendung von Tags auf Schlüsseln finden Sie unter Tags für Schlüssel.

Ein 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