Los ADCs y la entrega de aplicaciones
Internet ha madurado rápidamente desde simples sitios web estáticos a un entorno que aloja aplicaciones complejas, potentes y dinámicas. Se han logrado mejoras significativas en el rendimiento de las aplicaciones web y en su escalabilidad, mediante la adopción de técnicas como la transferencia de estado representacional (REST), JavaScript Asíncrono y XML (AJAX), junto con la caché ubicua de contenidos – todo ello se usa ahora de forma habitual para crear aplicaciones increíbles en el dispositivo cliente. Hay ejemplos pioneros tales como Google Maps, que inició esta revolución alrededor de 2005, ilustrando todo lo que podría lograrse en un simple entorno de un navegador y comenzando un cambio importante hacia front-ends de puras aplicaciones web que son muy dinámicas. Estas mejoras en la capacidad de respuesta de las aplicaciones web son un habilitador clave en este momento para el cloud computing, el comercio electrónico y las mejoras relacionadas con el diseño y optimización de los centros de proceso de datos.
Junto con el crecimiento y la dependencia de las aplicaciones web de misión crítica, hay otras dos tendencias que necesitan ser entendidas y reconocidas para decidir hacia dónde se dirigen las mejores prácticas de seguridad. La primera es la virtualización y las tecnologías relacionadas con clustering, que juntas han tenido un profundo impacto sobre la informática. La segunda es el cloud computing, que depende en gran medida de la virtualización, con la capacidad de gestionar rápidamente aplicaciones bajo demanda a través de varios servidores y bases de datos para crear aplicaciones muy escalables que sirven miles o cientos de miles de usuarios simultáneamente, todo sobre un modelo de pago por uso.
Sin embargo, cada vez más, los grupos hacktivistas, los Estados, el espionaje corporativo, pueden perfectamente parar una de estas aplicaciones, que dan servicio a miles de usuarios, remotamente, sin ningún conocimiento o habilidades en ese dominio específico. Estos ataques de denegación de servicio (DoS) a gran escala están en aumento y actualmente se engloban en dos grandes campos. Los primeros son los ataques que tienen como objetivo arrasar al objetivo con mucho tráfico al cual es incapaz de hacer frente, por ejemplo los ataques clásicos a nivel 4 tales como inundación mediante SYN o inundación ICMP. Los segundos son los ataques más sofisticados que pretenden engañar a las aplicaciones consumiendo lentamente recursos, agotando finalmente sesiones y procesos legítimos de los usuarios – por ejemplo, los ataques más recientes a nivel 7 como Slowloris.
Los llamados ADCs (controladores de entrega de aplicaciones) se ubican en la frontera entre los centros de proceso de datos que sirven las aplicaciones web e Internet en su sentido más amplio, actuando efectivamente como un proxy de balanceo de carga y caché inteligente para las transacciones de aplicación y su contenido. Los ADC tienen una visión completa de la pila completa de mensajes (L1-L7) –sin cifrar y (si procede) cifrados – y habitualmente están implicados en la manipulación de paquetes en aspectos como las direcciones IP, el mapeo de puertos y la reescritura de URL.
Mientras que el uso más obvio de los ADCs es el balanceo de carga, la alta disponibilidad (HA) y el cacheado de contenidos en los servidores de aplicaciones, debido a esta posición privilegiada de confianza y supervisión en la topología de red, se está haciendo cada vez más común para los ADCs el hecho de proporcionar características de valor añadido de seguridad y rendimiento para mejorar la disponibilidad y la seguridad de la información. Estas características de seguridad incluyen el proceso externo del tráfico SSL, la intercepción SSL, la autenticación previa, un cortafuegos de aplicaciones web (WAF) y la mitigación de ataques de denegación de servicio distribuida (DDoS). Típicamente, un ADC de alta gama también incluirá scripting personalizado para permitir la inspección profunda de paquetes (DPI) y la gestión tanto de la información del tráfico como del punto final.
En el contexto de centros de proceso de datos que sirven aplicaciones para dar servicio a miles de usuarios es donde la función de los dispositivos ADC, ubicados frente a los servidores críticos, es ideal para esta función de soporte de protección DDoS, un papel que una solución basada solo en software encontraría abrumadora. La última generación de dispositivos ADC incorpora de forma habitual hardware dedicado ASICs (o chips programables llamados FPGAs) para poder analizar los paquetes a la misma velocidad a la que viajan por el cable de red para lidiar con los ataques volumétricos. Además, como ya hemos visto, algunos de estos ataques DDoS se están volviendo tan sutiles que un conocimiento profundo de los protocolos y las aplicaciones es la única manera de determinar la causa raíz de modo que se puedan elaborar modos de mitigación.
El ADC por lo tanto actúa como una herramienta estratégica y táctica en el contexto de seguridad, entendiendo el funcionamiento íntimo de las aplicaciones y trabajando en conjunto con sistemas convencionales de detección/prevención de intrusiones, antivirus y cortafuegos.