Optimiza tu servidor con la extensión HTTPS

Cada vez más proveedores de Internet dedican sus esfuerzos a facilitar un acceso más seguro a los contenidos de internet. Con este objetivo se ha consolidado en la WWW el protocolo de cifrado TLS (Transport Layer Security), popularizado como SSL (Secure Sockets Layer). Mientras que la conexión a través de HTTP se efectúa sin cifrar, el protocolo de red HTTPS (“Hypertext Transfer Protocol Secure” o “Hypertext Transfer Protocol over SSL/TLS”) garantiza un tráfico web más seguro.

Incluso Google, se está convirtiendo en un ejemplo a seguir y ofrece, en sus páginas web, únicamente el cifrado SSL/TLS. Desde agosto de 2014, HTTPS es también un factor relevante para el ranking de una web. Con ello, aumentó la importancia para los operadores web del cifrado de transmisión de datos con SSL/TLS. Sin embargo, HTTPS no ofrece una protección fiable en su configuración estándar. Los expertos en IT se ven obligados a cubrir brechas en la seguridad. El riesgo principal lo representan, sobretodo, los ataques man in the middle, que permiten que cibercriminales revoquen el cifrado SSL/TLS. Solo con la aparición en 2012 de HSTS se estableció un mecanismo de seguridad para conexiones HTTPS que previene ataques de este tipo.

Listas de precarga para páginas HTTPS

Debido a que HSTS solo funciona si una web ha sido visitada anteriormente al menos una vez con una conexión HTTPS no manipulable, cada visita inicial es, en principio, susceptible a ataques de SSLstripping. Para evitar esto, en la actualidad, la mayoría de navegadores acceden a listas basadas en un sistema de precarga HSTS que es proporcionado por Google como parte del proyecto Chromium.

 

Configurar HSTS: instrucciones para Apache2, Lighttpd y NGINX

A continuación, explicaremos brevemente cómo configurar HSTS para Apache, NGINX, Lighttpd y Microsoft IIS.
sudo a2enmod headers
sudo service apache restart

 

El servidor Apache HTTP permite operar varios dominios desde un mismo servidor. En el contexto de la terminología Apache, cada uno de estos dominios se denomina Virtual Host (vhost) y su configuración no depende de otros dominios en el servidor. Dado que HSTS es una extensión de HTTPS, este mecanismo de seguridad solo está disponible para los hosts virtuales con el número de puerto 443, es decir, con el puerto predeterminado para HTTPS. Para garantizar la conexión cifrada a una web HTTPS en futuras visitas, como operador web deberás añadir la siguiente línea de comando para el host virtual deseado en el archivo de configuración de Apache https.conf:

 

Header always set Strict-Transport-Security «max-age=4838400; includeSubdomains;»

 

Adicionalmente se añadirán el campo de cabecera Strict-Transport-Security junto con otras directivas del contenedor VirtualHost:

 

<VirtualHost *:443>

ServerAdmin support@example.com

ServerName www.example.com

SSLEngine on

SSLCertificateFile /path/to/www.example.com.cert

SSLCertificateKeyFile /path/to/www.example.com.key

[…]

Header always set Strict-Transport-Security "max-age=4838400; includeSubdomains;"

DocumentRoot /var/www/

</VirtualHost>

 

Cada vez que un navegador solicita una página web configurada de esta forma, Apache emite una cabecera HSTS con los parámetros en cuestión. El navegador recibe la orden de abrir, durante las próximas ocho semanas, todas las páginas web del dominio example.com, incluyendo sus subdominios, exclusivamente de forma cifrada con el certificado SSL/TLS.

Recuerda que debes reiniciar Apache para que se guarden los cambios realizados en la configuración.

Etiquetas: , , ,