Creación y configuración de directivas de Web App Firewall

Una directiva de firewall consta de dos elementos: una reglay un perfilasociado. La regla selecciona el tráfico HTTP que coincide con los criterios establecidos y envía ese tráfico al Web App Firewall para su filtrado. El perfil contiene los criterios de filtrado que utiliza Web App Firewall.

La regla de directiva consta de una o más expresiones en el lenguaje de expresiones Citrix ADC. La sintaxis de expresiones Citrix ADC es un potente lenguaje de programación orientado a objetos que le permite designar con precisión el tráfico que quiere procesar con un perfil específico. Para los usuarios que no están completamente familiarizados con la sintaxis del lenguaje de expresiones Citrix ADC o que prefieren configurar su dispositivo Citrix ADC mediante una interfaz basada en web, la GUI proporciona dos herramientas: el menú Prefijo y el cuadro de diálogo Agregar expresión. Ambos le ayudan a escribir expresiones que seleccionan exactamente el tráfico que quiere procesar. Los usuarios experimentados que estén completamente familiarizados con la sintaxis pueden preferir usar la línea de comandos de Citrix ADC para configurar sus dispositivos Citrix ADC.

Nota: Además de la sintaxis de expresiones predeterminadas, el sistema operativo Citrix ADC admite la sintaxis de expresiones clásicas de Citrix ADC en dispositivos Citrix ADC Classic y nCore y dispositivos virtuales. Las expresiones clásicas no se admiten en los dispositivos Citrix ADC Cluster ni en los dispositivos virtuales. Los usuarios actuales de Citrix ADC que quieran migrar configuraciones existentes al clúster Citrix ADC deben migrar las directivas que contengan expresiones clásicas a la sintaxis de expresiones predeterminadas.

Para obtener información detallada sobre los lenguajes de expresiones Citrix ADC, consulte Directivas y expresiones.

Puede crear una directiva de firewall mediante la GUI o la línea de comandos de Citrix ADC.

Para crear y configurar una directiva mediante la interfaz de línea de comandos

En el símbolo del sistema, escriba los siguientes comandos:

  • add appfw policy <name><rule> <profileName>
  • save ns config

Ejemplo

En el ejemplo siguiente se agrega una directiva denominada pl-blog, con una regla que intercepta todo el tráfico hacia o desde el host blog.example.com, y se asocia esa directiva con el perfil pr-blog. Esta es una directiva adecuada para proteger un blog alojado en un nombre de host específico.

add appfw policy pl-blog "HTTP.REQ.HOSTNAME.DOMAIN.EQ("blog.example.com")" pr-blog

