Amministrazione#

Questo capitolo descrive le attività amministrative per gli utenti con il ruolo Administrator. Per ulteriori informazioni sul ruolo, consultare il capitolo Ruoli.

Importante

Assicuratevi di aver letto le informazioni all’inizio di questo documento prima di iniziare a lavorare.

Gestione del sistema#

Informazioni sul dispositivo#

Le informazioni sul fornitore e sul prodotto di un NetHSM possono essere recuperate come segue.

Esempio

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

Modalità di avvio#

NetHSM può essere usato in modalità Attended Boot e Unattended Boot.

Modalità di avvio

Descrizione

Stivale frequentato

Il NetHSM si avvia in uno stato _bloccato_. Ad ogni avvio è necessario inserire la Passphrase di sblocco che viene utilizzata per decriptare i dati utente. Per motivi di sicurezza, questa modalità è consigliata ed è quella predefinita per un sistema appena fornito.

Avvio non presidiato

Il sistema si avvia in modalità non presidiata senza la necessità di inserire la Passphrase di sblocco ** in uno stato _Operational_. Utilizzare questa modalità se i requisiti di disponibilità non possono essere soddisfatti con la modalità Attended Boot.

Avvertimento

Indipendentemente dalla modalità di avvio, la Unlock Passphrase mantiene la sua validità ed è necessaria per il ripristino dei backup su altri hardware. Tenere sempre al sicuro la Unlock Passphrase.

La modalità di avvio corrente può essere recuperata come segue.

Esempio

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

La modalità di avvio può essere modificata come segue. Al successivo avvio, il NetHSM si comporterà di conseguenza.

Argomenti

Argomento

Descrizione

Stato

Abilita o disabilita l”avvio non presidiato. Può avere il valore on o off.

Esempio

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

Stato#

Il software NetHSM ha quattro stati: Non approvato, Approvvigionato, Bloccato e Operativo.

Stato

Descrizione

Non previsto

NetHSM senza configurazione (impostazione di fabbrica)

Provvisto

NetHSM con configurazione. Lo stato Provisioned implica lo stato Operational o Locked.

Operativo

NetHSM con la configurazione e pronto a eseguire i comandi. Lo stato Operational implica lo stato Provisioned.

Bloccato

NetHSM con configurazione ma archivi di dati crittografati e inaccessibili. In genere, il passo successivo è sbloccare il sistema. Lo stato Locked implica lo stato Provisioned.

Stati e transizioni del NetHSM

Stati e transizioni del NetHSM#


Lo stato attuale del NetHSM può essere recuperato come segue.

Esempio

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

Un nuovo NetHSM ha uno stato Unprovisioned e dopo il provisioning entra nello stato Operational. Il provisioning di un NetHSM è descritto nel capitolo Provisioning.

Un NetHSM in stato Operativo può essere bloccato nuovamente per proteggerlo come segue.

Esempio

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

Un NetHSM nello stato Locked può essere sbloccato come segue. Mentre il NetHSM si trova nello stato _bloccato_ non sono possibili altre operazioni. Successivamente, il NetHSM si trova in uno stato _Operational_.

Esempio

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

Passphrase di sblocco#

La Passphrase di sblocco viene utilizzata per ricavare una chiave di sblocco se il NetHSM è in stato di blocco. La passphrase viene impostata inizialmente durante il provisioning del NetHSM.

… avviso:

La passphrase di sblocco non può essere ripristinata senza conoscere il valore attuale. Se la passphrase di sblocco viene persa, non è possibile ripristinare un nuovo valore né sbloccare il NetHSM.

La Passphrase di sblocco può essere impostata come segue.

Opzioni opzionali

Opzione

Descrizione

-n, --new-passphrase TEXT

La nuova passphrase di sblocco

-p, --current-passphrase TEXT

La passphrase di sblocco corrente

-f, --force

Non chiedere conferma prima di modificare la passphrase.

Esempio

$ 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

Certificato TLS#

Il certificato TLS viene utilizzato per l’API REST basata su HTTPS e quindi anche da nitropy. Durante il provisioning viene creato un certificato autofirmato. Il certificato può essere sostituito, ad esempio con un certificato firmato da un’autorità di certificazione (CA). In questo caso è necessario generare una Certificate Signing Request (CSR). Dopo la firma, il certificato deve essere importato nel NetHSM.

