Configurar una expresión clásica

Las expresiones clásicas constan de los siguientes elementos de expresión, enumerados en orden jerárquico:

  • Tipo de flujo. Especifica si la conexión es entrante o saliente. El tipo de flujo es REQ para las conexiones entrantes y RES para las conexiones salientes.
  • Protocolo. Especifica el protocolo, cuyas opciones son HTTP, SSL, TCP e IP.
  • Calificador. El atributo protocol, que depende del protocolo seleccionado.
  • Operadora. Tipo de prueba que quiere realizar en los datos de conexión. La elección del operador depende de la información de conexión que esté probando. Si la información de conexión que está probando es texto, utilice operadores de texto. Si se trata de un número, se utilizan operadores numéricos estándar.
  • Valor. Cadena o número con el que se prueba el elemento de datos de conexión, definido por el tipo de flujo, el protocolo y el calificador. El valor puede ser un literal o una expresión. El literal o expresión debe coincidir con el tipo de datos del elemento de datos de conexión.

En una directiva, las expresiones clásicas se pueden combinar para crear expresiones más complejas mediante operadores booleanos y comparativos.

Los elementos de expresión se analizan de izquierda a derecha. El elemento más a la izquierda es REQ o RES y designa una solicitud o una respuesta, respectivamente. Los términos sucesivos definen un tipo de conexión específico y un atributo específico para ese tipo de conexión. Cada término está separado de cualquier término anterior o siguiente por un período. Los argumentos aparecen entre paréntesis y siguen el elemento de expresión al que se pasan.

El siguiente fragmento de expresión clásica devuelve la IP de origen del cliente para una conexión entrante.

REQ.IP.SOURCEIP

El ejemplo identifica una dirección IP en una solicitud. El elemento de expresión SOURCEIP designa la dirección IP de origen. Este fragmento de expresión puede no ser útil por sí mismo. Puede utilizar un elemento de expresión adicional, un operador, para determinar si el valor devuelto cumple criterios específicos. La siguiente expresión comprueba si la IP del cliente está en la subred 200.0.0.0/8 y devuelve un valor booleano TRUE o FALSE:

REQ.IP.SOURCEIP == 200.0.0.0 -netmask 255.0.0.0

Crear una expresión de directiva clásica mediante la CLI

En el símbolo del sistema, escriba los siguientes comandos para establecer los parámetros y verificar la configuración:

-  set appfw policy <name> -rule <expression> -action <action>  

-  show appfw policy <name>  

Ejemplo

> set appfw policy GenericApplicationSSL_ 'HTTP.REQ.METHOD.EQ("get")' APPFW_DROP
 Done
> show appfw policy GenericApplicationSSL_
        Name: GenericApplicationSSL_    Rule: HTTP.REQ.METHOD.EQ("get")
        Profile: APPFW_DROP     Hits: 0
        Undef Hits: 0
        Policy is bound to following entities
        1) REQ VSERVER app_u_GenericApplicationSSLPortalPages   PRIORITY : 100
 Done

Agregue una expresión para una directiva clásica mediante la interfaz gráfica de usuario

Este procedimiento documenta el cuadro de diálogo Agregar expresión. Dependiendo de la función para la que esté configurando una directiva, la ruta por la que se llega a este cuadro de diálogo puede ser diferente.

  1. Realice los pasos 1-4 en “[Para crear una directiva con expresiones clásicas mediante la GUI.

  2. En el cuadro de diálogo Agregar Expression, en Tipo de expresión, haga clic en el tipo de expresión que quiera crear.

  3. En Tipo de flujo, haga clic en la flecha hacia abajo y elija un tipo de flujo.

    El tipo de flujo suele ser REQ o RES. La opción REQ especifica que la directiva se aplica a todas las conexiones o solicitudes entrantes. La opción RES aplica la directiva a todas las conexiones o respuestas salientes.

    Para las directivas de Firewall de aplicaciones, debe dejar el tipo de expresión establecido en Expresión general y el tipo de flujo establecido en REQ. Application Firewall trata cada solicitud y respuesta como una única entidad emparejada, por lo que todas las directivas de Application Firewall comienzan con REQ.

  4. En Protocolo, haga clic en la flecha hacia abajo y elija el protocolo que quiera para la expresión de directiva. Las opciones disponibles son:

    • HTTP. Evalúa las solicitudes HTTP que se envían a un servidor web. Para expresiones clásicas, HTTP incluye solicitudes HTTPS.
    • SSL. Evalúa los datos SSL asociados a la conexión actual.
    • TCP. Evalúa los datos TCP asociados a la conexión actual.
    • IP. Evalúa las direcciones IP asociadas a la conexión actual.
  5. En Calificador, haga clic en la flecha hacia abajo y elija un calificador para la directiva.

    El calificador define el tipo de datos a evaluar. La lista de calificadores que aparece depende del protocolo seleccionado en el paso 4.

    Aparecen las siguientes opciones para el protocolo HTTP:

    • MÉTODO. Filtra las solicitudes HTTP que utilizan un método HTTP determinado.
    • URL. Filtra las solicitudes HTTP para una página web específica.
    • URLQUERY. Filtra las solicitudes HTTP que contienen una cadena de consulta concreta.
    • VERSIÓN. Filtra las solicitudes HTTP sobre la base de la versión del protocolo HTTP especificada.
    • ENCABEZADO. Filtra sobre la base de un encabezado HTTP determinado.
    • URLLEN. Filtra en función de la longitud de la URL.
    • URLQUERY. Filtra sobre la base de la parte de consulta de la URL.
    • URLQUERYLEN. Filtra únicamente en función de la longitud de la parte de consulta de la URL.
  6. En Operador, haga clic en la flecha hacia abajo y elija el operador para la expresión de directiva. Algunos operadores comunes son:

    Operador Descripción
    == Coincide exactamente con el valor especificado o es exactamente igual al valor especificado.
    != No coincide con el valor especificado.
    > Es mayor que el valor especificado.
    < Es menor que el valor especificado.
    >= Es mayor o igual que el valor especificado.
    <= Es menor o igual que el valor especificado.
    Contiene: Contiene el valor especificado.
    INDICE (continuación) Devuelve el contenido del encabezado designado, URL o consulta URL.
    EXISTE El encabezado o consulta especificado existe.
    NO CONTIENE No contiene el valor especificado.
    NOTEXISTE El encabezado o consulta especificado no existe.
  7. Si aparece un cuadro de texto Valor, escriba una cadena o un valor numérico, según corresponda. Por ejemplo, elija REQ como Tipo de flujo, HTTP como Protocolo y HEADER como calificador y, a continuación, escriba el valor de la cadena de encabezado en el campo Valor y el tipo de encabezado para el que quiere que coincida con la cadena en el cuadro de texto Nombre de encabezado.

  8. Haga clic en Aceptar.

  9. Para crear una expresión compuesta, haga clic en Agregar. Tenga en cuenta que el tipo de composición que se realiza depende de las siguientes opciones del cuadro de diálogo Crear directiva:

    • Coincidir con cualquier expresión. Las expresiones están en una relación OR lógica.
    • Hacer coincidir todas las expresiones. Las expresiones están en una relación lógica AND.
    • Expresiones tabulares. Haga clic en los botones Y, O y paréntesis para controlar la evaluación.
    • Forma libre avanzada. Introduzca los componentes de expresiones directamente en el campo Expresión y haga clic en los botones Y, O y paréntesis para controlar la evaluación.