Configurazione di Nextcloud in SSL con un certificato Self Signed utilizzando Apache

da | Feb 6, 2025

La sicurezza è una componente fondamentale nella gestione di un servizio cloud come Nextcloud, specialmente quando si tratta di proteggere i dati degli utenti durante la trasmissione. L’adozione del protocollo HTTPS, che utilizza la crittografia SSL/TLS, è essenziale per garantire che le comunicazioni tra il server e i client avvengano in modo sicuro.

Nel caso di Nextcloud, è possibile configurare un certificato SSL auto-firmato (Self-Signed) per abilitare HTTPS, senza dipendere da un’autorità di certificazione (CA) esterna. Questa soluzione è particolarmente utile in ambienti di test o per configurazioni interne in cui la sicurezza è necessaria, ma non si desidera o non si può acquistare un certificato ufficiale.

Se il tuo server Nextcloud non ha un nome di dominio, puoi comunque proteggere l’interfaccia web generando un certificato SSL autofirmato.

Questo certificato consentirà l’accesso all’interfaccia Web tramite una connessione crittografata, ma non sarà in grado di verificare l’identità del server, quindi è probabile che il browser visualizzi un avviso.

PREREQUISITI

Installazione e Configurazione base di Nextcloud Community Edition su Ubuntu Server 24.04

ABILITAZIONE DEL MODULO SSL SU APACHE

Prima di poter utilizzare qualsiasi certificato SSL, dobbiamo abilitare, un modulo Apache che fornisce supporto per la crittografia SSL.mod_ssl

Abilitare con il comando:

Riavviare Apache per attivare il modulo con il comando:

 

CREAZIONE DEL CERTIFICATO SSL

Ora che Apache è pronto per utilizzare la crittografia, passare alla generazione di un nuovo certificato SSL. Il certificato memorizzerà alcune informazioni di base sul tuo sito e sarà accompagnato da un file chiave che consente al server di gestire in modo sicuro i dati crittografati.

Possiamo creare la chiave SSL e i file del certificato con il comando:

Di seguito la spiegazione delle varie opzioni che utilizziamo nel comando:

openssl: questo è lo strumento da riga di comando per la creazione e la gestione di certificati, chiavi e altri file OpenSSL.
req -x509: specifica che si desidera utilizzare la gestione delle richieste di firma del certificato (CSR) X.509. X.509 è uno standard di infrastruttura a chiave pubblica a cui SSL e TLS aderiscono per la gestione di chiavi e certificati.
nodes: indica a OpenSSL di ignorare l’opzione per proteggere il nostro certificato con una passphrase. Abbiamo bisogno che Apache sia in grado di leggere il file, senza l’intervento dell’utente, all’avvio del server. Una passphrase impedirebbe che ciò accada, poiché dovremmo inserirla dopo ogni riavvio.
days 365: questa opzione consente di impostare il periodo di tempo durante il quale il certificato sarà considerato valido. L’abbiamo fissato per un anno qui. Molti browser moderni rifiuteranno tutti i certificati validi per più di un anno.
newkey rsa:2048: Specifica che vogliamo generare contemporaneamente un nuovo certificato e una nuova chiave. Non è stata creata la chiave necessaria per firmare il certificato in un passaggio precedente, quindi è necessario crearla insieme al certificato. La parte indica di creare una chiave RSA lunga 2048 bit.rsa:2048
keyout: questa riga indica a OpenSSL dove posizionare il file della chiave privata generato che stiamo creando.
out: indica a OpenSSL dove posizionare il certificato che stiamo creando.

Dovremmo rispondere ad una serie di domande e quindi visualizzare il seguente output:

Entrambi i file creati verranno inseriti nelle sottodirectory appropriate in ./etc/ssl

Successivamente procedere con la configurazione di Apache per utilizzare il nuovo certificato e la nuova chiave.

CONFIGURAZIONE DI APACHE PER L’UTILIZZO DELL’SSL

Editare il file di configurazione di Apache utilizzato da Nextcloud con il comando:

Quindi all’interno del file incollare le seguenti righe:

Salvare e chiudere il file di configurazione

NOTA BENE: Inserire al posto di FQDN-SERVER.dominio.local il nome del server Nextcloud

REINDIRIZZAMENTO DA HTTP A HTTPS

Attualmente, la configurazione risponderà solo alle richieste HTTPS sulla porta.
È buona norma rispondere anche sulla porta 80, anche se si desidera forzare la crittografia di tutto il traffico e reindirizzarle in HTTPS.

Editare il file di configurazione di Apache utilizzato da Nextcloud con il comando:

Quindi all’interno del file incollare le seguenti righe:

Salvare e chiudere il file di configurazione

NOTA BENE: Inserire al posto di FQDN-SERVER.dominio.local il nome del server Nextcloud

Riavviare Apache con il comando:

A questo punto Nextcloud sarà utilizzabile solo in HTTPS con la protezione del certificato SSL Self-Signed.

Articoli Recenti

Veeam Backup

Monitoring

Friends

  • My English Lab  English School
  • ChrSystem   Servizi ICT
  • Since 01  Kreative Graphics

Database

Networking

Autori

  • Raffaele Chiatto  Amministratore
  • Marco Valle  Autore
  • Angelo Lauria  Autore
  • Edoardo Prot  Autore
  • Davide D’Urso  Autore
Raffaele Chiatto

Raffaele Chiatto

Sono Raffaele Chiatto, un appassionato di informatica a 360 gradi. Tutto è iniziato nel 1996, quando ho scoperto il mondo dell'informatica grazie a Windows 95, e da quel momento non ho più smesso di esplorare e imparare. Ogni giorno mi dedico con curiosità e passione a scoprire le nuove frontiere di questo settore in continua evoluzione.
Categorie: Apache | Nextcloud

Related Post

0 commenti

Invia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Virtualizzazione

Linux

Microsoft

Apple

Backup

Database

Security

Automazione