Cosa serve per ottenere una valutazione di sicurezza A+ da Nextcloud

Il tuo sito Nextcloud potrebbe funzionare normalmente e comunque ricevere un punteggio basso da una scansione di sicurezza esterna. Le cause più comuni includono una versione del server obsoleta o non più supportata, l'assenza dell'intestazione HSTS o un proxy inverso che nasconde HTTPS a Nextcloud. Inizia aggiornando Nextcloud, impone l'utilizzo di HTTPS al confine del server web pubblico, configura la fiducia nel proxy in modo restrittivo e cancella gli avvisi segnalati dalla pagina di amministrazione di Nextcloud.

Non esiste un unico standard "A+" universale. La scansione di sicurezza ufficiale di Nextcloud valuta un server Nextcloud visibile pubblicamente utilizzando avvisi noti e controlli di hardening che può eseguire dall'esterno; SSL Labs valuta la configurazione TLS. Considera qualsiasi valutazione come un risultato puntuale, non come una prova che il server sia sicuro o una garanzia contro vulnerabilità sconosciute.

1. Identificare lo scanner e aggiornare il server

Annota quale scanner ha generato il punteggio prima di modificare le impostazioni. I report di scansione ufficiali di Nextcloud segnalano vulnerabilità note, versioni obsolete e problemi di sicurezza visibili. Un punteggio relativo alla sola sicurezza TLS potrebbe invece provenire da SSL Labs. Correggi gli avvisi dello scanner che stai utilizzando, quindi esegui nuovamente la stessa scansione; servizi diversi utilizzano criteri diversi.

Nelle impostazioni di amministrazione di Nextcloud, verifica la versione del server e gli eventuali avvisi di sicurezza o di configurazione. Esegui l'aggiornamento a una versione di Nextcloud supportata e installa i relativi aggiornamenti di sicurezza più recenti prima di modificare le intestazioni. Una versione precedente può rimanere vulnerabile anche se uno scanner di intestazioni restituisce un punteggio A+. Se non è disponibile un aggiornamento per il tuo pacchetto di installazione, segui il percorso di aggiornamento supportato da tale pacchetto anziché sostituire i file manualmente.

2. Richiedi HTTPS e aggiungi HSTS

È necessario rendere disponibile l'URL pubblico di Nextcloud tramite HTTPS con un certificato valido e reindirizzare il traffico HTTP non crittografato a HTTPS. La guida di sicurezza di Nextcloud raccomanda l'utilizzo di HTTPS sui server di produzione. Successivamente, è necessario aggiungere HTTP Strict Transport Security (HSTS) sul server o sul proxy che invia la risposta HTTPS pubblica. L'avviso di amministrazione di Nextcloud raccomanda un valore di Strict-Transport-Securitymax-age di almeno 15.552.000 secondi.

Per Nginx, aggiungi una direttiva simile a questa al blocco del server TLS attivo, sostituendo il nome host e mantenendo il resto della configurazione Nextcloud funzionante:

add_header Strict-Transport-Security "max-age=15552000; includeSubDomains" always;
Un blocco del server TLS Nginx che mostra un'intestazione HSTS con un valore max-age di 15.552.000 secondi e l'opzione includeSubDomains.
Imposta HSTS sul blocco server HTTPS che invia le risposte ai visitatori pubblici.

Utilizzare includeSubDomainssolo se ogni sottodominio è disponibile anche tramite HTTPS. Non aggiungere il preloadflag opzionale in modo casuale: la rimozione di un dominio dagli elenchi di precaricamento del browser può richiedere mesi dopo l'invio. Se un proxy inverso gestisce TLS, configurare HSTS su tale proxy pubblico; impostarlo solo su un host Nextcloud interno potrebbe non modificare l'intestazione rilevata dallo scanner.

Nextcloud invia già intestazioni di base come X-Content-Type-Options, X-Frame-Options, Referrer-Policy, e X-Robots-Tagin un ambiente predefinito. Evita di aggiungere versioni duplicate o in conflitto prima di controllare la risposta. La configurazione di esempio di Nextcloud per Nginx mostra come fornire queste intestazioni da Nginx.

3. Configurare un proxy inverso senza considerare attendibile ogni client

