BLOG

Equilibrio entre seguridad y rendimiento con Web Application Firewalls

Miniatura de Lori MacVittie
Lori MacVittie
Publicado el 26 de marzo de 2018
  • La seguridad es importante, pero también lo es el rendimiento.
  • Más de la mitad (57 %) de las organizaciones utilizan firewalls de aplicação web para proteger las aplicaciones en la nube y en las instalaciones (State of Aplicação Delivery 2018)
  • Escanear una respuesta saliente es una de las últimas oportunidades para detectar una infracción en curso y detenerla. 
  • Se puede tener “demasiado de algo bueno”. Considere cuidadosamente cómo equilibrar la seguridad con el rendimiento para optimizar ambos. 

Nosotros (como todos) sabemos lo importante que es el rendimiento para el éxito continuo del negocio digital. Si bien quienes crecimos con conexiones telefónicas y descargas que duran horas tendemos a ser más indulgentes en lo que respecta al rendimiento, nuestros hijos nativos digitales no son tan generosos. Esperan respuestas instantáneas y descargas rápidas.

La prueba de nuestra impaciencia está en los números: más del 80% de nosotros hemos eliminado una aplicação debido a su bajo rendimiento . Algunos de nosotros –tres de cada diez– incluso estamos dispuestos a pagar por el privilegio de que nuestras aplicaciones sean increíblemente rápidas.

Pero somos difíciles de complacer, sin importar de qué generación tecnológica provenimos. No te atrevas a ignorar la seguridad mientras haces que esa aplicación vaya más rápida. Si lo hace y nuestros datos se ven vulnerados, haremos más que simplemente eliminar su aplicación.

Corresponde entonces a los profesionales de TI –en particular a aquellos que se dedican a la seguridad– equilibrar la demanda de rendimiento con la necesidad de seguridad. Las aplicaciones deben ser rápidas y seguras.

Una de las formas en que más de la mitad de las organizaciones logran aplicaciones más seguras es mediante el uso de un firewall de aplicação web (WAF), entre otros servicios de aplicação , para proteger las aplicações contra ataques. Lo hacen de dos maneras:

En primer lugar, escanean las solicitudes entrantes para detectar cualquier actividad maliciosa. En segundo lugar, inspeccionan las respuestas salientes. No sorprende que las organizaciones que siempre aplican estas tácticas de seguridad se encuentren entre las que tienen mayor confianza en resistir un ataque de aplicação .

Usando un WAF puedes inspeccionar hasta el último bit de una solicitud y una respuesta. Puedes analizar, separar, tergiversar y modificar el contenido como quieras.

Pero sólo porque puedas hacerlo no significa que debas hacerlo.

La seguridad no es gratuita. Se necesitan ciclos de CPU y memoria para inspeccionar el tráfico de la aplicação con el tipo de atención necesaria para encontrar ataques o evidencia de una violación.

Por eso es importante equilibrar la seguridad con el rendimiento. Cada microsegundo adicional que usted pasa escaneando o depurando es un microsegundo adicional que los usuarios deben esperar para obtener esa respuesta.

Y se suman.

Después de todo, es una cuestión de física que los paquetes tarden una cierta cantidad de microsegundos en atravesar una red y regresar. Se necesitan unos pocos microsegundos más para establecer una conexión. Faltan unos cuantos para procesar… ya te haces una idea. Todo lo que haces lleva tiempo, y cuanto más tiempo tardes, más impacientes se volverán tus usuarios.

Algunos, tradicionalmente, han tirado al bebé junto con el agua de la bañera cuando se trata de este conflicto. Desactivan la seguridad hasta que el rendimiento sea aceptable. Pero esa no es la respuesta correcta. Existe un equilibrio que puede satisfacer tanto la necesidad de seguridad como la demanda de rendimiento.

Si lo solicita, no dude en realizar análisis y verificación a nivel de protocolo. Inspeccione la carga útil y busque cualquier señal de ataque. Opte primero por los escaneos basados en firmas y después por las comparaciones basadas en texto. Los escaneos basados en firmas, cuando es posible, mejoran el rendimiento de la seguridad porque no es necesario analizar ni comparar. Es sólo una comparación directa y es un proceso bastante rápido. 

En cuanto a la respuesta, no sucumba a la tentación de analizar y poner el contenido bajo el microscopio. Aquí debe haber cierto nivel de confianza con los desarrolladores respecto de que el JSON esté formateado correctamente o que el XML siga el esquema apropiado. Seamos realistas, si hay un error de protocolo o formato, el usuario lo descubrirá. Esto es una preocupación de los desarrolladores; generalmente no supone un riesgo de seguridad.

Lo que constituye un riesgo de seguridad es la inclusión de datos sensibles: números de tarjetas de crédito o de cuentas, números de seguro social o direcciones de correo electrónico, por ejemplo. Números y datos con patrones bien definidos que pueden escanearse y ocultarse rápidamente en los datos. Al igual que los escaneos basados en firmas, aquí se realiza una comparación de patrones y los servicios de seguridad se han vuelto muy buenos en realizarlos lo más rápido posible.

La longitud del contenido también es algo que querrás verificar, si puedes. Se pudieron identificar varios exploits de alto perfil simplemente por la cantidad de contenido devuelto. Si sabes que una solicitud específica solo debe devolver alrededor de 1K de datos, entonces una respuesta de 4K probablemente debería hacer sonar las alarmas en alguna parte. Es una comprobación sencilla que requiere mucho menos tiempo que analizar y contar registros de datos.

Una buena regla general es obedecer siempre la regla de seguridad cero en la solicitud y verificar todo lo que pueda cuando haya información del usuario presente. En el tráfico de salida, busque indicadores de una violación en curso y oculte los datos confidenciales, pero no pierda tiempo preocupándose por los formatos de datos y el cumplimiento del esquema. Deje que los desarrolladores se preocupen de si formatearon la respuesta correctamente. Esto es competencia de ellos, no tuya.

La seguridad y el rendimiento se pueden equilibrar, siempre y cuando no se sacrifique uno por el otro. Y eso significa en ambas direcciones. No sacrifique la seguridad por el rendimiento, pero tampoco descuide el rendimiento por el bien de la seguridad (potencialmente innecesaria).

Si utiliza la seguridad estratégicamente para evitar la explotación y detectar infracciones, puede lograr el equilibrio con el rendimiento que necesita para mantener a los usuarios contentos y los datos y las aplicações seguros.