La modifica è necessaria solo quando il certificato deve essere sostituito. Tale modifica può consistere nella sostituzione con un certificato firmato da un’autorità di certificazione (CA).

Il certificato TLS può essere recuperato come segue.

Opzioni richieste

Opzione

Descrizione

-a, --api

Impostare il certificato per l’interfaccia NetHSM TLS

Esempio

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

Il certificato TLS può essere generato come segue.

Opzioni richieste

Opzione

Descrizione

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

Il tipo di chiave generata

-l, --length INTEGER

La lunghezza della chiave generata

Esempio

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

La Certificate Signing Request (CSR) per il certificato può essere generata come segue.

Opzioni richieste

Opzione

Descrizione

-a, --api

Generare un CSR per il certificato NetHSM TLS

--country TEXT

Il nome del paese

--state-or-province TEXT

Il nome dello Stato o della provincia

--locality TEXT

Il nome della località

--organization TEXT

Il nome dell’organizzazione

--organizational-unit TEXT

Il nome dell’unità organizzativa

--common-name TEXT

Il nome comune

--email-address TEXT

L’indirizzo e-mail

Esempio

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

Il certificato può essere sostituito come segue.

Opzioni richieste

Opzione

Descrizione

-a, --api

Impostare il certificato per l’interfaccia NetHSM TLS

Argomenti

Argomento

Descrizione

OAEP_MD5

File di certificato

Esempio

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

Rete#

La configurazione di rete definisce le impostazioni utilizzate per la porta di rete.

Nota

Queste impostazioni non configurano la porta di rete BMC.

La configurazione di rete può essere recuperata come segue.

Opzioni richieste

Opzione

Descrizione

OAEP_SHA1

Interrogare la configurazione di rete

Esempio

$ 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

Impostare la configurazione di rete come segue.

Nota

Il NetHSM non supporta il protocollo DHCP (Dynamic Host Configuration Protocol).

Nota

Il NetHSM non supporta il protocollo IPv6 (Internet Protocol version 6).

Opzioni richieste

Opzione

Descrizione

-a, --ip-address

Il nuovo indirizzo IP

-n, --netmask

La nuova netmask

-n, --netmask

Il nuovo gateway

Esempio

$ 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

Tempo#

La configurazione dell’ora imposta l’ora del sistema del software NetHSM. Di solito non è necessario impostare l’ora del sistema, poiché viene impostata durante il provisioning.

La configurazione temporale può essere recuperata come segue.

Opzioni richieste

Opzione

Descrizione

KEY_ID

Interrogare l’ora del sistema

Esempio

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

Impostare l’ora del NetHSM.

Importante

Assicurarsi di passare l’ora nel fuso orario UTC.

Argomenti

Argomento

Descrizione

time

L’ora del sistema da impostare (formato: YYYY-MM-DDTHH:MM:SSZ)

Esempio

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

Metriche#

Il NetHSM registra le metriche dei parametri di sistema.

Nota

Questo comando richiede l’autenticazione di un utente con il ruolo Metrics. Fare riferimento al capitolo Ruoli per saperne di più sul ruolo.

Fare riferimento a Metrics per saperne di più su ciascuna metrica.

Le metriche possono essere recuperate come segue.

Esempio

$ 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

Registrazione#

Il NetHSM può registrare gli eventi del sistema sulla porta seriale o su un server syslog in rete.

Importante

Per qualsiasi implementazione di produzione, il log di NetHSM deve essere monitorato continuamente per fornire una notifica immediata di qualsiasi potenziale problema di sicurezza.

La console seriale funziona fin dall’inizio dell’hardware NetHSM. Include gli eventi del firmware NetHSM e del software NetHSM.

Le impostazioni di connessione della console seriale sono le seguenti.

Impostazione

Valore

Velocità di trasmissione

115200

Bit di dati

8

Bit di stop

1

Parità

Nessuno

Controllo del flusso

Nessuno

La configurazione del server syslog può essere recuperata come segue.

Opzioni richieste

Opzione

Descrizione

OAEP_SHA1

Interrogare la configurazione della registrazione

Esempio

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

La configurazione del server syslog può essere impostata come segue.

Opzioni richieste

Opzione

Descrizione

-p, --passphrase TEXT

L’indirizzo IP della nuova destinazione di registrazione

-t, --type KEYTYPE

