7 mejores prácticas de seguridad HTML para vulnerabilidades de sitios web estáticos

Los sitios web estáticos almacenan contenido ya renderizado, por lo que no necesitan acceder a ninguna base de datos, ejecutar scripts complejos o depender de un motor de tiempo de ejecución cada vez que un usuario solicita una página.

Eso se traduce en claras ventajas en tiempos de carga y seguridad: las páginas estáticas ahorran mucho tiempo de servidor y tienen menos vulnerabilidades. Eso, a su vez, significa que los motores de búsqueda clasificarán mejor las páginas estáticas que sus equivalentes dinámicos.

Los expertos en SEO están recurriendo al contenido estático siempre que pueden, para competir mejor en un mundo en el que una fracción de segundo puede marcar la diferencia entre el éxito total y el fracaso total. La implementación de contenido estático se ha convertido en una palabra de moda entre los estrategas de marketing, y al personal de TI le encanta tener un punto menos vulnerable al que vigilar.

Pero tenga cuidado: no son 100 % a prueba de piratería, por lo que si planea implementar contenido estático en su sitio web, existen algunas prácticas recomendadas que debe seguir para mantenerlo seguro.

Tabla de contenido

Los encabezados de seguridad son un subconjunto de los encabezados de respuesta HTTP: un paquete de metadatos, códigos de error, reglas de caché, etc. que el servidor web agrega al contenido que sirve, diseñado para decirle al navegador qué hacer y cómo manejar el contenido que recibe. No todos los navegadores admiten todos los encabezados de seguridad, pero hay un pequeño conjunto que es bastante común y brinda medidas de seguridad básicas para evitar que los piratas informáticos exploten las vulnerabilidades.

Opciones de X-Frame: SAMEORIGIN

El encabezado X-Frame-Options está destinado a deshabilitar o mitigar los riesgos impuestos por los iframes en su sitio. Los piratas informáticos pueden utilizar iframes para capturar clics legítimos y dirigir a los visitantes a cualquier URL que deseen. Hay diferentes formas de evitar el uso indebido de iframes.

La mejor práctica recomendada por OWASP (Open Web Application Security Project) sugiere usar este encabezado con el parámetro SAMEORIGIN, que permite el uso de iframes solo por alguien en el mismo origen. Otras opciones son DENY, para deshabilitar los iframes por completo, y PERMITIR DESDE, para permitir que solo URL específicas coloquen páginas en iframes.

Consulte la guía de implementación para Apache y Nginx.

Protección X-XSS: 1; modo=bloque

El encabezado X-XSS-Protection está diseñado para proteger los sitios web de secuencias de comandos entre sitios. Esta función de encabezado se puede implementar de dos maneras:

  • Protección X-XSS: 1
  • Protección X-XSS: 1; modo=bloque

El primero es más permisivo, ya que filtra los scripts de la solicitud al servidor web pero muestra la página de todos modos. La segunda forma es más segura ya que bloquea toda la página cuando se detecta un script X-XSS en la solicitud. Esta segunda opción es la mejor práctica recomendada por OWASP.

Opciones de tipo de contenido X: nosniff

Este encabezado evita el uso de «olfateo» MIME, una función que permite que el navegador escanee el contenido y responda de manera diferente a lo que indica el encabezado. Cuando este encabezado está presente, el navegador debe establecer el tipo de contenido según las instrucciones, en lugar de inferirlo «olfateando» el contenido por adelantado.

Si aplica este encabezado, debe verificar que sus tipos de contenido se apliquen correctamente en cada página de su sitio web estático.

Tipo de contenido: texto/html; conjunto de caracteres = utf-8

Esta línea se agrega a los encabezados de solicitud y respuesta de las páginas HTML desde la versión 1.0 del protocolo HTTP. Establece que todas las etiquetas se representan en el navegador, mostrando el resultado en la página web.

Usar certificados TLS

Un certificado SSL/TLS es imprescindible para cualquier sitio web porque permite que el servidor web cifre los datos que envía al navegador web a través del protocolo seguro HTTPS. De esa forma, si los datos son interceptados en su viaje, serán ilegibles, lo cual es esencial para proteger la privacidad del usuario y asegurar el sitio web. Un sitio web estático no almacena información personal de sus visitantes, pero es esencial que la información que solicitan no pueda ser vista por observadores no deseados.

