Diferencia entre revisiones de «Módulo SSL en Apache 2.4»

De MediaWiki
Ir a la navegación Ir a la búsqueda
Línea 15: Línea 15:
 
O módulo que xestiona o protocolo SSL é mod_ssl. Ten que estar configurado para ser cargado no ficheiro de configuración do servidor HTTP Apache.
 
O módulo que xestiona o protocolo SSL é mod_ssl. Ten que estar configurado para ser cargado no ficheiro de configuración do servidor HTTP Apache.
  
−
  '''NOTA'''. Comprobar que o módulo está instalado (3 posibilidades):
+
  '''NOTA'''. Comprobar que o módulo está instalado:
−
  ls /lib/apache2/modules/*ssl* 
+
  apache2 -M | grep ssl
−
/lib/apache2/modules/mod_ssl.so 
 
−
 
−
find /etc/apache2 -name '*ssl*' 
 
−
/etc/apache2/mods-available/ssl.load
 
−
/etc/apache2/mods-available/ssl.conf
 
−
/etc/apache2/sites-available/default-ssl.conf
 
−
 
 
−
cat /etc/apache2/mods-available/ssl.load 
 
−
# Depends: setenvif mime socache_shmcb 
 
−
LoadModule ssl_module /usr/lib/apache2/modules/mod_ssl.so
 
  
 
= Generar certificado autofirmado =
 
= Generar certificado autofirmado =

Revisión del 11:05 26 sep 2024

Introdución

Podemos usar o 'protocolo HTTPS (HyperText Transfer Protocol Secure) para aumentar a seguridade; basesase nunha capa de software protexida, SSL (Secure Socket Layer) ou TLS (Transport Layer Secure, sucesor de SSL), para a comunicación entre o cliente e o servidor Apache.

O protocolo de seguridade toma en conta a autenticación dos participantes a través dos certificados, o cifrado e o control da integridade dos datos intercambiados.

Emprega o well-known port 443, a diferencia de http que emprega o 80.

Habilitar módulo SSL

sudo a2enmod ssl
sudo a2enmod headers


O módulo que xestiona o protocolo SSL é mod_ssl. Ten que estar configurado para ser cargado no ficheiro de configuración do servidor HTTP Apache.

NOTA. Comprobar que o módulo está instalado:
apache2 -M | grep ssl

Generar certificado autofirmado

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt

Configurar virtual host para acceso seguro

                       /etc/apache2/sites-available/default-ssl.conf
<IfModule mod_ssl.c>
        <VirtualHost _default_:443>
                ServerAdmin your_email@example.com
                ServerName server_domain_or_IP

                DocumentRoot /var/www/html

                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined

                SSLEngine on

                SSLCertificateFile      /etc/ssl/certs/apache-selfsigned.crt
                SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key

                <FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>

        </VirtualHost>
</IfModule>

Desactivar SSLv2 e SSLv3 (opcional)

Podemos desactivar as versións 2 e 3 de SSL por estar obsoletas:

SSLProtocol all -SSLv2 -SSLv3

Reiniciar servicio

sudo systemctl restart apache2

Uso

Acceder por https: https://server_domain_or_IP


Referencias