Citrix ADC

Administración de tipos de contenido

Los servidores web agregan un encabezado Content-Type con una definición MIME/Type para cada tipo de contenido. Los servidores web sirven muchos tipos diferentes de contenido. Por ejemplo, HTML estándar tiene asignado el tipo MIME “text/html”. A las imágenes JPG se les asigna el tipo de contenido “image/jpeg” o “image/jpg”. Un servidor web normal puede servir diferentes tipos de contenido, todo definido en el encabezado Tipo de contenido por el MIME/tipo asignado.

Muchas reglas de filtrado de Web App Firewall están diseñadas para filtrar un tipo de contenido específico. Las reglas de filtrado se aplican a un tipo de contenido, como HTML, y a menudo son inapropiadas al filtrar un tipo diferente de contenido (como imágenes). Como resultado, Web App Firewall intenta determinar el tipo de contenido de las solicitudes y respuestas antes de filtrarlas. Si un servidor web o explorador no agrega un encabezado Content-Type a una solicitud o respuesta, el Web App Firewall aplica un tipo de contenido predeterminado y filtra el contenido en consecuencia.

El tipo de contenido predeterminado suele ser “application/octet-stream” con la definición MIME y tipo más genérica. El MIME/tipo es apropiado para cualquier tipo de contenido que un servidor web pueda servir. Pero no proporciona mucha información al Web App Firewall para permitirle elegir el filtrado adecuado. Si un servidor web protegido está configurado para agregar encabezados de tipo de contenido precisos, puede crear un perfil para el servidor web y asignarle un tipo de contenido predeterminado. Esto se hace para mejorar tanto la velocidad como la precisión del filtrado.

También puede configurar una lista de tipos de contenido de solicitud permitidos para un perfil específico. Cuando se configura esta función, si Web App Firewall filtra una solicitud que no coincide con uno de los tipos de contenido permitidos, bloquea la solicitud. Después de la actualización de la versión 10.5 a la 11.0, los tipos de contenido desconocidos que no están en la lista predeterminada de tipos de contenido permitidos no se vinculan. Puede agregar otros tipos de contenido que quiere que se les permita a las reglas relajadas.

Las solicitudes siempre deben ser de los tipos “application/x-www-form-urlencoded”, “multipart/form-data” o “text/x-gwt-rpc”. El Web App Firewall bloquea cualquier solicitud que tenga cualquier otro tipo de contenido designado.

Nota

No puede incluir los tipos de contenido “application/x-www-form-urlencoded” o “multipart/form-data” en la lista de tipos de contenido de respuesta permitidos.

Para establecer el tipo de contenido de solicitud predeterminado mediante la interfaz de línea de comandos

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

  • set appfw profile <name> -requestContentType <type>
  • save ns config

Ejemplo

En el ejemplo siguiente se establece el tipo de contenido “text/html” como predeterminado para el perfil especificado:

set appfw profile profile1 -requestContentType "text/html"
save ns config

Para quitar el tipo de contenido de solicitud predeterminado definido por el usuario mediante la interfaz de línea de comandos

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

  • unset appfw profile <name> -requestContentType <type>
  • save ns config

Ejemplo

En el ejemplo siguiente se desactiva el tipo de contenido predeterminado de “text/html” para el perfil especificado, lo que permite que el tipo vuelva a “application/octet-stream”:

unset appfw profile profile1 -requestContentType "text/html"
save ns config

Nota

Utilice siempre el último encabezado de tipo de contenido para procesar y elimine los encabezados de tipo de contenido restantes si hay alguno que garantice que el servidor back-end recibe una solicitud con un solo tipo de contenido.

Para bloquear las solicitudes que se pueden omitir, agregue una directiva de Web App Firewall con la regla HTTP.REQ.HEADER (“content-type”).COUNT.GT(1)’ y el perfil como appfw_block.

Si se recibe una solicitud sin un encabezado Content-Type o si la solicitud tiene encabezado Content-Type sin ningún valor, Web App Firewall aplica el valor RequestContentType configurado y procesa la solicitud en consecuencia.

Para establecer el tipo de contenido de respuesta predeterminado mediante la interfaz de línea de comandos

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

  • set appfw profile <name> -responseContentType <type>
  • save ns config

Ejemplo

En el ejemplo siguiente se establece el tipo de contenido “text/html” como predeterminado para el perfil especificado:

set appfw profile profile1 -responseContentType "text/html"
save ns config

Para quitar el tipo de contenido de respuesta predeterminado definido por el usuario mediante la interfaz de línea de comandos

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

  • unset appfw profile <name> -responseContentType <type>
  • save ns config

Ejemplo

En el ejemplo siguiente se desactiva el tipo de contenido predeterminado de “text/html” para el perfil especificado, lo que permite que el tipo vuelva a “application/octet-stream”:

unset appfw profile profile1 -responseContentType "text/html"
save ns config

Para agregar un tipo de contenido a la lista de tipos de contenido permitidos mediante la interfaz de línea de comandos

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

  • bind appfw profile <name> -ContentType <contentTypeName>
  • save ns config

Ejemplo

