apt-get install mod_ssl openssl
Configurar un canal seguro para el envío de información a través de formularios Web configurando el soporte HTTPS en Apache.
A continuación se describen las circunstancias bajo las cuales la siguiente solución tiene sentido:
Se requiere la transmisión de información por un canal seguro a través de una página Web.
Asegurar la confidencialidad de datos cifrando su contenido con SSL.
Hypertext Transfer Protocol Secure (en español: Protocolo seguro de transferencia de hipertexto), más conocido por sus siglas HTTPS, es un protocolo de aplicación basado en el protocolo HTTP, destinado a la transferencia segura de datos de Hipertexto, es decir, es la versión segura de HTTP. [1]
El sistema HTTPS utiliza un cifrado basado en SSL/TLS (Secure Sockets Layer/Transport Layer Security) para crear un canal cifrado más apropiado para el tráfico de información sensible que el protocolo HTTP. De este modo se consigue que la información sensible no pueda ser usada por un atacante que haya conseguido interceptar la transferencia de datos de la conexión, ya que lo único que obtendrá será un flujo de datos cifrados que le resultará imposible de descifrar.
Como contextualización, se hace necesario explicar que TLS y su antecesor SSL son protocolos criptográficos que proporcionan comunicaciones seguras por una red, comúnmente Internet.
Para configurar el uso de HTTPS en Apache se deben seguir los siguientes pasos:
Se debe instalar el protocolo SSL en el sistema operativo y el modulo de soporte para servidores Apache.
Debian y derivados
apt-get install mod_ssl openssl
Red Hat y derivados
yum install mod_ssl openssl
Después, hay que generar una clave privada (Para el ejemplo se utiliza algoritmo RSA a 1024 bits)
openssl genrsa -out ca.key 1024
Seguidamente, se genera el CSR (Certificate Signing Request)
openssl req -new -key ca.key -out ca.csr
# Se autofirma el certificado
openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt
Una vez generado el CSR, se deben mover los ficheros de la firma que acabamos de generar a las rutas.
mv ca.crt /etc/pki/tls/certs
mv ca.key /etc/pki/tls/private/ca.key
mv ca.csr /etc/pki/tls/private/ca.csr
Una vez hecho lo anterior, hay que editar el archivo /etc/httpd/conf.d/ssl.conf y buscar los parámetros SSLCertificateFile y SSLCertificateKeyFile para asignarle los valores.
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
Por último, se crea un host virtual donde se le indicara al servidor Apache donde enrutar las peticiones dirigidas al puerto 443 (Peticiones HTTPS). Para esta operación se edita el archivo /etc/httpd/conf/httpd.conf y se copia al final.
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/ca.crt
SSLCertificateKeyFile /etc/pki/tls/private/ca.key
AllowOverride All
DocumentRoot /var/www/httpsdocs
ServerName dominio.com
</VirtualHost>
Reiniciamos el servidor Apache.
/etc/init.d/apache restart
Copyright © 2021 Fluid Attacks, We hack your software. All rights reserved.