Módulo SSL en Apache 2.4
Revisión del 10:55 26 sep 2024 de Joselv (discusión | contribuciones)
Sumario
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
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