Cómo Agregar Cabeceras de Seguridad en OpenLiteSpeed

En el mundo de la ciberseguridad, cada detalle cuenta, y las cabeceras de seguridad (security headers) son una herramienta fundamental para proteger tu sitio web frente a ataques comunes, como el clickjacking, la inyección de contenido malicioso y la exposición de datos sensibles.

Si estás utilizando OpenLiteSpeed como servidor web, estás de suerte: este servidor no solo es conocido por su velocidad y eficiencia, sino también por su flexibilidad para implementar medidas de seguridad avanzadas.

En este artículo, te guiaré paso a paso para configurar cabeceras de seguridad en OpenLiteSpeed, explicando qué son, por qué son importantes y cómo puedes implementarlas para hacer tu sitio más seguro frente a posibles amenazas.

Ya sea que estés protegiendo un sitio personal o una aplicación web compleja, estas configuraciones serán un pilar esencial para fortalecer la seguridad de tu servidor.

Qué son las cabeceras de seguridad y por qué es importante usarlas

Las cabeceras de seguridad son configuraciones que se envían desde el servidor web al navegador del usuario para establecer políticas y restricciones sobre cómo debe manejarse el contenido de un sitio web.

Estas configuraciones protegen tu sitio frente a una variedad de ataques y vulnerabilidades comunes, ofreciendo una capa adicional de defensa que complementa otras medidas de seguridad, como el cifrado HTTPS y los cortafuegos.

Beneficios de las cabeceras de seguridad:

  1. Prevención de ataques de clickjacking:
    Al usar cabeceras como X-Frame-Options, puedes evitar que tu sitio sea cargado en un marco (iframe) en otro dominio, lo que protege contra ataques donde los usuarios son engañados para interactuar con un contenido oculto.
  2. Protección frente a inyecciones de contenido malicioso:
    La cabecera Content-Security-Policy (CSP) limita qué recursos externos pueden ser cargados en tu sitio, reduciendo el riesgo de ataques como Cross-Site Scripting (XSS).
  3. Aumento de la privacidad y seguridad de los usuarios:
    Cabeceras como Strict-Transport-Security aseguran que las conexiones a tu sitio siempre se realicen mediante HTTPS, protegiendo los datos transmitidos entre el navegador y el servidor.
  4. Control del comportamiento del navegador:
    Con cabeceras como X-Content-Type-Options, puedes prevenir que los navegadores interpreten incorrectamente el tipo de contenido de un archivo, lo que ayuda a evitar descargas maliciosas.

Lee también: Plugins de WordPress: ¿Puedes Tener Demasiados?

¿Cuáles son los riesgos de no configurar las cabeceras de seguridad?

Ignorar la implementación de cabeceras de seguridad puede dejar tu sitio vulnerable a una serie de ataques que afectan tanto a la experiencia de los usuarios como a la reputación de tu negocio:

  1. Exposición a ataques XSS:
    Sin una política de seguridad de contenido (CSP), los atacantes pueden inyectar scripts maliciosos que se ejecutan en los navegadores de tus visitantes, comprometiendo datos sensibles como contraseñas o información personal.
  2. Susceptibilidad al clickjacking:
    Los atacantes pueden cargar tu sitio dentro de un marco en sus propias páginas y manipular a los usuarios para realizar acciones no deseadas, como transferencias bancarias o cambios en configuraciones importantes.
  3. Filtración de información sensible:
    Sin una configuración adecuada de cabeceras, puedes permitir que los navegadores compartan información de tu sitio que podría ser utilizada para planificar futuros ataques, como la estructura de tu aplicación web o tecnologías utilizadas.
  4. Degradación de la confianza del usuario:
    Un sitio que no implementa medidas de seguridad robustas puede ser percibido como inseguro, especialmente si los navegadores alertan a los usuarios sobre riesgos potenciales, como conexiones inseguras o descargas de contenido cuestionable.

Las cabeceras de seguridad deben ser una parte esencial de la estrategia de ciberseguridad de tu página web.

Implementarlas no solo protege tu sitio contra amenazas actuales, sino que también refuerza la confianza de tus usuarios al garantizarles una experiencia más segura.

Cómo saber si tu sitio no tiene cabeceras de seguridad

