Prácticas recomendadas relativas al firewall de aplicaciones web (WAF)
Lo normal es que cada herramienta quede a cargo de un equipo específico, como ocurre con los WAF.
El equipo de seguridad de aplicaciones suele ser el que propone el uso del firewall de aplicaciones web, pero, al ser una herramienta fundamental, puede beneficiar a todos los grupos que forman parte del proceso de DevOps. De hecho, los WAF son la tecnología que más se está adoptando en los equipos de DevOps. Según una encuesta realizada a más de 5000 creadores de aplicaciones, esta herramienta de seguridad se utiliza en más de la mitad de las prácticas de DevOps de equipos principiantes y relativamente experimentados, mientras que su uso supone un 59 % en equipos más expertos.
El uso generalizado de los WAF no es nada sorprendente, ya que los firewall de aplicaciones web ofrecen ventajas importantes al equipo de DevOps: protegen las aplicaciones, ofrecen a los desarrolladores y al equipo de operaciones mejor visibilidad de las amenazas en tiempo de ejecución y permiten a los equipos de seguridad implementar parches virtuales para evitar que alguien saque partido de una vulnerabilidad que todavía no se ha corregido.
Entonces, ¿cómo deben usar los WAF los equipos de DevOps para sacarles el máximo partido? A continuación, tienes una serie de prácticas recomendadas sobre su uso.
1. Pon el WAF delante de todas las API
Los WAF permiten a las empresas obtener visibilidad sobre el estado del tiempo de ejecución de las aplicaciones y conocer el tipo de peticiones y ataques que pueden afectar a su software. Por tanto, los WAF modernos deberían situarse por delante de todas las aplicaciones que se encuentran expuestas a internet y entre contenedores dentro de una arquitectura de microservicios o basada en API.
Las empresas que solo cuentan con una cobertura escasa para su catálogo de aplicaciones pierden mucha visibilidad de las amenazas contra sus aplicaciones. Los análisis, registros y datos sobre el WAF que provienen de otros recursos se pueden combinar para que la empresa cuente con información detallada sobre errores de ejecución de las aplicaciones y ataques actuales.
Los equipos de DevOps modernos prestan cada vez más atención a la observabilidad. De hecho, la probabilidad de que los equipos más experimentados (también conocidos como los «equipos de mayor rendimiento») automaticen e integren los ataques y registros de supervisión en sus procesos es cuatro veces mayor que en el caso de los equipos de menor rendimiento o menos experimentados.
2. Integra la seguridad en tu código
Si se usa un enfoque de seguridad como código, los desarrolladores serán capaces de comunicar a la infraestructura de la aplicación estimaciones sobre la seguridad del tiempo de ejecución en la fase de despliegue. Por otro lado, es posible mejorar la eficiencia al limitar los tipos de peticiones que tiene que procesar una aplicación, lo cual permite preprocesar las entradas en el edge de la infraestructura de la aplicación en lugar de dentro de la propia aplicación.
Además, los WAF modernos ofrecen más opciones a los equipos para enfrentarse a las amenazas. Por ejemplo, se pueden bloquear las vulnerabilidades más complejas que no se puedan solucionar con cambios básicos para que los atacantes no se aprovechen de estas. Y, para bloquearlas, es necesario crear un parche virtual que se pueda desplegar en el WAF.
3. Prueba constantemente los cambios del WAF
Los WAF configurados en modo «registro y bloqueo» corren el riesgo de provocar fallos en las aplicaciones si no se prueban los cambios y actualizaciones del WAF como es debido. Por desgracia, las pruebas de seguridad y rendimiento automatizadas son el proceso de automatización con menor probabilidad de ser adoptado por los equipos de DevOps. Solo el 18 % de los equipos de DevOps de bajo rendimiento usan las pruebas de rendimiento automatizadas y tan solo el 15 % utiliza las pruebas de seguridad automatizadas. También es poco probable que los equipos de mayor rendimiento automaticen las pruebas. Según el grupo de evaluación e investigación de DevOps de Google, estos equipos han adoptado las dos formas de realizar pruebas automatizadas de rendimiento y seguridad en un 28 % y un 31 %, respectivamente.
Los grupos que sí hacen pruebas normalmente integran el WAF como componente de la aplicación en el proceso de prueba. Al igual que sucede con las aplicaciones, puede resultar útil conocer cualquier impacto potencial que las herramientas de seguridad puedan provocar antes de aplicar el cambio en producción.
4. Consigue apoyos para tomar decisiones relacionadas con el WAF
Aunque en el pasado los equipos de operaciones han ejercido presión para incorporar DevOps, los desarrolladores están impulsando la transición a la metodología ágil. Sin embargo, independientemente de quién haya impulsado la adopción de DevOps, tanto los grupos de desarrollo como de operaciones tienen que ser conscientes de los riesgos que su negocio está dispuesto a asumir. En el caso de las aplicaciones sin datos de usuario almacenados y que no procesan las transacciones, el WAF puede funcionar de manera muy estricta y bloquear peticiones sospechosas.
Sin embargo, en el caso de una empresa cuya aplicación web sea su propio negocio (por ejemplo, un retailer online), puede ser necesario un esfuerzo adicional para poner a punto el WAF, ya que el bloqueo de clientes potenciales y legítimos puede provocar pérdidas para el negocio.
Por eso, es crucial trabajar con los ejecutivos de la empresa para definir la estrategia general del WAF y los criterios que deben seguirse en la toma de decisiones.
Si se usan adecuadamente, los WAF modernos son tremendamente útiles para los grupos de DevOps. Por ejemplo, se obtiene mejor información, se agilizan las implementaciones y respuestas de seguridad y se traslada parte de la responsabilidad de la configuración de seguridad. Un proceso avanzado de DevOps supone grandes ventajas al ciclo de vida de desarrollo de software. Según el informe de DORA de Google, un grupo experimentado puede desplegar código con una frecuencia 200 veces superior en comparación con los grupos de menor rendimiento. Además, si se producen incidentes, los equipos con mayor experiencia podrán solucionarlo en una hora, mientras que los de menor rendimiento necesitarán semanas.
Los WAF deben desplegarse correctamente para aumentar su eficacia, y estas prácticas recomendadas pueden resultar útiles para ello.