¿Es necesario un firewall de aplicación web si la aplicación es segura?

24

Recientemente he estado leyendo sobre cortafuegos de aplicaciones web y sobre el hecho de que protegen contra ataques más frecuentes como inyecciones, XSS o CSRF.

Sin embargo, una aplicación buena ya debería ser inmune a estas vulnerabilidades, entonces ¿por qué las empresas prefieren comprar esos dispositivos costosos para intentar proteger (WAFs tampoco es perfecto aplicaciones con fallas de seguridad en lugar de corregir esas fallas de seguridad en primer lugar?

Gracias por sus respuestas detalladas, nunca pensé que una pregunta de este tipo sería tan interesante.

    
pregunta Community 20.03.2014 - 17:46
fuente

9 respuestas

32

Al implementar la seguridad, a menudo es una buena idea aplicar varias capas. El hecho de que tenga una cerradura en la puerta de su habitación no significa que no ponga una en la puerta principal de su casa. También puede aplicar un conjunto genérico de reglas WAF delante de múltiples aplicaciones.

Un WAF puede ser parte de una suite más grande para IDS / IPS, también podría ayudar con el rendimiento de la aplicación si el WAF está en línea para que la aplicación no desperdicie recursos en el bloqueo, registro, consultas de db etc.

También supone que la organización tiene los recursos y la habilidad para obtener una seguridad razonable acerca de la seguridad de su aplicación. Si se trata de una aplicación de terceros o tiene módulos de terceros, es posible que esos componentes no se actualicen fácilmente o que sea una fuente cerrada o contra la licencia para modificar el programa.

    
respondido por el Eric G 20.03.2014 - 18:29
fuente
7

Muchas organizaciones se cargan con aplicaciones heredadas escritas por desarrolladores que hace mucho tiempo que desaparecieron, los WAF son una forma en que la organización se protege de los ataques contra esas aplicaciones.

Los WAF también son mucho más rápidos en la implementación de arreglos. La actualización de aplicaciones complejas puede demorar semanas o meses, ya menudo los WAF tienen su protección actualizada en horas.

También es costo versus beneficio, algunos WAF son muy buenos en la protección de aplicaciones, ¿por qué gastar millones reescribiendo aplicaciones heredadas que se eliminarán gradualmente en un año?

    
respondido por el GdD 20.03.2014 - 18:54
fuente
5

No, pero solo algunas aplicaciones son completamente seguras. Un WAF es una forma de mitigar los ataques antes de que realmente alcancen su aplicación. Además, puede identificar fácilmente usuarios malintencionados y bloquearlos automáticamente.

Los WAF no están diseñados para reparar su aplicación, están ahí para prevenir y, a veces, mitigar los ataques. Si su aplicación es segura, pero el lenguaje en el que está escrito no lo es, a veces se pueden tomar medidas atenuantes para evitar ataques hasta que se publique una solución.

    
respondido por el Lucas Kauffman 20.03.2014 - 17:49
fuente
3

Las organizaciones deben ver las capacidades que WAF puede proporcionar que las aplicaciones web tradicionales no proporcionan (o, por lo general, no están codificadas para proporcionar).

Por ejemplo, los WAF generalmente tienen algún tipo de mecanismo de "respuesta" incorporado. En caso de un ataque, pueden responder automáticamente para proteger la aplicación. Esto puede incluir protección contra fuerza bruta, DOS (hasta cierto punto) y prohibir solicitudes de ciertas direcciones IP. Podría codificar su aplicación para hacer esto, pero un WAF está en su perímetro. Es mejor detener el tráfico malicioso allí y luego más en su red. Además, un WAF basado en la red puede proteger varios sitios web, tal vez reduciendo el tiempo de desarrollo requerido.

Un beneficio clave es la detección de ataques / registros. Si su WAF está detectando un ataque, puede pasar esa información a una solución SIEM. El WAF tiene firmas para detectar ataques contra una variedad de backends, no solo el que creaste. Su personal de seguridad podría luego usar esa información para determinar el mejor curso de acción. Quizás lo correlacionan con otros ataques que están ocurriendo, etc.

Otra característica clave es que WAF se puede usar para proteger el servidor web y la aplicación web. Por ejemplo, los WAF se pueden configurar para detener los ataques de desbordamiento de búfer contra IIS. Su aplicación web no puede hacer esto.

Por último, los WAF se pueden usar para hacer "parches virtuales". Por ejemplo, supongamos que descubre que su aplicación web tiene un agujero de seguridad si se le envía una solicitud en particular. Usted podría, por supuesto, cambiar el código. Pero esto puede llevar tiempo (administración de cambios, lograr que el desarrollador escriba algo, realizar pruebas, etc.). Mientras espera un parche del equipo de desarrollo, se podría crear una firma para "proteger" el sitio web de ese vector de ataque.

Una cosa para agregar es la respuesta de @Lucas Kauffmans. La seguridad tiene que ver con las capas. No puede estar seguro de que su aplicación web está "completamente" segura. Agregar otra capa frente a eso no duele.

Los WAF han sido un tema candente desde que se introdujeron por primera vez con muchas personas de seguridad a ambos lados del debate "lo necesito / no lo necesito". Creo que todo se reduce a las capacidades que necesita para su situación dada.

    
respondido por el CtrlDot 20.03.2014 - 18:27
fuente
2

Los WAF son una reacción a la irresponsabilidad de permitir que todo se haga a nivel web. Póngalo de esta manera: anteriormente teníamos servicios que se ejecutaban en diferentes puertos. Muy pronto hubo la necesidad de crear cortafuegos para impedir que ciertos servicios se abrieran indiscriminadamente a cualquiera que deseara probarlos. Así que los servicios se filtraban y lo único que se le permitiría era, por ejemplo, a través del puerto 80. Entonces, ¿qué es lo que la gente comienza a hacer? Hacer que los servicios estén disponibles a través del puerto 80. Ahora tiene la opción de usar los servicios a través del puerto 80 que antes se filtrarían a través de un firewall normal en sus puertos específicos.

La historia parece repetirse: las personas crean servicios inseguros, las personas con mentalidad de seguridad implementan restricciones de seguridad, lo que hace que no sea fácil de usar, por lo que las personas intentan ir y abrir cosas a través de un medio diferente (en este caso, todo a través de 80 ”); esto, a su vez, obliga a las personas preocupadas por la seguridad a revisar el tema y, en este caso, tener que adaptar el firewall para la web también. Esta es una batalla constante entre la seguridad y la usabilidad.

Por lo tanto, preguntar si uno debería usar un WAF hoy en día es lo mismo que preguntar si se debería usar un firewall hace quince años.

    
respondido por el Lex 21.03.2014 - 12:54
fuente
2

No. De hecho, la implementación de un WAF aumenta la superficie de ataque haciendo que su infraestructura sea vulnerable ahora también a los ataques contra el WAF.

La implementación de un WAF es una medida pragmática porque supones que la aplicación puede tener vulnerabilidades contra las que el WAF puede proteger, pero aquí estamos en un campo donde nadie está completamente seguro de nada y los administradores hacen lo que creen correcto.

En mi opinión, lo realmente correcto es implementar en el sitio las medidas y los procesos de seguridad necesarios. Si tiene este control sobre el código de la aplicación y el proceso de desarrollo, no necesita un WAF. Pero esta situación no siempre es posible.

    
respondido por el kinunt 10.04.2014 - 09:53
fuente
0

Si es 100% seguro, no necesitarás un firewall en teoría. En la práctica, no puede estar 100% seguro de que la aplicación no es vulnerable. Debes dar a la aplicación solo los permisos que necesita. Al igual que usted tiene una aplicación de búsqueda, solo puede buscar una tabla determinada. No detendrá un ataque pero lo limitará.

    
respondido por el user1781498 22.03.2014 - 14:48
fuente
0

Notas sobre los ciclos de vida y el tiempo de implementación.

Como se mencionó anteriormente, los Ciclos de vida de las aplicaciones tienen un impacto en el tiempo para solucionar sustancialmente.

Las aplicaciones web en una corporación u otra organización vienen en todas las formas y tamaños.

  • Comercial listo para usar, actualmente bajo soporte activo.
  • Comercial listo para usar, versiones anteriores y obsoletas.
  • Comercial listo para usar, no admitido por el proveedor.
  • Desarrollo propio, actualmente bajo soporte activo.
  • Desarrollado por mí mismo pero sin equipo de soporte o soporte externo con costos incurridos.
  • Código abierto sin acuerdo de soporte / sin parches.
  • Aplicación web personalizada sin acuerdos de soporte actuales.

Y la aplicación web puede tener diferentes usos en una organización.

  • Sistema crítico / básico.
  • Sistema importante.
  • Sistema de una sola vez sin importancia actual.
  • Sistema heredado sin propietario de negocio claro.
  • Implementación rápida y sucia sin supervisión de la administración.

Por lo tanto, con todas esas variables puede llevar mucho tiempo / mucho esfuerzo:

  • Investigue los problemas de seguridad y la ruta de actualización, determine el impacto de la actualización.
  • Inicie un equipo de desarrollo / acuerde un contrato / obtenga financiación empresarial.
  • Llegue a la velocidad en la aplicación.
  • Obtenga la solución de seguridad desarrollada / probada y la regresión probada.
  • Luego, para implementarlo, garantizar arreglos de soporte, etc.

Por lo tanto, el uso de un firewall de aplicación web puede atravesar todas esas capas e implementar una solución rápidamente sin mucho dinero / tiempo / esfuerzo.

    
respondido por el Andrew Russell 23.03.2014 - 21:32
fuente
0

Siempre, WaF'a agrega una capa adicional de seguridad que se puede actualizar a medida que se descubren nuevas vulnerabilidades ... su aplicación puede estar segura hoy pero rota mañana

    
respondido por el Sam Aldis 10.04.2014 - 10:47
fuente

Lea otras preguntas en las etiquetas