Configurazione di un server Apache sicuro su Ubuntu 24.04
In questa guida completa ti guideremo attraverso il processo di configurazione di un server Apache sicuro su Ubuntu 24.04. Che tu stia configurando un sito web personale o una piattaforma aziendale, seguire questi passaggi garantirà che il tuo server non sia solo funzionale ma anche sicuro. Ricordati di sostituire "myweb.linuxconfig.org" con il tuo dominio durante questo tutorial.
In questo tutorial imparerai:
- Come aggiornare e aggiornare il tuo sistema Ubuntu
- Passaggi per installare e configurare Apache
- Configurazione del firewall per la sicurezza
- Creazione di un sito Web di esempio e configurazione di host virtuali
- Abilitazione e avvio del servizio Apache
- Testare la configurazione di Apache
- Protezione di Apache con il certificato SSL Let's Encrypt
- Rafforza il tuo server Apache per una maggiore sicurezza
Guida passo passo
Aggiornamento e upgrade del sistema: inizia aggiornando gli indici dei pacchetti e aggiornando il tuo sistema alla versione più recente. Ciò ti garantisce di avere tutte le patch di sicurezza e le dipendenze più recenti.
$ sudo apt update $ sudo apt upgrade
Installa Apache: quindi installa il server web Apache2. Apache è un software server Web gratuito e open source che alimenta gran parte del Web.
$ sudo apt install apache2
Il comando
sudo apt install certbot python3-certbot-apache
installa "certbot" e il suo plugin Apache sul sistema. "Certbot" è uno strumento gratuito e automatizzato progettato per ottenere certificati SSL da Let's Encrypt, un'autorità di certificazione gratuita. Il plug-in Apache, "python3-certbot-apache", viene utilizzato specificamente per configurare i certificati SSL sui server Apache. Dopo l'installazione, viene eseguito il comandosudo certbot --apache
. Questo esegue "certbot" con il plugin Apache, che non solo ottiene il certificato SSL da Let's Encrypt ma configura anche automaticamente Apache per utilizzare questo certificato, abilitando HTTPS sul server.Testa il sito web SSL sicuro: a questo punto il server web Apache2 dovrebbe reindirizzare automaticamente tutte le richieste HTTP alla porta HTTPS. Testa il tuo sito web e verifica che venga eseguito su una porta http SSL sicura.
Rafforza la sicurezza di Apache: infine, rafforza la tua installazione di Apache modificando il file di configurazione di Apache. Ciò include la disabilitazione delle richieste di traccia, l'occultamento della versione di Apache e la disattivazione delle firme del server.
$ sudo nano /etc/apache2/apache2.conf
Aggiungi o modifica le seguenti righe:
TraceEnable Off ServerTokens Prod ServerSignature Off
Le direttive di configurazione Apache
TraceEnable Off
,ServerTokens Prod
eServerSignature Off
sono importanti per migliorare la sicurezza del server.TraceEnable Off
disabilita il metodo di richiesta HTTP TRACE, impedendo qualsiasi potenziale attacco Cross-Site Tracing (XST).ServerTokens Prod
limita la quantità di informazioni (nello specifico, la versione del server e il tipo di sistema operativo) inviate nelle intestazioni di risposta del server, riducendo così l'esposizione delle informazioni a potenziali aggressori.ServerSignature Off
limita ulteriormente la fuga di informazioni rimuovendo la versione del server dalle pagine di errore e dai documenti generati dal server. Collettivamente, queste impostazioni sono cruciali per oscurare i dettagli del server che potrebbero altrimenti essere sfruttati dagli aggressori per realizzare attacchi mirati.Oltre alle direttive di configurazione TraceEnable Off, ServerTokens Prod e ServerSignature Off, potresti prendere in considerazione l'aggiunta delle seguenti impostazioni per migliorare ulteriormente la sicurezza e prestazioni del tuo server Apache. Puoi aggiungere alla sezione .htaccess, httpd.conf o VirtualHost:
Header imposta sempre X-Content-Type-Options "nosniff"
: questa intestazione impedisce ai browser di eseguire lo sniffing di tipo MIME, che può ridurre l'esposizione agli attacchi di download drive-by.L'intestazione imposta sempre X-Frame-Options "SAMEORIGIN"
: questa impostazione impedisce il clickjacking indicando al browser di non consentire la visualizzazione della pagina in un frame a meno che non venga richiesta dalla stessa origine.L'intestazione imposta sempre X-XSS-Protection "1; mode=block"
: abilita il filtro Cross-Site Scripting (XSS) integrato nei browser Web più recenti e gli dice di bloccare le risposte che contengono attacchi rilevati .SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
: questa riga disabilita i protocolli SSL/TLS più vecchi e meno sicuri (SSLv3, TLSv1 e TLSv1.1) e consente solo protocolli più sicuri, riducendo il rischio di attacchi di downgrade del protocollo.SSLCipherSuite HIGH:!aNULL:!MD5
: imposta una potente Cipher Suite per le connessioni SSL/TLS, che definisce gli algoritmi di crittografia utilizzati.L'aggiunta di queste impostazioni migliora la sicurezza generale mitigando diverse vulnerabilità Web comuni e garantendo che la comunicazione con il server rimanga crittografata e sicura. Ricordarsi di riavviare Apache dopo aver apportato queste modifiche per applicarle.
Salva ed esci, quindi riavvia Apache
$ sudo systemctl restart apache2
Conclusione
Seguendo questi passaggi, hai configurato con successo un server Apache sicuro su Ubuntu 24.04. Questa configurazione fornisce una solida base per l'hosting del tuo sito Web, garantendo funzionalità e sicurezza. Ricorda di mantenere aggiornato il tuo server e di rivedere periodicamente le tue impostazioni di sicurezza per mantenere una presenza web solida e sicura.