Home
» Come fare
»
Cosa serve per ottenere una valutazione di sicurezza A+ da Nextcloud
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:
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:
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.
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.
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.