La porta della nuova destinazione di registrazione

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

Il nuovo livello di log

Esempio

$ 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

Backup#

I dati utente di NetHSM possono essere salvati in un file di backup. Questo file di backup contiene tutti i dati utente, in particolare Configuration Store, Authentication Store, Domain Key Store e Key Store.

Importante

Un software di sistema NetHSM in modalità Unattended Boot richiederà la Unlock Passphrase se ripristinato su un hardware NetHSM diverso. Per saperne di più, consultare il capitolo Unlock Passphrase.

Importante

Un NetHSM in modalità Unattended Boot sarà nella stessa modalità dopo un ripristino.

Prima di avviare un backup è necessario impostare la Passphrase di backup. La Passphrase di backup viene utilizzata per crittografare i dati del file di backup.

Avvertimento

La passphrase di backup non può essere ripristinata senza conoscere il valore attuale. Se la passphrase di backup viene persa, non è possibile reimpostarla su un nuovo valore né ripristinare i backup creati.

La passphrase di backup può essere impostata come segue.

Opzioni opzionali

Opzione

Descrizione

-n, --new-passphrase TEXT

La nuova passphrase di backup

-p, --current-passphrase TEXT

La passphrase di backup corrente (o una stringa vuota se non impostata)

-f, --force

Non chiedere conferma prima di modificare la passphrase.

Esempio

$ 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

Nota

Questo comando richiede l’autenticazione di un utente con il ruolo Backup. Per saperne di più, consultare il capitolo ` Ruoli <administration.html#roles>`__.

Il backup può essere eseguito come segue.

Argomenti

Argomento

Descrizione

OAEP_MD5

File di backup

Esempio

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

Nota

Questo file di backup può essere ripristinato su un’istanza NetHSM non provvista:

Ripristinare#

Il NetHSM può essere ripristinato da un file di backup.

  • Se il NetHSM è Unprovisioned ripristinerà tutti i dati utente compresa la configurazione del sistema e il riavvio. Pertanto, il sistema potrebbe avere in seguito impostazioni di rete, certificato TLS e passphrase di sblocco diversi.

  • Se il NetHSM è Provisioned ripristinerà gli utenti e le chiavi utente ma non la configurazione del sistema. In questo caso, tutti gli utenti e le chiavi utente precedentemente esistenti verranno cancellati. Il NetHSM termina in uno stato Operativo.

Il ripristino può essere applicato come segue.

Opzioni opzionali

Opzione

Descrizione

-p, --backup-passphrase passphrase

La Passphrase di backup

-t, --system-time

L’ora del sistema da impostare (formato: YYYY-MM-DDTHH:MM:SSZ)

Importante

Assicurarsi che l’ora del computer locale sia impostata correttamente. Per impostare un’ora diversa, è necessario fornirla manualmente.

Argomenti

Argomento

Descrizione

FILENAME | Ripristina file

Esempio

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

Aggiornamento software#

Gli aggiornamenti software possono essere installati con un processo in due fasi. Innanzitutto, l’immagine dell’aggiornamento deve essere caricata su un NetHSM Provisioned. Il NetHSM verifica l’autenticità, l’integrità e il numero di versione dell’immagine. Opzionalmente, il NetHSM visualizza le note di rilascio, se presenti.

Avvertimento

L’installazione di un aggiornamento beta può causare una perdita di dati! Le versioni stabili non dovrebbero causare perdite di dati. Tuttavia, si consiglia di creare un backup prima dell’aggiornamento.

Il file di aggiornamento può essere caricato come segue.

Argomenti

Argomento

Descrizione

OAEP_MD5

File di aggiornamento

Esempio

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

Successivamente, l’aggiornamento può essere applicato o interrotto. Fare riferimento all’opzione desiderata di seguito. Se il NetHSM viene spento prima dell’operazione di «commit», il file di aggiornamento deve essere caricato nuovamente.

L’aggiornamento può essere applicato (committed) come segue. La migrazione dei dati viene eseguita solo dopo che il NetHSM ha avviato con successo la nuova versione del software di sistema.

Esempio

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

L’aggiornamento può essere annullato come segue.

Esempio

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

Riavvio e spegnimento#

Il NetHSM può essere riavviato e spento, sia da remoto, sia con il pulsante di riavvio e spegnimento sulla parte anteriore dell’hardware del NetHSM.

