Uso della cifratura TLS in transito
La cifratura in transito mediante oci-fss-utils
o stunnel consente di proteggere i dati tra le istanze e i file system di cui è stato eseguito il MOUNT utilizzando la cifratura TLS v.1.3 (Transport Layer Security). Insieme ad altri metodi di sicurezza come Oracle Cloud Infrastructure Vault e la crittografia in archivio dello storage di file, la cifratura in transito fornisce sicurezza end-to-end.
Se si utilizza Kerberos per l'autenticazione, l'opzione di sicurezza KRB5P fornisce l'autenticazione su NFS, l'integrità dei dati (modifica non autorizzata dei dati in transito) e la privacy dei dati come opzione di cifratura in transito alternativa.
- Per informazioni generali su come iniziare a utilizzare i file system, vedere Panoramica dello storage di file.
- Per ulteriori informazioni sul servizio Vault, vedere Panoramica del vault.
- Per ulteriori informazioni sulla protezione del file system, vedere About File Storage Security e il riferimento Securing File Storage nel manuale Security Guide.
La cifratura in transito che utilizza oci-fss-utils
o stunnel non richiede aggiornamenti alla destinazione di accesso o alla configurazione di esportazione del file system, ma i passi sono diversi per gli utenti Linux e gli utenti Windows.
Prerequisiti
Aggiungere le regole necessarie alla lista di sicurezza per la subnet della destinazione di accesso. In alternativa, è possibile aggiungere le regole riportate di seguito a un gruppo di sicurezza di rete (NSG), quindi aggiungere la destinazione di accesso al gruppo NSG. Per ulteriori informazioni e istruzioni sull'aggiunta di regole della lista di sicurezza per lo storage di file, vedere Configurazione delle regole di sicurezza VCN per lo storage di file, in particolare Scenario C: la destinazione di accesso e l'istanza utilizzano la cifratura in transito TLS.
Per l'accesso cifrato sono necessarie solo le regole per la porta TCP 2051.
Codifica in transito per utenti Linux
Per abilitare la cifratura in transito, installare un pacchetto denominato oci-fss-utils
sull'istanza. Lo strumento oci-fss-utils
è disponibile per i seguenti tipi di istanza:
- Oracle Linux, CentOS 7 x86
- Oracle Linux, CentOS 8 x86
- Oracle Linux, CentOS 9 x86
- Oracle Linux, CentOS 7 Arm*
- Oracle Linux, CentOS 8 Arm*
- Oracle Linux, CentOS 9 Arm*
*Oracle offre una piattaforma di computazione basata su Arm basata sul processore Ampere Altra. Per ulteriori informazioni, vedere Computazione basata su Arm.
Modalità di abilitazione della cifratura in transito
Il pacchetto oci-fss-utils
crea uno spazio di nomi di rete e un'interfaccia di rete virtuale nell'istanza e fornisce un endpoint NFS locale. Il package oci-fss-utils
esegue anche un processo di inoltro in background denominato oci-fss-forwarder
.
Lo spazio di nomi di rete isola il processo di inoltro dall'ambiente di rete dell'istanza. L'interfaccia di rete virtuale fornisce al processo di inoltro un indirizzo IP univoco. L'endpoint NFS locale fornisce capacità di connessione NFS.
Il file system viene attivato con un comando speciale che avvia la cifratura. Dopo l'attivazione del file system, il processo oci-fss-forwarder
collega il client NFS locale all'endpoint NFS. Il processo riceve quindi le richieste dal client NFS, le cifra e le invia alla destinazione di accesso utilizzando un tunnel TLS.
Di seguito sono riportati i passi generali per l'impostazione della cifratura in transito.
- Assicurarsi di soddisfare i prerequisiti prima di impostare la cifratura in transito.
-
Installare il pacchetto
oci-fss-utils
.- Se utilizzi Oracle Linux, vedere 1. Installare il pacchetto OCI-FSS-UTILS.
- Se si utilizza CentOS, vedere Installazione manuale e offline.
- Utilizzare il comando di cifratura in transito per installare il file system. Per istruzioni, vedere 2. Attivare il file system con il comando di cifratura.
Limitazioni e considerazioni
- Il pacchetto di installazione della cifratura in transito viene distribuito come RPM per Oracle Linux e CentOS. Gli utenti Oracle Linux possono installare il pacchetto utilizzando yum. Può anche essere scaricato dal repository yum di Oracle Linux.
- È necessario installare il pacchetto
oci-fss-utils
su ogni istanza che richiede l'accesso cifrato a una destinazione di accesso. - Il numero di connessioni NFS/TLS cifrate per una singola destinazione di accesso è limitato a 4096.
- I nomi host DNS non sono supportati per l'attivazione dei file system cifrati con
oci-fss-forwarder
. Utilizzare l'indirizzo IP della destinazione di accesso per eseguire il MOUNT dei file system cifrati.
Se non si sta utilizzando la versione più recente del pacchetto
oci-fss-utils
, potrebbero verificarsi errori di connessione SSL. Gli errori di connessione SSL possono causare l'errore delle operazioni NFSv3. Si consiglia di eseguire sempre l'aggiornamento alla versione più recente del pacchetto oci-fss-utils
non appena disponibile. Per informazioni sulle nuove release di RPM, vedere Note di rilascio dello storage di file.
Impostazione della cifratura in transito per Linux
Gli utenti Oracle Linux possono installare direttamente la utility TLS dal repository yum di Oracle Linux.
- Aprire una finestra di terminale sull'istanza di destinazione.
-
Assicurarsi che il repository yum per sviluppatori Oracle sia abilitato per la versione di Oracle Linux utilizzando il seguente comando:
sudo yum-config-manager --enable ol<oracle_linux_major_version>_developer
Installare il pacchetto utilizzando il comando seguente:
sudo yum install oci-fss-utils
Il pacchetto crea uno spazio di nomi denominato ns1
nell'istanza, che contiene un'interfaccia di rete predefinita per il traffico Ethernet. Viene creata una coppia di interfaccia di rete per ogni destinazione di accesso.
Al termine dell'installazione del pacchetto, passare a 2. Attivare il file system con il comando di cifratura.
Per scaricare il pacchetto di installazione RPM è necessario l'accesso a Internet. Se l'istanza di destinazione non dispone dell'accesso a Internet, è possibile scaricare l'RPM in un'istanza di staging nella rete e quindi utilizzare il comando scp
per copiare in modo sicuro l'RPM dall'istanza di staging all'istanza di destinazione.
Il comando scp
richiede una coppia di chiavi SSH per autenticare un utente remoto. Se le istanze sono sistemi di tipo UNIX, è probabile che sia già installata la utility ssh-keygen
. Per verificare se è installato, aprire una shell o un terminale e digitare ssh-keygen
nella riga di comando. Se non è installato, è possibile ottenere OpenSSH per UNIX da http://www.openssh.com/portable.html.
-
(Facoltativo) Creare una directory per il package di installazione RPM nell'istanza di destinazione. Ad esempio:
sudo mkdir -p /<rpm_directory_name>
-
Scaricare il package
oci-fss-utils
più recente dal repository yum Oracle Linux nella directory dell'istanza di destinazione o in un'istanza di staging della rete.- Nella pagina Repository yum di Oracle Linux, in Sfoglia i repository, selezionare una versione di Oracle Linux.
- In Pacchetti per test e sviluppo, trovare Pacchetti sviluppatore, quindi selezionare il tipo di architettura Linux, ad esempio x86_64 o aarch64.
-
Trovare e selezionare la versione più recente del pacchetto
oci-fss-utils
. Per maggiori informazioni sull'ultima versione, vedere File Storage Release Notes.
-
Se il package è stato scaricato in un'istanza di staging, aprire una finestra del terminale nell'istanza di staging e utilizzare il comando
scp
per copiare in modo sicuro l'RPM dall'istanza di staging all'istanza di destinazione. Ad esempio:scp -i <private_key> <downloaded_file_name> <username>@<destination_public_ip_address>:/<rpm_directory_name>
Saltare questo passo se il package è stato scaricato direttamente nell'istanza di destinazione.
-
Se il nome file del pacchetto scaricato non include la versione e l'architettura del pacchetto, utilizzare il seguente comando per identificare il file RPM da installare:
rpm -qp <downloaded_file_name>
Dopo l'identificazione del package, rinominare il file utilizzando l'RPM restituito dalla query. Ad esempio:
mv <downloaded_file_name> $(rpm -qp <downloaded_file_name>).rpm
-
Installare il pacchetto utilizzando il comando seguente:
sudo yum localinstall oci-fss-utils-<version>.rpm
Il pacchetto crea un namespace chiamato ns1
nell'istanza, che contiene un'interfaccia di rete predefinita per il traffico Ethernet. Viene creata una coppia di interfaccia di rete per ogni destinazione di accesso.
Al termine dell'installazione del pacchetto, passare a 2. Attivare il file system con il comando di cifratura.
- Aprire una finestra di terminale nell'istanza.
-
Creare un punto di attivazione digitando il seguente comando, sostituendo
yourmountpoint
con la directory locale da cui si desidera accedere al file system.sudo mkdir -p /mnt/yourmountpoint
-
Attivare il file system utilizzando il seguente comando:
sudo mount -t oci-fss 10.x.x.x:/fs-export-path /mnt/yourmountpoint
Sostituire
10.x.x.x:
con l'indirizzo IP della subnet locale assegnato alla destinazione di accesso,fs-export-path
con il percorso di esportazione specificato durante l'associazione del file system alla destinazione di accesso eyourmountpoint
con il percorso al punto di accesso locale. Il percorso di esportazione è il percorso del file system (relativo all'indirizzo IP della destinazione di accesso).Se è stata installata la versioneoci-fss-utils
2.0-1 o successiva, è possibile attivare il file system in modalità approvata da FIPS includendo-o fips
nel comando di attivazione. Ad esempio:sudo mount -t oci-fss -o fips 10.x.x.x:/fs-export-path /mnt/yourmountpoint
Importante
I nomi host DNS non sono supportati per l'attivazione dei file system con il comandomount -t oci-fss
. È necessario utilizzare l'indirizzo IP della destinazione di accesso.Ogni volta che si attiva un file system utilizzando questo comando, il servizio
systemd-managed
crea un nuovo serviziooci-fss-forwarder
con un nome qualeoci-fss-0<number>.service
.Suggerimento
Per impostazione predefinita, il client NFS dello strumento utilizza porte riservate durante l'attivazione. Per utilizzare le porte senza privilegi, utilizzare l'opzione di attivazione
noresvport
.
Gestione della cifratura in transito per Linux
L'installazione automatica garantisce che un file system venga riattivato automaticamente su un'istanza se viene riavviato.
- Aprire una finestra di terminale sull'istanza. Attivare il file system come descritto in 2. Attivare il file system con il comando di cifratura.
-
Aprire il file
/etc/fstab
per la modifica:cd /etc
vi fstab
-
Aggiungere la riga seguente al file
fstab
:10.x.x.x:/fs-export-path /mnt/yourmountpoint oci-fss x-systemd.requires=oci-fss-init.service,defaults,nofail 0 0
Sostituire
10.x.x.x:
con l'indirizzo IP della subnet locale assegnato alla destinazione di accesso,fs-export-path
con il percorso di esportazione specificato durante l'associazione del file system alla destinazione di accesso eyourmountpoint
con il percorso al punto di accesso locale.Se è stata installata la versioneoci-fss-utils
2.0-1 o successive, è possibile attivare il file system in modalità approvata da FIPS includendo-o fips
nel comando di attivazione. Ad esempio:10.x.x.x:/fs-export-path /mnt/yourmountpoint oci-fss x-systemd.requires=oci-fss-init.service,defaults,nofail,fips 0 0
Importante
I nomi host DNS non sono attualmente supportati per l'attivazione dei file system con il comandomount -t oci-fss
. È necessario utilizzare l'indirizzo IP della destinazione di accesso.Suggerimento
L'opzione
resvport
consente di limitare l'utilizzo da parte del client di una specifica porta riservata. Ad esempio:10.x.x.x:/fs-export-path /mnt/yourmountpoint oci-fss x-systemd.requires=oci-fss-init.service,defaults,nofail,resvport=900 0 0
Quando si disattiva un file system, è necessario utilizzare un altro comando oci-fss-utils
per rimuovere lo spazio di nomi della rete locale associato:
- Aprire una finestra di terminale sull'istanza.
-
Usare il comando seguente per disattivare il file system:
sudo umount -t oci-fss /mnt/yourmountpoint
Sostituire
yourmountpoint
con il percorso del punto di attivazione locale.
Se si sta utilizzando una versione non più valida della utility oci-fss-utils
, ad esempio oci-fss-utils-3.x
, o si desidera usufruire delle nuove funzioni, è possibile eseguire l'upgrade a una versione più recente. È possibile trovare informazioni sulla versione nelle Note di rilascio dello storage di file.
Quando si aggiorna oci-fss-utils
a una nuova versione, le nuove impostazioni, ad esempio un nuovo indirizzo IP o il nome del processo di inoltro TLS, verranno applicate solo dopo il riattivazione del file system.
Il riattivazione è necessaria se si sta aggiornando la utility
oci-fss-utils
in modo che il client TLS possa utilizzare un indirizzo IPv6. Le applicazioni che utilizzano il file system attivato subiranno tempi di inattività durante il riattivazione del file system.- Aprire una finestra di terminale sull'istanza di destinazione.
-
Aggiornare il pacchetto.
-
Gli utenti Oracle Linux possono eseguire l'upgrade di
oci-fss-utils
dal repository yum di Oracle Linux. Assicurarsi che il repository yum per sviluppatori Oracle sia abilitato per la versione di Oracle Linux utilizzando il seguente comando:sudo yum-config-manager --enable ol<oracle_linux_major_version>_developer
Aggiornare quindi il pacchetto con il comando seguente:
sudo yum update -y oci-fss-utils
-
Se non si utilizza Oracle Linux, scaricare il pacchetto
oci-fss-utils
più recente dal repository yum di Oracle Linux. Per istruzioni, vedere Installazione manuale e offline. Aggiornare quindi il pacchetto con il comando seguente:sudo yum localinstall -y oci-fss-utils-<version>.rpm
-
-
Dopo l'aggiornamento, verificare la versione di
oci-fss-utils
utilizzando il comando seguente:sudo rpm -qa | grep oci-fss-utils
- Disattivare il file system e riattivare il file system in modo da rendere effettive le nuove impostazioni.
- In primo luogo, disattivare tutti i file system attivati. Per le relative istruzioni, vedere Unmount a file system.
- Aprire una finestra di terminale sull'istanza.
-
Digitare il comando seguente per disinstallare il pacchetto
oci-fss
:sudo yum remove oci-fss-utils
Codifica in transito per utenti Windows
I client Windows possono utilizzare stunnel per abilitare la cifratura in transito nei file system.
Limitazioni e considerazioni
- Il numero di connessioni NFS/TLS cifrate per una singola destinazione di accesso è limitato a 64. Questa limitazione è causata dai requisiti di memoria TLS. A differenza delle connessioni NFS, le connessioni TLS non condividono i buffer di memoria. Quindi, una volta stabilita una connessione TLS, la memoria allocata rimane dedicata ad essa.
- I nomi host DNS non sono supportati per l'attivazione dei file system cifrati. Utilizzare l'indirizzo IP della destinazione di accesso per eseguire il MOUNT dei file system cifrati.
Impostazione della cifratura in transito per Windows
Queste istruzioni descrivono come installare e configurare stunnel per l'uso della cifratura in transito con i file system. Assicurarsi di soddisfare i prerequisiti prima di impostare la cifratura in transito.
È possibile automatizzare questo processo utilizzando uno script batch contenente i passi riportati di seguito.
Task di impostazione
-
Aprire Windows PowerShell nell'istanza di destinazione e utilizzare il seguente comando per installare il client NFS Windows:
Install-WindowsFeature NFS-Client
Dopo l'installazione del client, andare al Task 2: download e installazione di stunnel.
-
Scaricare e installare stunnel da https://www.stunnel.org/downloads.html.
Nota
L'ultima fase di installazione richiede informazioni sul certificato. L'immissione di un valore è facoltativa.Per impostazione predefinita, stunnel viene installato nella directory seguente:
C:\Program Files (x86)\stunnel
-
Aprire il file
C:\Program Files (x86)\stunnel\config\stunnel.cfg
per la modifica e specificare la configurazione seguente:[mount] client=yes accept=127.0.0.1:2048 connect=10.0.1.155:2051 [nfs] client=yes accept=127.0.0.1:2049 connect=10.0.1.155:2051 [nlm] client=yes accept=127.0.0.1:2050 connect=10.0.1.155:2051 [rpcbind] client=yes accept=127.0.0.1:111 connect=10.0.1.155:2051
-
Avviare stunnel utilizzando
C:\Program Files (x86)\stunnel\bin\tstunnel.exe
.Passare al Task 3: MOUNT e test della connessione.
Aprire un prompt dei comandi e digitare la serie di comandi seguente:
-
Esegui il MOUNT del file system:
mount \\127.0.0.1\fss z:
-
Eseguire il test della connessione al file system elencando i contenuti della directory:
dir z:
-
Unmount del file system:
umount z: