Home
» AMMINISTRAZIONE DI RETE
»
Come abilitare la crittografia lato server in Nextcloud senza un calo significativo delle prestazioni
Come abilitare la crittografia lato server in Nextcloud senza un calo significativo delle prestazioni
A partire da ottobre 2026, la documentazione per gli amministratori di Nextcloud 35, nella sua versione stabile, chiarisce un punto importante in modo più preciso rispetto a molti tutorial precedenti: la crittografia lato server (SSE) è pensata principalmente per proteggere i file archiviati su storage esterno di terze parti e la modalità predefinita con chiave master offre prestazioni migliori e una maggiore compatibilità con i sistemi di autenticazione rispetto alle chiavi per singolo utente. La stessa documentazione evidenzia inoltre che i file crittografati ora aggiungono solo circa l'1% di spazio di archiviazione, rispetto a un sovraccarico molto maggiore nelle versioni precedenti a Nextcloud 25.
Ciò non significa che la crittografia sia letteralmente gratuita. Ogni operazione di lettura e scrittura crittografata richiede un lavoro crittografico, quindi nessuna guida affidabile può promettere un costo nullo in termini di CPU o latenza su ogni server. L'obiettivo pratico è diverso: abilitare la crittografia in modo da evitare rallentamenti evidenti per gli utenti, mantenere sotto controllo la pressione sul database e sui blocchi e crittografare solo lo spazio di archiviazione effettivamente necessario.
Prima di apportare qualsiasi modifica, verificare lo stato di crittografia corrente e registrare una configurazione di base per l'istanza.
Cosa protegge la crittografia lato server di Nextcloud?
Nextcloud SSE crittografa il contenuto dei file sul server prima che vengano memorizzati. Quando un utente scarica o apre un file tramite Nextcloud, il server lo decrittografa prima di consegnarlo all'utente autorizzato. Le chiavi di crittografia rimangono sul server Nextcloud, motivo per cui SSE è particolarmente utile quando i dati effettivi del file risiedono su un provider di archiviazione esterno di cui non ci si fida completamente.
SSE non nasconde i nomi dei file o la struttura delle directory e non protegge i file da un amministratore Nextcloud malintenzionato o da un server applicativo completamente compromesso. Se il requisito è che nemmeno l'amministratore del server debba essere in grado di leggere i file, il modello di crittografia end-to-end di Nextcloud rappresenta il livello di sicurezza più appropriato. Il confronto ufficiale è disponibile nella documentazione sulla crittografia lato server di Nextcloud .
Scegli la configurazione che crea il minor lavoro superfluo
Decisione
Scelta con costi generali inferiori
Quando scegliere qualcos'altro
Gestione delle chiavi
Chiave master, che è la modalità predefinita e consigliata per la maggior parte delle implementazioni
Utilizzare chiavi per utente solo quando tale compromesso in termini di sicurezza è specificamente richiesto e le relative limitazioni di autenticazione/recupero sono accettabili.
ambito di archiviazione
Crittografa la memoria esterna lasciando non crittografata la memoria locale quando il modello di minaccia è il provider esterno.
Crittografa anche lo spazio di archiviazione domestico quando è necessaria anche la protezione dei dati a riposo sullo spazio di archiviazione locale di Nextcloud.
Blocco del backend
Blocco dei file transazionali basato su Redis o Valkey
Il blocco del database può essere accettabile per sistemi molto piccoli, ma aggiunge un carico evitabile al database in caso di traffico elevato.
Passaggio 1: Eseguire il backup dell'istanza e stabilire una baseline delle prestazioni
Le chiavi di crittografia e il segreto dell'istanza sono elementi fondamentali per il ripristino. Nextcloud raccomanda esplicitamente di eseguire il backup della configurazione dell'istanza e delle chiavi di crittografia prima di abilitare SSE. La perdita delle chiavi o del segreto dell'istanza necessari può rendere i dati crittografati irrecuperabili.
Prima di implementare la modifica, effettuate una semplice misurazione di riferimento utilizzando il carico di lavoro rilevante per i vostri utenti. Misurate alcuni caricamenti e download rappresentativi, annotate l'utilizzo della CPU da parte di PHP-FPM, il carico del database, la latenza di archiviazione e il tempo di risposta dell'app File. Non è necessario un benchmark di laboratorio. Vi serve un test ripetibile prima e dopo la modifica, in grado di indicarvi se l'implementazione ha modificato il comportamento percepito dagli utenti.
Valuta inoltre se hai effettivamente bisogno di crittografare lo storage domestico. Se il tuo obiettivo è proteggere un backend S3, SMB, object storage o altro dal provider di storage, mantenere lo storage domestico locale al di fuori di SSE evita di eseguire operazioni crittografiche che non offrono alcun valore aggiunto in base a tale modello di minaccia.
Passaggio 2: Correggere la cache e il blocco dei file prima di abilitare la crittografia
Questa è la fase preparatoria più importante per le prestazioni. Nextcloud raccomanda la memorizzazione nella cache per ottenere prestazioni ottimali e, in particolare, consiglia APCu per la cache locale, oltre a Redis o un backend compatibile per il blocco transazionale dei file. Il blocco transazionale dei file è particolarmente importante per i file crittografati, poiché Nextcloud deve coordinare in modo sicuro le modifiche ai file durante le operazioni di crittografia e archiviazione.
Configura la cache di memoria locale e un backend di blocco basato su Redis o Valkey prima di aggiungere il carico di crittografia.
Una configurazione comune a server singolo utilizza APCu per la cache locale e Redis per i blocchi:
Se Redis è in esecuzione sullo stesso host, la documentazione di Nextcloud relativa al blocco dei file raccomanda di utilizzare un socket Unix, ove possibile. La documentazione più recente di Nextcloud 35 descrive anche l'opzione KeyValueCache inclusa per i server compatibili con Redis o Valkey, che può fornire il blocco transazionale senza richiedere l'estensione PHP phpredis. Utilizza la configurazione che corrisponde alla tua implementazione anziché copiare ciecamente un esempio.
È inoltre necessario abilitare e dimensionare PHP OPcache in modo che non rimuova ripetutamente il codice compilato. La guida all'ottimizzazione del server di Nextcloud afferma che OPcache migliora le prestazioni delle applicazioni PHP e avvisa gli amministratori quando i limiti configurati superano il 90% di utilizzo. Prima del rollout, consultare la guida ufficiale alla cache di memoria , la guida al blocco dei file transazionali e la guida all'ottimizzazione del server .
Passaggio 3: Abilitare il modulo di crittografia predefinito e utilizzare la modalità chiave master.
Per la maggior parte delle implementazioni attuali, la modalità con chiave master è il punto di partenza migliore. Nextcloud 35 la indica come predefinita, la raccomanda per la maggior parte delle implementazioni e sottolinea che offre prestazioni migliori e compatibilità con un maggior numero di metodi di accesso. Il compromesso è chiaro: gli amministratori che controllano il server possono decrittografare i file degli utenti. Se questo non è accettabile, l'autenticazione Single Sign-On (SSE) con chiave master non rappresenta il livello di sicurezza adeguato.
Utilizza la modalità predefinita con chiave master, a meno che i tuoi requisiti di sicurezza non giustifichino specificamente l'utilizzo di chiavi per singolo utente.
Nell'interfaccia web, apri la sezione Crittografia lato server nelle impostazioni di amministrazione, abilita la crittografia lato server, quindi abilita il modulo di crittografia predefinito di Nextcloud da App se Nextcloud segnala che non è caricato alcun modulo di crittografia. Torna alle impostazioni di crittografia e verifica che il modulo sia selezionato. Disconnettiti e accedi di nuovo per inizializzare le chiavi di crittografia.
È possibile gestire la crittografia anche con occ. La documentazione di riferimento dei comandi corrente descrive la seguente sequenza:
Se lo scopo di SSE è solo la crittografia dell'archiviazione esterna, deseleziona l'opzione per la crittografia dell'archiviazione domestica prima di procedere a un'implementazione più ampia. Questa scelta può ridurre significativamente la quantità di dati che devono transitare attraverso il livello di crittografia.
Passaggio 4: crittografare i mount esterni previsti e verificarli con traffico reale.
La crittografia dell'archiviazione esterna viene configurata per ogni punto di montaggio. Abilita la crittografia solo per i punti di montaggio che la richiedono, quindi carica un file rappresentativo tramite Nextcloud e scaricalo nuovamente. Verifica l'accesso tramite lo stesso flusso di lavoro desktop, mobile, WebDAV o browser effettivamente utilizzato dai tuoi utenti.
Abilita la crittografia sui punti di montaggio dell'archiviazione esterna inclusi nel tuo modello di minaccia, anziché crittografare tutto automaticamente.
Dopo il test funzionale, ripetere le misurazioni di base del passaggio 1. Confrontare il tempo di caricamento, il tempo di download, l'utilizzo della CPU, l'attività del database e la latenza di archiviazione. Se la variazione è minima e il tempo di risposta visibile all'utente è stabile, il server ha un margine sufficiente. Se le prestazioni calano drasticamente, non dare per scontato che la crittografia sia l'unica causa. Verificare innanzitutto la presenza di blocchi di file basati sul database, worker PHP-FPM saturi, storage esterno lento, OPcache insufficiente o un problema di connessione a Redis.
Se devi crittografare file già esistenti prima dell'abilitazione di SSE, Nextcloud offre questa funzionalità encryption:encrypt-all. Considerala come un'attività di migrazione, non come una normale richiesta interattiva. Può interessare una grande quantità di dati, quindi pianificala durante una finestra di manutenzione e assicurati che il piano di backup e ripristino sia adeguato. I comandi di crittografia disponibili sono documentati nel manuale di riferimento ufficiale di OCC sulla crittografia .
Come capire se il lancio sta procedendo bene
Gli utenti non notano un aumento significativo dei tempi di caricamento o download. Confronta le dimensioni dei file e i client identici prima e dopo la modifica.
Il carico del database rimane stabile. Un forte aumento dell'attività del database potrebbe indicare che il blocco dei file sta ancora utilizzando il database anziché Redis o Valkey.
I processi PHP non sono a corto di CPU. La crittografia aggiunge carico di lavoro alla CPU, quindi le istanze che erano già vicine alla capacità massima necessitano di maggiore margine di manovra.
La latenza dello storage esterno rimane, quando necessario, il fattore dominante. La lentezza di S3, SMB o dello storage di oggetti remoti può facilmente superare il costo crittografico.
Nella panoramica amministrativa e nei registri non vengono visualizzati avvisi relativi alla crittografia o alle chiavi. Risolvere gli avvisi prima di estendere l'implementazione.
Errori comuni che causano rallentamenti evitabili
Crittografare la memoria locale domestica quando è necessaria la protezione solo della memoria esterna.
Ciò aumenta la quantità di I/O crittografati senza necessariamente affrontare una minaccia reale. Adatta l'ambito della crittografia al motivo per cui stai abilitando SSE.
Lasciare blocchi transazionali nel database
La documentazione di Nextcloud afferma che il backend di blocco del database predefinito impone un carico significativo al database stesso. Una cache di blocco basata su Redis o Valkey è uno dei modi più diretti per eliminare questo collo di bottiglia.
Esecuzione della crittografia di massa durante le ore di punta
Il traffico interattivo e una fase di crittografia completa dei dati competono per CPU, I/O, worker PHP e larghezza di banda di archiviazione. Separare il lavoro di migrazione dal normale traffico di produzione.
Considerare SSE come protezione da un server Nextcloud compromesso.
Le chiavi SSE sono disponibili al server, quindi un amministratore malintenzionato o un server completamente compromesso rimangono all'interno del perimetro di fiducia. Utilizzate la crittografia end-to-end quando questa è la minaccia che dovete affrontare.
In conclusione
Il modo più sicuro per abilitare la crittografia lato server di Nextcloud senza un calo significativo delle prestazioni è quello di mantenere l'ambito ristretto, utilizzare la chiave master predefinita quando il suo modello di fiducia è appropriato, configurare prima APCu e il blocco Redis o Valkey e testare il carico di lavoro reale prima e dopo la modifica. Le attuali linee guida di Nextcloud 35 supportano questo approccio: la modalità con chiave master è l'impostazione predefinita per ottimizzare le prestazioni, l'archiviazione esterna è il principale caso d'uso di SSE e l'overhead dovuto alle dimensioni dei file crittografati è ora di circa l'1%.