En el ejemplo siguiente se agrega el tipo de contenido “text/shtml” a la lista de tipos de contenido permitidos para el perfil especificado:

bind appfw profile profile1 -contentType "text/shtml"
save ns config

Para quitar un tipo de contenido de la lista de tipos de contenido permitidos mediante la interfaz de línea de comandos

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

  • unbind appfw profile <name> -ContentType <contentTypeName>
  • save ns config

Ejemplo

En el ejemplo siguiente se quita el tipo de contenido “text/shtml” de la lista de tipos de contenido permitidos para el perfil especificado:

unbind appfw profile profile1 -contentType "text/shtml"
save ns config

Administrar tipos de contenido con código urlencoded y multipart-form

Citrix ADC Web App Firewall ahora le permite configurar tipos de contenido codificado por Urlencoded y Multipart-Form para formularios. La configuración del tipo de contenido es similar a la lista XML y JSON. En función de la configuración, Web App Firewall clasifica las solicitudes e inspecciona el tipo de contenido codificado por urlencoded o multipart-form.

Para configurar el perfil de Web App Firewall con tipos de contenido codificado por Urlencoded y Multipart-Form En el símbolo del sistema, escriba:

bind appfw profile p2 -contentType <string>

Ejemplo:

bind appfw profile p2 -contentType UrlencodedFormContentType

bind appfw profile p2 -ContentType appfwmultipartform

Para administrar los tipos de contenido predeterminados y permitidos mediante la interfaz gráfica de usuario

  1. Vaya a Seguridad > Web App Firewall > Perfiles.
  2. En el panel de detalles, seleccione el perfil que quiere configurar y, a continuación, haga clic en Modificar. Aparece el cuadro de diálogo Configurar perfil de Web App Firewall.
  3. En el cuadro de diálogo Configurar perfil de Web App Firewall, haga clic en la ficha Configuración.
  4. En la ficha Configuración, desplácese hacia abajo hasta la mitad del área Tipo de contenido.
  5. En el área Tipo de contenido, configure el tipo de contenido de solicitud o respuesta predeterminado:
    • Para configurar el tipo de contenido de solicitud predeterminado, escriba la definición MIE/tipo del tipo de contenido que quiere utilizar en el cuadro de texto Solicitud predeterminada.
    • Para configurar el tipo de contenido de respuesta predeterminado, escriba la definición MIE/tipo del tipo de contenido que quiere utilizar en el cuadro de texto Respuesta predeterminada.
    • Para crear un nuevo tipo de contenido permitido, haga clic en Agregar. Aparece el cuadro de diálogo Agregar tipo de contenido permitido.
    • Para modificar un tipo de contenido permitido existente, seleccione ese tipo de contenido y, a continuación, haga clic en Abrir. Aparece el cuadro de diálogo Modificar tipo de contenido permitido.
  6. Para administrar los tipos de contenido permitidos, haga clic en Administrar tipos de contenido permitidos.
  7. Para agregar un nuevo tipo de contenido o modificar un tipo de contenido existente, haga clic en Agregar o Abrir y, en el cuadro de diálogo Agregar tipo de contenido permitido o Modificar tipo de contenido permitido, siga estos pasos.
    1. Active o desactive la casilla de verificación Activado para incluir el tipo de contenido en la lista de tipos de contenido permitidos o excluirlo de ella.

    2. En el cuadro de texto Tipo de contenido, escriba una expresión regular que describa el tipo de contenido que quiere agregar o cambie la expresión regular de tipo de contenido existente.

      Los tipos de contenido tienen el mismo formato que las descripciones de tipos MIME.

      Nota:

      Puede incluir cualquier tipo MIME válido en la lista de tipos de contenido permitidos. Dado que muchos tipos de documentos pueden contener contenido activo y, por lo tanto, pueden contener contenido malicioso, debe tener precaución al agregar tipos MIME a esta lista.

    3. Proporcione una breve descripción que explique el motivo de agregar este tipo MIME concreto a la lista de tipos de contenido permitidos.

    4. Haga clic en Crear o en Aceptar para guardar los cambios.

  8. Haga clic en Cerrar para cerrar el cuadro de diálogo Administrar tipos de contenido permitidos y volver a la ficha Configuración.
  9. Haga clic en Aceptar para guardar los cambios.

Para administrar los tipos de contenido con código Urlencoded y Multipart-form mediante la GUI de Citrix ADC

  1. Vaya a Seguridad > Web App Firewall > Perfiles.
  2. En el panel de detalles, seleccione el perfil que quiere configurar y, a continuación, haga clic en Modificar.
  3. En la página Configurar perfil de Web App Firewall, seleccione Configuración de perfil en la sección Configuración avanzada.
  4. En la sección Tipo de contenido inspeccionado, defina los siguientes parámetros:

    1. application/x-www-form-urlencoded. Active la casilla de verificación para inspeccionar el tipo de contenido codificado por Urlencoded.
    2. multipart/form-datos. Seleccione la comprobación para inspeccionar el tipo de contenido de formulario Multipart-form.
  5. Haga clic en Aceptar.

Gestión de contenido