Se un proxy inverso si trova davanti a Nextcloud, elenca solo l'indirizzo IP effettivo o l'intervallo di rete privata di tale proxy trusted_proxies. Nextcloud utilizza le intestazioni client-IP inoltrate solo per i proxy attendibili; considerare attendibili gli indirizzi errati può consentire ai client di falsificare il proprio IP apparente e compromettere i controlli di accesso o i log.

Ad esempio, se il proxy di terminazione TLS si trova effettivamente in 10.0.0.10, unisci le voci pertinenti all'array esistente $CONFIGin config/config.php:

'trusted_proxies' => ['10.0.0.10'],
'overwriteprotocol' => 'https',
Un estratto di codice che mostra trusted_proxies impostato su 10.0.0.10 e overwriteprotocol impostato su https.
Questi sono solo esempi di voci. Utilizza l'indirizzo IP proxy reale e integralo nella configurazione Nextcloud esistente.

Imposta overwriteprotocolquesta opzione httpsquando TLS termina sul proxy e Nextcloud rileva altrimenti la connessione HTTP interna come HTTP pubblica. Se il proxy utilizza un'intestazione forwarded-IP non standard, configurala forwarded_for_headersin modo che corrisponda esattamente. Non impostare un intervallo attendibile ampio come 0.0.0.0/0. Dopo aver modificato il file, controlla la configurazione unita e testa l'accesso, la condivisione e i link generati.

4. Elimina gli avvisi rimanenti di Nextcloud

Apri le impostazioni di amministrazione e rivedi la panoramica o la sezione Sicurezza e configurazione degli avvisi. Concentrati sull'avviso visualizzato, anziché applicare direttive di protezione non correlate solo per ottenere un voto migliore.

  • HSTS mancante: verificare la risposta dall'endpoint HTTPS pubblico, soprattutto se un proxy o un bilanciatore di carico termina TLS.
  • Il server sembra utilizzare HTTP: verificare che HTTPS sia configurato sul server perimetrale e, se necessario, impostato overwriteprotocolper la configurazione del proxy attendibile.
  • Modalità debug abilitata: mantienila debugdisabilitata in produzione; abilitala solo per la risoluzione mirata dei problemi e disattivala nuovamente.
  • Avviso relativo al proxy o all'indirizzo IP del client: verificare l'indirizzo sorgente effettivo del proxy e l'intestazione inoltrata prima di modificare le impostazioni del proxy attendibile.
  • Versione nota vulnerabile o fuori supporto: aggiornare Nextcloud e i pacchetti server interessati tramite la procedura di aggiornamento supportata.

Limita le azioni amministrative solo allowed_admin_rangesse gli amministratori dispongono di intervalli IP di gestione stabili e noti. Un intervallo errato può nascondere le funzioni amministrative agli amministratori legittimi. La guida di sicurezza di Nextcloud raccomanda inoltre di disabilitare la compressione HTTP per mitigare le vulnerabilità BREACH; verifica la configurazione del tuo server web o proxy per accertarti che la compressione non sia abilitata per le pagine autenticate.

5. Verificare la risposta del pubblico ed eseguire nuovamente le scansioni.

Verifica cosa riceve effettivamente un client esterno, non solo cosa contiene il file di configurazione:

curl -I https://cloud.example.com

Verifica che la risposta includa un'intestazione HSTS con il valore max-age previsto e che siano presenti le intestazioni di sicurezza di base di Nextcloud. Gli strumenti per sviluppatori del browser possono mostrare le stesse intestazioni di risposta. Se i valori differiscono dalla tua configurazione, controlla il terminatore TLS, il proxy e le eventuali posizioni cache o nidificate di Nginx.

Un esempio da terminale dell'output di curl -I che elenca le intestazioni di risposta HSTS, X-Content-Type-Options e X-Frame-Options.
Esaminate le intestazioni restituite dall'URL HTTPS pubblico; una singola riga di configurazione non è sufficiente a confermare ciò che i visitatori ricevono.

Successivamente, esegui la scansione di sicurezza ufficiale di Nextcloud sull'hostname pubblico, quindi rivedi le impostazioni di amministrazione. Utilizza Qualys SSL Labs quando hai bisogno di un punteggio TLS separato e di maggiori dettagli. La scansione ufficiale richiede un hostname Nextcloud raggiungibile; non può valutare un'istanza privata da Internet pubblico.

