Citrix ADC

Directivas de Web App Firewall

Una directiva de firewall es una regla asociada a un perfil. La regla es una expresión o grupo de expresiones que definen los tipos de pares de solicitud/respuesta que el Web App Firewall debe filtrar aplicando el perfil. Las expresiones de directiva de firewall se escriben en el lenguaje de expresiones Citrix ADC, un lenguaje de programación orientado a objetos con funciones especiales para admitir funciones específicas de Citrix ADC. El perfil es el conjunto de acciones que el Web App Firewall va a utilizar para filtrar los pares de solicitud/respuesta que coincidan con la regla.

Las directivas de firewall permiten asignar diferentes reglas de filtrado a diferentes tipos de contenido web. No todos los contenidos web son iguales. Un sitio web sencillo que no utilice scripts complejas y acceda a datos privados y que no se ocupa de ellos puede requerir solo el nivel de protección proporcionado por un perfil creado con valores predeterminados básicos. El contenido web que contiene formularios web mejorados con JavaScript o que accede a una base de datos SQL probablemente requiera una protección más personalizada. Puede crear un perfil diferente para filtrar ese contenido y crear una directiva de firewall independiente que pueda determinar qué solicitudes intentan acceder a ese contenido. A continuación, asociará la expresión de directiva con un perfil creado y enlazará globalmente la directiva para aplicarla.

Web App Firewall procesa solo las conexiones HTTP y, por tanto, utiliza un subconjunto del lenguaje general de expresiones Citrix ADC. La información aquí se limita a temas y ejemplos que pueden ser útiles al configurar el Web App Firewall. A continuación se presentan vínculos a información adicional y procedimientos para las directivas de firewall:

Nota

Web App Firewall evalúa las directivas en función de la prioridad configurada y las expresiones goto. Al final de la evaluación de la directiva, se utiliza la última directiva que se evalúa como true y se invoca la configuración de seguridad del perfil correspondiente para procesar la solicitud.

Por ejemplo, considere un caso en el que hay 2 directivas.

  • Policy_1 es una directiva genérica con expresión=NS_true y tiene un perfile_1 correspondiente que es un perfil básico. La prioridad se establece en 100.
  • Policy_2 es más específico con expresión=http.req.url.contains (“XYZ”) y tiene un profile_2 correspondiente que es un perfil avanzado. La expresión GoTo se establece en NEXT y la prioridad se establece en 95, que es una prioridad más alta en comparación con Policy_1.

En este caso, si se detecta la cadena de destino “XYZ” en la dirección URL de la solicitud procesada, se activa la coincidencia de Policy_2 ya que tiene una prioridad más alta aunque Policy_1 también es una coincidencia. Sin embargo, según la configuración de la expresión GoTo de Policy_2, la evaluación de la directiva continúa y también se procesa la directiva siguiente_1. Al final de la evaluación de directivas, Policy_1 se evalúa como true y se invocan las comprobaciones de seguridad básicas configuradas en Profile_1.

Si Policy_2 se modifica y la expresión GoTo se cambia de NEXT a END, la solicitud procesada que tiene la cadena de destino “XYZ”, desencadena la coincidencia Policy_2 debido a la consideración de prioridad y según la configuración de expresión GoTo, finaliza la evaluación de la directiva en este punto. Policy_2 se evalúa como true y se invocan las comprobaciones de seguridad avanzadas configuradas en Profile_2.

NEXT END La evaluación de las directivas se realiza en una sola pasada. Una vez completada la evaluación de directivas para la solicitud y se invocan las acciones de perfil correspondientes, la solicitud no pasa por otra ronda de evaluación de directivas.

Directivas de Web App Firewall