Y lo primero de todo: ¿Qué demonios es un WAF? Si no lo sé, ¿Por qué voy a necesitarlo?
Un WAF es el acrónimo en inglés de Web Application Firewall (Cortafuegos para aplicaciones Web).
Al igual que existen ‘cortafuegos de red’ que lo que impiden es que el tráfico de determinados puertos pueda pasar por ellos hacia nuestra red, protegiendo así los sistemas de diversos ataques que puedan comprometerlos.
En las aplicaciones web, tenemos por defecto siempre abiertos los puertos 80 (http) y el 443 (https). Y esto es así. No hay forma de proteger estos puertos, ya que simplemente nuestra web no sería visible.
¿Entonces que podemos hacer, o mejor dicho, que puede hacer un WAF por nosotros?
Pues lo que podemos hacer es filtrar ese tipo de tráfico a muy alto nivel, es decir, como no podemos cerrar los puertos, la opción es ver el tráfico que pasa por esos puertos, y en función de ese tráfico, decidimos si lo dejamos acceder a la web o no.
Esto, que así contado parece sencillo, tiene su «miga», ya que hay que evaluar qué es lo que quiere hacer el usuario puesto hay múltiples formas de vulnerar la seguridad de nuestro sitio web.
Hoy en día, en un entorno cada vez más digital en el que cada vez hay más aplicaciones para todo, esto se vuelve cada vez más vulnerable, la seguridad de las aplicaciones web se ha convertido en una prioridad. Los ataques cibernéticos, como la inyección de código SQL, el cross-site scripting (XSS) o los ataques de denegación de servicio (DoS), amenazan constantemente la integridad y disponibilidad de los sitios web. Para combatir estas amenazas, un Web Application Firewall (WAF) se ha convertido en una herramienta indispensable.
Un WAF es un escudo protector que se coloca entre tu aplicación web e Internet. Actúa como un filtro, analizando el tráfico HTTP y HTTPS que llega a tu sitio web y bloqueando las solicitudes maliciosas.
¿Cómo funciona un WAF?
Los WAF funcionan mediante un conjunto de reglas que definen qué tipo de tráfico es permitido y qué tipo de tráfico debe ser bloqueado. Estas reglas pueden basarse en diferentes criterios, como:
- La dirección IP de la que proviene (podemos bloquear IP de ciertas partes del mundo que no tienen relación con nosotros) O bien bloquearla para ciertas cosas, por ejemplo si tenemos una web para algo relacionado con España, que sólo puede usarse por Españoles, ¿Para que voy a dejar que se registre alguien de otro país?
- El tipo de solicitud HTTP: Se pueden bloquear solicitudes inusuales o que intentan acceder a áreas restringidas de tu aplicación.
- El contenido de la solicitud: Se puede analizar el contenido de las solicitudes para detectar código malicioso o scripts que puedan ser utilizados para explotar vulnerabilidades.
Interesante, pero ¿Es para mí?
Ahora que sabemos un poco lo que es un WAF, seguirás preguntando, ¿De verdad que lo necesito? La respuesta es simple «SI«.
Si tu web no está protegida, está expuesta a múltiples tipos de ataques que enumeramos a continuación.
Los sistemas web están muy protegidos (unos más que otros), puesto que los más habituales disponen de actualizaciones y mitigación de vulnerabilidades que pueden ser explotadas por los «malos» para reventar la web, o peor aún, usar nuestro servidor y nuestra web como un bot que ataque a otros sitios.
Los principales gestores como WordPress, Joomla, Drupal o Prestashop, disponen de muchas actualizaciones que mitigan esto. Los creadores de paquetes añadidos para estos productos, muchas veces, por falta de medios para mantenerlos al día (hay veces que detrás de algunos hay una sola persona), o bien por falta de diligencia en la mitigación por parte de los creadores de los añadidos (temas, plugins, etc.) o bien por parte nuestra de no mantener nuestras webs con la última versión del gestor de contenidos o de nuestra tienda virtual.
Ataque de inyección SQL
Imagina que una aplicación web es como una puerta de entrada a una base de datos donde se almacena información valiosa como datos de clientes, facturas, etc. Normalmente, esta puerta está protegida por una serie de cerraduras, pero si un hacker encuentra una forma de «inyectar» código malicioso a través de un formulario de búsqueda o un campo de inicio de sesión, puede «romper» esta cerradura, abrir la puerta y por lo tanto, acceder a datos sensibles. Esto es lo que es un ataque de inyección SQL.
A partir de ahí puede modificar o eliminar datos de nuestra web, o peor aún, puede obtener datos de usuarios, contraseñas, o datos personales que almacenamos en nuestra web de comercio electrónico. Esto es más habitual de lo que nos podamos pensar.
Ataques XSS
Un ataque XSS (Cross-Site Scripting) es una vulnerabilidad de seguridad que ocurre cuando un atacante inyecta código malicioso, generalmente JavaScript, en páginas web vistas por otros usuarios. Este código se ejecuta en el navegador de la víctima, lo que permite al atacante robar información, tomar el control de la sesión del usuario, redirigir a otros sitios maliciosos o incluso modificar el contenido de la página web.
Ataques de CORS o Cross-Origin Resource Sharing
El Cross-Origin Resource Sharing (CORS) es un mecanismo de seguridad utilizado por los navegadores web para permitir o restringir las solicitudes de recursos (como archivos JavaScript, CSS, imágenes, etc.) desde un origen (dominio, protocolo y puerto) a otro origen diferente al de la página web actualmente visualizada. Fue introducido para abordar los problemas de seguridad asociados con las solicitudes de recursos entre orígenes distintos en aplicaciones web.
Ataques de CSRF o Cross-Site Request Forgery
El Cross-Site Request Forgery (CSRF), también conocido como ataque de falsificación de solicitudes entre sitios, es un tipo de vulnerabilidad de seguridad en aplicaciones web que explota la confianza de un sistema en las solicitudes realizadas desde el navegador del usuario autenticado. En un ataque CSRF, un atacante engaña a un usuario autenticado para que realice una acción no deseada en un sitio web al aprovechar la sesión activa del usuario como por ejemplo, cambiar su dirección de correo electrónico, su contraseña o realizar una transferencia de dinero.
Conclusión: Necesitas un WAF, Y LO SABES. Y si no, echa un vistazo a nuestro vídeo.
Deja una respuesta