El uso de cifrado por parte de un sitio web es necesario para que la mayoría de los navegadores web lo marquen como un sitio seguro y es obligatorio para los sitios web que buscan cumplir con el Reglamento General de Protección de Datos (RGPD) de la UE. La ley no establece específicamente que se deba usar un certificado SSL, pero es la forma más sencilla de cumplir con los requisitos de privacidad del reglamento.

En términos de seguridad, el certificado SSL permite a las autoridades verificar la propiedad de un sitio web y evitar que los piratas informáticos creen versiones falsas del mismo. El uso de un certificado SSL permite al visitante del sitio web verificar la autenticidad del editor y sentirse seguro de que nadie puede espiar sus actividades en el sitio web.

La buena noticia es que el certificado no cuesta mucho. De hecho, puedes conseguirlo GRATIS desde CeroSSL o compre uno premium de Tienda SSL.

Implementar protección DDoS

Los ataques de denegación de servicio distribuido (DDoS) son cada vez más comunes en la actualidad. En este tipo de ataque, se utiliza un conjunto de dispositivos distribuidos para saturar un servidor con una avalancha de solicitudes, hasta que se satura y simplemente se niega a funcionar. No importa si su sitio web tiene contenido estático: su servidor web podría convertirse fácilmente en víctima de un ataque DDoS si no toma las medidas necesarias.

La forma más fácil de implementar la protección DDoS en su sitio web es tener un proveedor de servicios de seguridad que se encargue de todas las amenazas cibernéticas. Este servicio proporcionará detección de intrusos, servicios antivirales, escaneo de vulnerabilidades y más, para que prácticamente no tenga que preocuparse por ninguna amenaza.

Una solución tan completa podría ser costosa, pero también existen soluciones más enfocadas con costos más bajos, como DDoS Protection as a Service (DPaaS). Debe preguntar a su proveedor de alojamiento si ofrece dicho servicio.

Las soluciones más asequibles son los servicios de protección DDoS basados ​​en la nube, como los que ofrece Akamai, Sucurio Cloudflare. Estos servicios brindan detección temprana y análisis de ataques DDoS, y filtrado y desvío de esos ataques, es decir, desvían el tráfico malicioso de su sitio.

Al considerar una solución anti-DDoS, debe prestar atención a la capacidad de su red: este parámetro indica cuánta intensidad de ataque puede soportar la protección.

Evite las bibliotecas de JavaScript vulnerables

Incluso si su sitio web tiene contenido estático, podría hacer uso de bibliotecas de JavaScript que imponen riesgos de seguridad. En general, se considera que el 20% de esas bibliotecas hacen que un sitio web sea más vulnerable. Afortunadamente, podría utilizar el servicio proporcionado por Base de datos de vulnerabilidad para comprobar si una biblioteca en particular es segura o no. En su base de datos, puede encontrar información detallada y orientación para muchas vulnerabilidades conocidas.

Además de verificar las vulnerabilidades de una biblioteca en particular, puede seguir esta lista de mejores prácticas para las bibliotecas de JavaScript que proporcionarán solución a sus riesgos potenciales:

  • No utilice servidores de biblioteca externos. En su lugar, almacene las bibliotecas en el mismo servidor que aloja su sitio web. Si debe usar bibliotecas externas, evite usar bibliotecas de servidores en la lista negra y verifique la seguridad de los servidores externos periódicamente.
  • Use la administración de versiones para las bibliotecas de JavaScript y asegúrese de usar la última versión de cada biblioteca. Si la gestión de versiones no es una opción, al menos debe usar versiones que no tengan vulnerabilidades conocidas. Puedes usar jubilarse.js para detectar el uso de versiones vulnerables.
  • Comprueba periódicamente si tu sitio web utiliza bibliotecas externas que no conoces. De esta manera, sabrá si un pirata informático inyectó enlaces a proveedores de bibliotecas no deseados. Los ataques de inyección son poco probables en sitios web estáticos, pero no hará daño hacer esta verificación de vez en cuando.

Implementar estrategia de copia de seguridad

Un sitio web estático siempre debe tener una copia de seguridad segura de su contenido cada vez que se modifica. Las copias de seguridad deben almacenarse de forma segura y ser de fácil acceso en caso de que necesite restaurar su sitio web en caso de un bloqueo. Hay muchas formas de hacer una copia de seguridad de su sitio web estático, pero en general, se pueden clasificar en manuales y automáticas.