Il riavvio remoto può essere avviato come segue.

Esempio

$ 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

Lo spegnimento remoto può essere avviato come segue.

Esempio

$ 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

Ripristino delle impostazioni di fabbrica#

Un Provisioned NetHSM può essere riportato alle impostazioni di fabbrica. In questo caso, tutti i dati dell’utente vengono cancellati in modo sicuro e il NetHSM si avvia in uno stato non provisionato. In seguito, si potrebbe voler fornire il NetHSM.

Il ripristino delle impostazioni di fabbrica può essere eseguito come segue.

Esempio

$ 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

Gestione degli utenti#

Ruoli#

Il NetHSM consente di separare i compiti utilizzando diversi ruoli. A ogni account utente configurato sul NetHSM è assegnato uno dei seguenti ruoli.

Ruolo

Descrizione

Amministratore

Un account utente con questo ruolo ha accesso a tutte le operazioni fornite da NetHSM, ad eccezione delle operazioni di utilizzo delle chiavi, ossia la firma e la decodifica dei messaggi.

Operatore

R-Operatore: Un account utente con questo ruolo ha accesso a tutte le operazioni di utilizzo delle chiavi, a un sottoinsieme di operazioni di gestione delle chiavi in sola lettura e alle operazioni di gestione degli utenti che consentono modifiche solo al proprio account.

Metriche

Un account utente con questo ruolo ha accesso solo alle operazioni di lettura delle metriche.

Backup

Un account utente con questo ruolo ha accesso solo alle operazioni necessarie per avviare un backup del sistema.

Vedere Tags per restrizioni di accesso più precise.

Nota

In una versione futura, potrebbero essere introdotti altri ruoli.

Aggiungi utente#

Aggiungere un account utente al NetHSM. Ogni account utente ha un ruolo, che deve essere specificato. Si rimanda al capitolo ` Ruoli <administration.html#roles>`__ per saperne di più sui ruoli.

Nota

Il NetHSM assegna un ID utente casuale se non viene specificato.

L’account utente può essere aggiunto come segue.

Opzioni richieste

Opzione

Descrizione

-n, --real-name TEXT

Il nome reale dell’utente

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

Il ruolo del nuovo utente

-p, --passphrase TEXT

La passphrase del nuovo utente

Opzioni opzionali

Opzione

Descrizione

-p, --prime-p TEXT

L’ID utente del nuovo utente

Esempio

$ 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

Elimina utente#

Eliminare un account utente dal NetHSM.

Avvertimento

La cancellazione è permanente e non può essere ripristinata.

L’account utente può essere eliminato come segue.

Argomenti

Argomento

Descrizione

EC_P224

L’ID utente dell’utente.

Esempio

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

Elenco utenti#

Elencare gli utenti del NetHSM.

L’elenco può essere recuperato come segue.

Opzioni opzionali

Opzione

Descrizione

--details, --no-details

Interrogare il nome reale e il ruolo dell’utente

Esempio

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

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

Passphrase utente#

È possibile reimpostare la passphrase di un account utente. La passphrase viene impostata inizialmente durante l’aggiunta di un account utente.

Nota

Le passphrase devono essere composte da 10 e 200 caratteri.

La passphrase utente può essere impostata come segue.

Opzioni richieste

Opzione

Descrizione

-p, --prime-p TEXT

L’ID utente dell’utente

-p, --passphrase TEXT

La nuova passphrase dell’utente

Esempio

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

Tag per gli utenti#

I tag possono essere usati per impostare restrizioni di accesso a grana fine sulle chiavi e sono una funzione opzionale. Uno o più Tag possono essere assegnati solo agli account utente con il ruolo Operatore. Gli Operatori possono vedere tutte le chiavi, ma possono usare solo quelle con almeno un Tag corrispondente. Una chiave non può essere modificata da un Operatore utente.

Per sapere come usare i Tag sulle chiavi, consultare Tag per le chiavi.

Un tag ** può essere aggiunto come segue.

Argomenti

Argomento

Descrizione

EC_P224

L’ID utente su cui impostare il tag.

RSA

Il tag da impostare sull’ID utente.

Esempio

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

Il Tag può essere eliminato come segue.

Argomenti

Argomento

Descrizione

EC_P224

L’ID utente su cui impostare il tag.

RSA

Il tag da impostare sull’ID utente.

Esempio

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