Visita securityheaders.com, agrega la dirección de tu sitio y pulsa el botón “scan”. Si no quieres que los resultados sean vistos por otros, selecciona la opción “hide results”. Deja seleccionada la opción “follow redirects”.

La herramienta te hará saber cuáles cabeceras de seguridad están habilitadas y te dará un score basada en qué tantas de ellas lo están.

Pantalla que muestra una calificación de F en SecurityHeaders.com

Cómo agregar cabeceras de seguridad en OpenLiteSpeed

En web servers como Apache, agregar cabeceras de seguridad puede ser tan sencillo como incluirlas en un archivo .htaccess. Desafortunadamente, en OpenLiteSpeed no es tan sencillo.

Recientemente me topé con un cliente que pasó meses y gastó cientos de dólares en freelancers tratando de agregar security headers en OpenLiteSpeed sin éxito.

Mi experiencia con este cliente fue lo que me motivó a escribir este tutorial. Como dije anteriormente, agregar las cabeceras en OpenLiteSpeed no es tan sencillo.

Necesitarás cuando menos conocimientos básicos de SSH y SFTP para poder conectarte al servidor para realizar los cambios necesarios.

Si bien puedes realizar todo el proceso vía SSH, en este tutorial usaré SSH y SFTP para realizar los cambios. Si sabes usar el editor vi en Linux, puedes omitir el uso de WinSCP.

Usaré WinSCP (SFTP) para editar el archivo requerido y Putty (SSH) para reiniciar OpenLiteSpeed.

Este tutorial no cubrirá los pasos para conectarte al servidor vía estos métodos. Vía Google encontrarás infinidad de información sobre cómo hacerlo. En realidad el proceso es sencillo, pero puede ser abrumador para principiantes.

1. Conéctate al servidor con WinSCP

Tras conectarte al servidor vía SFTP con WinSCP, vas a navegar al siguiente directorio:

/usr/local/lsws/conf/vhosts/tusitio

En este directorio encontrarás un archivo de nombre vhconf.conf. Abre el archivo y agrega el siguiente texto al fondo:

context / {
    allowBrowse 1
    extraHeaders    <<<END_extraHeaders
Strict-Transport-Security: max-age=31536000; includeSubDomains
Content-Security-Policy "upgrade-insecure-requests;connect-src *"
Referrer-Policy strict-origin-when-cross-origin
X-Frame-Options: SAMEORIGIN
X-Content-Type-Options: nosniff
X-XSS-Protection 1;mode=block
Permissions-Policy: geolocation=(self "")
    END_extraHeaders

Guarda los cambios y conéctate al servidor con Putty.

2. Reinicia OpenLiteSpeed vía SSH

Agrega el siguiente comando en Putty para reiniciar OpenLiteSpeed:

systemctl restart lsws

Lee también: Mueve el Archivo wp-config.php y Protege tu Sitio de WordPress

Comprueba que las cabeceras se hayan agregado correctamente

Vuelve a securityheaders.com y repite el proceso que te expliqué anteriormente. Si todo salió bien, verás la siguiente pantalla:

Pantalla que muestra una calificación de A en SecurityHeaders.com

Conclusión

Las cabeceras de seguridad (security headers) son una herramienta esencial para proteger tu sitio web contra una amplia variedad de amenazas y garantizar una experiencia segura para tus usuarios.

Implementarlas en OpenLiteSpeed no solo refuerza la seguridad de tu servidor, sino que también demuestra un compromiso con las mejores prácticas de ciberseguridad.

Si bien cada cabecera tiene su propósito específico, configurarlas adecuadamente puede marcar la diferencia entre un sitio vulnerable y uno robusto frente a ataques como el clickjacking, XSS o la exposición de datos sensibles.

La configuración de cabeceras de seguridad es parte de las medidas de seguridad que implemento con mi servicio de Optimización de la Seguridad de WordPress.

No dudes en contactarme si necesitas ayuda para agregar las security headers a tu sitio en OpenLiteSpeed.

Ilustración cortesía de Story Set.

Avatar de WPLuis

Hola, me llamo Luis y soy experto en desarrollo, soporte, mantenimiento y seguridad web. Tengo más de 20 años de experiencia en la industria en los que he trabajado con clientes satisfechos de todo el mundo.

Deja un comentario