Si el contenido de su sitio web no cambia con mucha frecuencia, una estrategia de copia de seguridad manual puede ser adecuada; solo debe recordar hacer una copia de seguridad nueva cada vez que realice un cambio en el contenido. Si tienes un panel de control para administrar tu cuenta de hosting, es muy probable que dentro de ese panel de control encuentres una opción para hacer copias de seguridad. De lo contrario, siempre puede usar un cliente FTP para descargar todo el contenido del sitio web a un dispositivo local donde puede mantenerlo seguro y restaurarlo si es necesario.

Por supuesto, la opción de copia de seguridad automática es preferible si desea mantener las tareas de administración de su sitio web al mínimo. Pero los proveedores de hosting suelen ofrecer copias de seguridad automáticas como características premium, lo que aumenta el costo total de mantener su sitio web seguro.

Puede considerar usar el almacenamiento de objetos en la nube para la copia de seguridad.

Utilice un proveedor de alojamiento confiable

Un servicio de alojamiento web confiable es necesario para garantizar que su sitio web funcione sin problemas y con rapidez, pero también para asegurarse de que no será pirateado. La mayoría de las revisiones de alojamiento web le mostrarán cifras y comparaciones sobre la velocidad, el tiempo de actividad y la atención al cliente, pero al considerar la seguridad del sitio web, hay algunos aspectos que deben observarse cuidadosamente y sobre los que debe consultar a su proveedor antes de contratar su servicio:

  • Seguridad del software: debe averiguar cómo se manejan las actualizaciones de software; por ejemplo, si todo el software se actualiza automáticamente o si cada actualización se somete a un proceso de prueba antes de implementarse.
  • Protección DDoS: en caso de que este tipo de protección esté incluida con el servicio de alojamiento, solicite detalles sobre cómo se implementa, para verificar si cumple con los requisitos de su sitio web.
  • Disponibilidad y soporte de SSL: dado que en la mayoría de los casos los certificados son gestionados por el proveedor de hosting, debes comprobar qué tipo de certificado ofrece y cuál es la política de renovación de certificados.
  • Copia de seguridad y restauración: muchos proveedores de alojamiento ofrecen un servicio de copia de seguridad automatizado, lo cual es bueno porque prácticamente te permite olvidarte de hacer copias de seguridad, almacenarlas y mantenerlas actualizadas. Pero tenga en cuenta el costo de dicho servicio y compárelo con el esfuerzo que le llevará mantener su contenido respaldado por usted mismo.
  • Protección contra malware: un proveedor de alojamiento confiable debe tener sus servidores protegidos contra malware, realizando escaneos periódicos de malware y monitoreando la integridad de los archivos. En el caso del alojamiento compartido, es deseable que el proveedor de alojamiento haga uso del aislamiento de la cuenta para evitar que las infecciones de malware se propaguen entre sitios web vecinos.
  • Protección de cortafuegos: un proveedor de alojamiento puede aumentar el nivel de seguridad de los sitios web que aloja mediante la implementación de un cortafuegos que mantiene alejado el tráfico hostil.

Consulte la plataforma confiable de alojamiento de sitios estáticos.

Aplicar una política de contraseña segura

Dado que un sitio estático no tiene una base de datos o un sistema de contenido administrado, tiene menos nombres de usuario y contraseñas para administrar. Pero aún debe aplicar una política de contraseñas para las cuentas de alojamiento o FTP que usará para actualizar el contenido estático.

Las buenas prácticas para las contraseñas incluyen, entre otras:

  • Cambiándolos periódicamente
  • Establecer una longitud mínima de contraseña.
  • Uso de combinaciones de letras mayúsculas y minúsculas junto con caracteres especiales y números
  • Evite comunicarlos por correo electrónico o mensajes de texto.

Además, la contraseña predeterminada para las cuentas administrativas debe cambiarse desde el principio; este es un error común que los piratas informáticos pueden explotar fácilmente. No tenga miedo de perder la contraseña; use un administrador de contraseñas para administrarlas de forma segura.

Pongámonos estáticos

Hace unos años, el contenido dinámico era el camino a seguir: todo podía cambiarse y actualizarse fácilmente, lo que permitía rediseñar un sitio web completo en segundos. Pero luego, la velocidad se convirtió en la máxima prioridad, y el contenido estático de repente volvió a ser genial.

En ese sentido, todas las prácticas de seguridad del sitio web deben reevaluarse; seguro que hay menos aspectos a considerar, pero no debes relajarte al respecto. Esta lista de mejores prácticas seguramente lo ayudará a crear su propia lista de verificación para mantener su sitio web estático sano y salvo.