La pagina ufficiale di scansione di sicurezza di Nextcloud con un campo per il nome host e un pulsante "Scansiona", prima della visualizzazione dei risultati.
Dopo aver apportato le modifiche, esegui la scansione ufficiale sull'hostname pubblico; il punteggio ottenuto rappresenta un'istantanea, non una garanzia di sicurezza.

Se il punteggio rimane inferiore ad A+, utilizzare il risultato specifico per identificare il livello responsabile. Risolvere un problema alla volta, verificare che Nextcloud funzioni ancora tramite il suo URL pubblico ed eseguire una nuova scansione. A+ è un segnale di configurazione utile, ma anche dopo il superamento della scansione è necessario applicare patch, eseguire backup, controllare gli accessi e monitorare costantemente la situazione.

Documentazione ufficiale

Lascia un commento

Cosa serve per ottenere una valutazione di sicurezza A+ da Nextcloud

Cosa serve per ottenere una valutazione di sicurezza A+ da Nextcloud

Risolvi i problemi più comuni riscontrati durante le scansioni di Nextcloud con gli aggiornamenti più recenti, HTTPS e HSTS, una configurazione precisa del proxy inverso e verifiche rispetto al server pubblico.

Abilita la crittografia lato server di Nextcloud con un impatto misurabile

Configura Nextcloud SSE per lo spazio di archiviazione che lo richiede, proteggi le chiavi di crittografia e misura l'impatto sul trasferimento dati e sulla CPU prima di crittografare i file esistenti.

Aggiungi la ricerca full-text di Elasticsearch a Nextcloud

Collega la ricerca file di Nextcloud a Elasticsearch, indicizza il contenuto dei documenti e scegli una configurazione adatta alle esigenze del tuo server e della tua sicurezza.

Imposta una politica di scadenza affidabile per i file eliminati da Nextcloud.

Imposta una politica di scadenza affidabile per i file eliminati da Nextcloud.

Configura Nextcloud per rimuovere i file eliminati dopo un periodo di conservazione definito, pianifica in modo affidabile le attività in background ed evita i comandi che svuotano il cestino di tutti gli utenti.

Risolvi l'avviso di Nextcloud relativo agli indici del database mancanti.

Risolvi l'avviso di Nextcloud relativo agli indici del database mancanti.

Esegui in modo sicuro la riparazione OCC di Nextcloud, visualizza in anteprima le modifiche al database e verifica il motivo per cui l'avviso potrebbe persistere.

Aumentare il limite di caricamento web di Nextcloud oltre i 2 GB

Aumentare il limite di caricamento web di Nextcloud oltre i 2 GB

Consenti il ​​caricamento di file di dimensioni maggiori nel browser Nextcloud allineando le impostazioni di PHP, Nginx o Apache, dello spazio di archiviazione temporaneo e del timeout, e verifica quale limite sta bloccando il file.

Rimuovi l'avviso di memoria PHP di Nextcloud sul server web

Imposta il limite di memoria PHP effettivamente utilizzato da Nextcloud, riavvia il servizio corretto e conferma l'impostazione di 512 MB nella Panoramica di amministrazione.

Collega un bucket compatibile con S3 allo storage esterno di Nextcloud.

Monta un bucket di object storage compatibile in Nextcloud utilizzando il suo backend S3, con l'endpoint, le credenziali, l'ambito di accesso e i passaggi di verifica corretti.

Spostare i dati di Nextcloud su un'unità esterna senza interrompere lo storage

Spostare i dati di Nextcloud su un'unità esterna senza interrompere lo storage

Spostare in modo sicuro una directory di dati Nextcloud su Linux verso un'unità esterna utilizzando un mount UUID persistente, la modalità di manutenzione, una copia verificata e il collegamento simbolico del percorso originale.

Errore del database di Nextcloud dopo un aggiornamento: cosa controllare per prima cosa

Ripristina l'accesso a Nextcloud dopo un aggiornamento diagnosticando gli errori SQL, verificando la connettività del database e completando in sicurezza le migrazioni interrotte.