Vai al contenuto

mod_ssl su Rocky Linux in un ambiente web server Apache

Il server web Apache esiste ormai da molti anni. mod_ssl fornisce una maggiore sicurezza al server web ed è installabile su quasi tutte le versioni di Linux.

Questa procedura è progettata per farvi iniziare a lavorare con Rocky Linux usando 'mod_ssl' in un ambiente Apache Web-Server.

Prerequisiti

  • Una workstation o un server, preferibilmente con Rocky Linux già installato.
  • In grado di eseguire comandi come root o sudo per elevare i privilegi.

Installare Rocky Linux Minimale

Durante l'installazione di Rocky Linux, abbiamo utilizzato i seguenti set di pacchetti:

  • Minimal
  • Standard

Eseguire gli aggiornamenti

Per prima cosa, eseguire il comando di aggiornamento del sistema per consentire al server di ricostruire la cache dei repository per rilevare i pacchetti disponibili.

dnf update

Abilitare i repositories

Con un'installazione convenzionale di un server Rocky Linux, tutti i repository necessari sono già presenti.

Verificare i repository disponibili

Per essere sicuri, controllare l'elenco dei repository con:

dnf repolist

Otterrete quanto segue:

appstream                                                        Rocky Linux 8 - AppStream
baseos                                                           Rocky Linux 8 - BaseOS
extras                                                           Rocky Linux 8 - Extras
powertools                                                       Rocky Linux 8 - PowerTools

Installazione dei Pacchetti

Per installare mod_ssl, eseguire:

dnf install mod_ssl

Per abilitare il modulo mod_ssl, eseguire:

apachectl restart httpd apachectl -M | grep ssl

Vedrete:

ssl_module (shared)

Apri la porta TCP 443

Per consentire il traffico in entrata con HTTPS, eseguire:

firewall-cmd --zone=public --permanent --add-service=https
firewall-cmd --reload

Assicuratevi che il vostro obiettivo sia quello di avere il sito web aperto al mondo quando aggiungete questa regola! In caso contrario, cambiare la zona o configurare il firewall per correggerla.

A questo punto si dovrebbe essere in grado di accedere al server web Apache tramite HTTPS. Inserisci https://your-server-ip o https://your-server-hostname per confermare la configurazione di mod_ssl.

Generare il certificato SSL/TLS

Per generare un certificato autofirmato per l'host rocky8 con scadenza di 365 giorni, eseguire:

openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/httpd.key -x509 -days 365 -out /etc/pki/tls/certs/httpd.crt

Verrà visualizzato il seguente risultato:

Generating a RSA private key
................+++++
..........+++++
writing new private key to '/etc/pki/tls/private/httpd.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:AU
State or Province Name (full name) []:
Locality Name (eg, city) [Default City]:
Organization Name (eg, company) [Default Company Ltd]:LinuxConfig.org
Organizational Unit Name (eg, section) []:
Common Name (eg, your name or your server's hostname) []:rocky8
Email Address []:

Al termine di questo comando, saranno presenti i due file SSL/TLS seguenti:

ls -l /etc/pki/tls/private/httpd.key /etc/pki/tls/certs/httpd.crt

-rw-r--r--. 1 root root 1269 Jan 29 16:05 /etc/pki/tls/certs/httpd.crt
-rw-------. 1 root root 1704 Jan 29 16:05 /etc/pki/tls/private/httpd.key

Configurare il server web Apache con i nuovi certificati SSL/TLS

Per includere il certificato SSL/TLS appena creato nella configurazione del server web Apache, aprire il file ssl.conf eseguendo:

nano /etc/httpd/conf.d/ssl.conf

Modificare le seguenti righe:

DA:

SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

A:

SSLCertificateFile /etc/pki/tls/certs/httpd.crt
SSLCertificateKeyFile /etc/pki/tls/private/httpd.key

Ricaricare il server web Apache eseguendo:

systemctl reload httpd

Testare la configurazione mod_ssl

Immettere quanto segue in un browser web:

https://your-server-ip or https://your-server-hostname

Per reindirizzare tutto il traffico HTTP a HTTPS

Creare un nuovo file eseguendo:

nano /etc/httpd/conf.d/redirect_http.conf

Inserite il seguente contenuto e salvate il file, sostituendo "your-server-hostname" con il vostro hostname.

<VirtualHost _default_:80>

        Servername rocky8
        Redirect permanent / https://your-server-hostname/

</VirtualHost/>

Applicare la modifica eseguendo:

systemctl reload httpd

Il server web Apache reindirizzerà tutto il traffico in entrata da http://your-server-hostname a https://your-server-hostname.

Passaggi Finali

Si è visto come installare e configurare mod_ssl e creare un nuovo certificato SSL/TLS per eseguire un server web con servizio HTTPS.

Conclusione

Questo tutorial mostra l'installazione e l'uso di base di mod_ssl.

Author: Garthus

Contributors: Steven Spencer, David Hensley, Ganna Zhyrnova