Para crear y configurar una directiva mediante la interfaz gráfica de usuario

  1. Vaya a Seguridad > Web App Firewall > Directivas.

  2. En el panel de detalles, realice una de las acciones siguientes:

    • Para crear una nueva directiva de firewall, haga clic en Agregar. Se muestra la directiva Crear servidor de seguridad de aplicaciones web.
    • Para modificar una directiva de firewall existente, selecciónela y, a continuación, haga clic en Modificar.

    Se muestra la directiva Crear Web App Firewall de seguridad de aplicaciones web o Configurar directiva de firewall de aplicaciones web.

  3. Si está creando una nueva directiva de firewall, en el cuadro de diálogo Crear directiva de Web App Firewall, cuadro de texto Nombre de directiva, escriba un nombre para la nueva directiva.

    El nombre puede comenzar con una letra, un número o un símbolo de subrayado, y puede constar de una a 128 letras, números y los símbolos de guión (-), punto (.) libra (#), espacio (), en (@), igual (=), dos puntos (:) y guión bajo (_).

    Si está configurando una directiva de firewall existente, este campo es de solo lectura. No se puede modificar.

  4. Seleccione el perfil que quiere asociar a esta directiva en la lista desplegable Perfil. Puede crear un perfil nuevo para asociarlo a la directiva haciendo clic en Nuevo y modificar un perfil existente haciendo clic en Modificar.

  5. En el área de texto Expresión, cree una regla para la directiva.

    • Puede escribir una regla directamente en el área de texto.
    • Puede hacer clic en Prefijo para seleccionar el primer término de la regla y seguir las instrucciones. Consulte [To Create an Web App Firewall Rule (Expression)](/en-us/netscaler/ns-gen-Citrix ADC11-wrapper-con/ns-gen-appsec-wrapper-10-con/appfw-wrapper-con-10/appfw-policies-con/appfw-policies-firewall-tsk/appfw-policies-firewall-configuring-tsk.html)\ para obtener una descripción completa de este proceso.
    • Puede hacer clic en Agregar para abrir el cuadro de diálogo Agregar expresión y utilizarlo para construir la regla. Consulte [The Add Expression Dialog Box](/en-us/netscaler/ns-gen-Citrix ADC11-wrapper-con/ns-gen-appsec-wrapper-10-con/appfw-wrapper-con-10/appfw-policies-con/appfw-policies-firewall-tsk/appfw-policies-firewall-configuring-tsk.html para obtener una descripción completa de este proceso.
  6. Haga clic en Crear o Aceptar y, a continuación, haga clic en Cerrar.

Para crear o configurar una regla de Web App Firewall (expresión)

La regla de directiva, también denominada expresión, define el tráfico web que filtra el Web App Firewall mediante el perfil asociado a la directiva. Al igual que otras reglas de directivas de Citrix ADC (o expresiones), las reglas de Web App Firewall utilizan la sintaxis de expresiones Citrix ADC. Esta sintaxis es potente, flexible y extensible. Es demasiado complejo para describir completamente en este conjunto de instrucciones. Puede utilizar el siguiente procedimiento para crear una regla de directiva de firewall simple o puede leerla como una descripción general del proceso de creación de directivas.

  1. Si aún no lo ha hecho, desplácese hasta la ubicación adecuada en el Asistente para Web App Firewall o en la GUI de Citrix ADC para crear la regla de directiva:

    • Si está configurando una directiva en el Asistente para Web App Firewall, en el panel de exploración, haga clic en Web App Firewall y, a continuación, en el panel de detalles, haga clic en Asistente para Web App Firewall y, a continuación, vaya a la pantalla Especificar regla.
    • Si está configurando una directiva manualmente, en el panel de exploración, expanda Web App Firewall, Directivasy, a continuación, Firewall. En el panel de detalles, para crear una nueva directiva, haga clic en Agregar. Para modificar una directiva existente, selecciónela y, a continuación, haga clic en Abrir.
  2. En la pantalla Especificar regla, en el cuadro de diálogo Crear perfil de Web App Firewall o en el cuadro de diálogo Configurar perfil de firewall de aplicaciones web, haga clic en Prefijo y, a continuación, elija el prefijo de la expresión en la lista desplegable. Las opciones disponibles son:

    • HTTP. El protocolo HTTP. Elija esto si quiere examinar algún aspecto de la solicitud que pertenece al protocolo HTTP.
    • SYS. Los sitios web protegidos. Elija esta opción si quiere examinar algún aspecto de la solicitud que pertenece al destinatario de la solicitud.
    • CLIENT. El equipo que envió la solicitud. Elija esto si quiere examinar algún aspecto del remitente de la solicitud.
    • SERVER. El equipo al que se envió la solicitud. Elija esto si quiere examinar algún aspecto del destinatario de la solicitud.

    Después de elegir un prefijo, Web App Firewall muestra una ventana de solicitud de dos partes que muestra las posibles opciones siguientes en la parte superior y una breve explicación de lo que significa la opción seleccionada en la parte inferior.

  3. Elija su próximo mandato.

    Si eligió HTTP como prefijo, su única opción es REQ, que especifica el par Request/Response. (El Web App Firewall funciona en la solicitud y respuesta como una unidad en lugar de en cada una por separado.) Si elige otro prefijo, sus opciones son más variadas. Para obtener ayuda sobre una opción específica, haga clic en esa opción una vez para mostrar información sobre ella en la ventana de solicitud inferior.

    Cuando haya decidido qué término quiere, haga doble clic en él para insertarlo en la ventana Expresión.

  4. Escriba un período después del término que acaba de elegir. A continuación, se le pedirá que elija su próximo término, como se describe en el paso anterior. Cuando un término requiera que escriba un valor, rellene el valor apropiado. Por ejemplo, si elige HTTP.REQ.HEADER(“”), escriba el nombre del encabezado entre las comillas.

  5. Siga eligiendo términos de las solicitudes y rellenando los valores necesarios hasta que finalice la expresión.

    A continuación se presentan algunos ejemplos de expresiones para fines específicos.

    • Host web específico. Para hacer coincidir el tráfico de un host web concreto:

       HTTP.REQ.HEADER("Host").EQ("shopping.example.com")
      

      Para shopping.example.com, sustituya el nombre del host web que quiere que coincida.

    • Carpeta web o directorio específico. Para hacer coincidir el tráfico de una carpeta o directorio determinado en un host Web:

       HTTP.REQ.URL.STARTSWITH("https//www.example.com/folder")
      

      Para www.example.com, sustituya el nombre del host web. En el caso de carpeta, sustituya la carpeta o la ruta de acceso al contenido que quiere que coincida. Por ejemplo, si su carrito de la compra está en una carpeta llamada /solutions/orders, sustituya esa cadena por carpeta.

    • Tipo específico de contenido: imágenes GIF. Para hacer coincidir imágenes con formato GIF:

       HTTP.REQ.URL.ENDSWITH(".gif")
      

      Para que coincidan con otras imágenes de formato, sustituya otra cadena en lugar de .gif.

    • Tipo específico de contenido: scripts. Para hacer coincidir todos los scripts CGI ubicados en el directorio CGI-BIN:

       HTTP.REQ.URL.STARTSWITH("https//www.example.com/CGI-BIN")
      

      Para hacer coincidir todos los JavaScripts con extensiones.js:

       HTTP.REQ.URL.ENDSWITH(".js")
      

      Para obtener más información acerca de la creación de expresiones de directiva, consulte Directivas y expresiones.

    Nota: Si utiliza la línea de comandos para configurar una directiva, recuerde evitar las comillas dobles dentro de las expresiones Citrix ADC. Por ejemplo, la siguiente expresión es correcta si se introduce en la GUI:

    HTTP.REQ.HEADER("Host").EQ("shopping.example.com")
    

    Sin embargo, si se introduce en la línea de comandos, debe escribir esto en su lugar:

    HTTP.REQ.HEADER("Host").EQ("shopping.example.com")
    

Para agregar una regla de firewall (expresión) mediante el cuadro de diálogo Agregar expresión

El cuadro de diálogo Agregar expresión (también denominado Editor de expresiones) ayuda a los usuarios que no están familiarizados con el lenguaje de expresiones Citrix ADC a crear una directiva que coincida con el tráfico que quieren filtrar.

  1. Si aún no lo ha hecho, desplácese hasta la ubicación adecuada en el Asistente para Web App Firewall o en la GUI de Citrix ADC:
    • Si está configurando una directiva en el Asistente para Web App Firewall, en el panel de exploración, haga clic en Web App Firewall y, a continuación, en el panel de detalles, haga clic en Asistente para Web App Firewall y, a continuación, vaya a la pantalla Especificar regla.
    • Si está configurando una directiva manualmente, en el panel de exploración, expanda Web App Firewall, Directivasy, a continuación, Firewall. En el panel de detalles, para crear una nueva directiva, haga clic en Agregar. Para modificar una directiva existente, selecciónela y, a continuación, haga clic en Abrir.
  2. En la pantalla Especificar regla, en el cuadro de diálogo Crear perfil de Web App Firewall o en el cuadro de diálogo Configurar perfil de firewall de aplicaciones web, haga clic en Agregar.
  3. En el cuadro de diálogo Agregar expresión, en el área Expresión de construcción, en el primer cuadro de lista, elija uno de los prefijos siguientes:
    • HTTP. El protocolo HTTP. Elija esto si quiere examinar algún aspecto de la solicitud que pertenece al protocolo HTTP. La opción predeterminada.
    • SYS. Los sitios web protegidos. Elija esta opción si quiere examinar algún aspecto de la solicitud que pertenece al destinatario de la solicitud.
    • CLIENT. El equipo que envió la solicitud. Elija esto si quiere examinar algún aspecto del remitente de la solicitud.
    • SERVER. El equipo al que se envió la solicitud. Elija esto si quiere examinar algún aspecto del destinatario de la solicitud.
  4. En el segundo cuadro de lista, elija su próximo término. Los términos disponibles varían según la elección realizada en el paso anterior, ya que el cuadro de diálogo ajusta automáticamente la lista para que contenga solo los términos válidos para el contexto. Por ejemplo, si seleccionó HTTP en el cuadro de lista anterior, la única opción es REQ, para las solicitudes. Dado que Web App Firewall trata las solicitudes y las respuestas asociadas como una sola unidad y filtra ambas, no es necesario que las respuestas específicas se presenten por separado. Después de elegir su segundo término, aparece un tercer cuadro de lista a la derecha del segundo. La ventana Ayuda muestra una descripción del segundo término y la ventana Vista previa de expresión muestra la expresión.
  5. En el tercer cuadro de lista, elija el siguiente término. Aparecerá un nuevo cuadro de lista a la derecha y la ventana de Ayuda cambia para mostrar una descripción del nuevo término. La ventana Vista previa de expresión se actualiza para mostrar la expresión tal y como la ha especificado en ese punto.
  6. Continúe eligiendo términos y, cuando se le solicite, rellenando argumentos, hasta que se complete la expresión. Si comete un error o quiere cambiar su expresión después de haber seleccionado un término, simplemente puede elegir otro término. Se modifica la expresión y se borran los argumentos o términos adicionales que haya agregado después del término modificado.
  7. Cuando haya terminado de construir la expresión, haga clic en Aceptar para cerrar el cuadro de diálogo Agregar expresión. La expresión se inserta en el área de texto Expresión.