ADC

Configuración del perfil de Firewall de aplicaciones web

A continuación se indican los ajustes de perfil que debe configurar en el dispositivo.

En la línea de comandos, escriba:

add appfw profile <name> [-invalidPercentHandling <invalidPercentHandling>] [-checkRequestHeaders ( ON | OFF )] [-URLDecodeRequestCookies ( ON | OFF )] [-optimizePartialReqs ( ON | OFF )] [-errorURL <expression>] [-logEveryPolicyHit ( ON | OFF )] [-stripHtmlComments <stripHtmlComments>] [-stripXmlComments ( none | all )] [-postBodyLimitSignature <positive_integer>][-fileUploadMaxNum <positive_integer>][-canonicalizeHTMLResponse ( ON | OFF )][-percentDecodeRecursively ( ON | OFF )] [-multipleHeaderAction <multipleHeaderAction> ...][-inspectContentTypes <inspectContentTypes> ...][-semicolonFieldSeparator ( ON | OFF )]

Ejemplo:

add appfw profile profile1 [-invalidPercentHandling secure_mode] [-checkRequestHeaders ON] [-URLDecodeRequestCookies OFF] [-optimizePartialReqs OFF]

Donde:

Lamanipulación porcentual no es válida. Configure el método de gestión de nombres y valores codificados por porcentaje.

Los ajustes disponibles funcionan de la siguiente manera:

asp_mode - Elimina y analiza el porcentaje no válido para el análisis. Ejemplo፦ curl –v “http://<vip>/forms/login.html?field=sel%zzect -> Invalid percent encoded char(%zz) se despoja y se inspecciona el resto del contenido y se toman medidas para la comprobación de SQLInjection. secure_mode - Detectamos el valor codificado por porcentaje no válido y lo ignoramos. Ejemplo፦ curl –v “http://<vip>/forms/login.html?field=sel%zzect -> Invalid percent encoded char(%zz) se detecta, los contadores se incrementan y el contenido se pasa tal cual al servidor. apache_mode - Este modo funciona de forma similar al modo seguro. Valores posibles: apache_mode, asp_mode, secure_mode Valor por defecto: secure_mode

Optimizar las solicitudes parciales. Cuando está DESACTIVADO/ENCENDIDO (sin objeto seguro), un dispositivo Citrix ADC envía la solicitud parcial al servidor back-end. Esta respuesta parcial se devuelve al cliente. OptimizePartialReqs tiene sentido cuando se configura el objeto Safe. El dispositivo envía solicitudes de respuesta completa desde el servidor cuando está DESACTIVADO y solo solicita una respuesta parcial cuando está activado.

Los ajustes disponibles son los siguientes:

ON : Las solicitudes parciales del cliente dan como resultado solicitudes parciales al servidor back-end. DESACTIVADO: las solicitudes parciales del cliente se cambian a solicitudes completas al servidor back-end Valores posibles: ON, OFF Valor predeterminado: ON

Cookies de solicitud de decodificación de URL. Cuando checkRequestHeaders está habilitada, las cookies se inspeccionan para comprobar su seguridad (SQL, cross-site, inyección de cmd). Si URLDecodeRequestCookies está habilitada, las cookies se decodifican en URL y, a continuación, se inspeccionan.

Valores posibles: ON, OFF Valor predeterminado: OFF

Límite del cuerpo de la publicación de firma (bytes). Limita la carga útil de la solicitud (en bytes) inspeccionada en busca de firmas con la ubicación especificada como ‘HTTP_POST_BODY’.

Valor por defecto: 8096 Valor mínimo: 0 Valor máximo: 4294967295

Límite del cuerpo de la publicación (bytes). Limita la carga útil de la solicitud (en bytes) inspeccionada por Web Application Firewall.

Valor predeterminado: 20000000 Valor mínimo: 0 Valor máximo: 10 GB

Para obtener más información sobre la configuración Seguridad y su procedimiento de GUI, consulte el tema Configurar perfil de Web App Firewall.

PostbodyLimitAction. PostBodyLimit respeta la configuración de error cuando especifica el tamaño máximo del cuerpo HTTP que se va a permitir. Para respetar la configuración de errores, debe configurar una o más acciones de límite de cuerpo de la publicación. La configuración también se aplica a las solicitudes en las que el encabezado de codificación de transferencia está fragmentado.

set appfw profile <profile_name> -PostBodyLimitAction block log stats

Dónde, Bloquear: Esta acción bloquea la conexión que infringe la comprobación de seguridad y se basa en el tamaño máximo del cuerpo HTTP configurado (límite de cuerpo de publicación). Debe activar siempre la opción.

Registro: Registrar infracciones de esta comprobación de seguridad.

Estadísticas: genera estadísticas para esta comprobación de seguridad.

Nota:

El formato de registro de la acción de límite del cuerpo de la publicación se ha cambiado para que siga el formato de registro de auditoría estándar, por ejemplo: ns.log.4.gz:Jun 25 1.1.1.1. <local0.info> 10.101.10.100 06/25/2020:10:10:28 GMT 0-PPE-0 : default APPFW APPFW_POSTBODYLIMIT 1506 0 : <Netscaler IP> 4234-PPE0 - testprof ><URL> Request post body length(<Post Body Length>) exceeds post body limit.

InspectQueryContentTypes Inspeccione la consulta de solicitud y los formularios web de SQL inyectados y scripts entre sitios para los siguientes tipos de contenido.

set appfw profile p1 -inspectQueryContentTypes HTML XML JSON OTHER

Valores posibles: HTML, XML, JSON, OTHER

De forma predeterminada, este parámetro se establece como “inspectQueryContentTypes: HTML JSON OTHER” para perfiles appfw básicos y avanzados.

Ejemplo de tipo de contenido de consulta de inspección como XML:

> set appfw profile p1 -type XML
Warning: HTML, JSON checks except “InspectQueryContentTypes” & “Infer Content-Type XML Payload Action” will not be applicable when profile type is not HTML or JSON respectively.
<!--NeedCopy-->

Ejemplo de tipo de contenido de consulta de inspección como HTML:

> set appfw profile p1 -type HTML
Warning: XML, JSON checks except “InspectQueryContentTypes” & “Infer Content-Type XML Payload Action” will not be applicable when profile type is not XML or JSON respectively
Done
<!--NeedCopy-->

Ejemplo de tipo de contenido de consulta de inspección como JSON:

> set appfw profile p1 -type JSON
Warning: HTML, XML checks except “InspectQueryContentTypes” & “Infer Content-Type XML Payload Action will not be applicable when profile type is not HTML or XML respectively
Done
<!--NeedCopy-->

Expresión errorURL. Dirección URL que Citrix Web App Firewall utiliza como URL de error. Longitud máxima: 2047.

Nota:

Para bloquear infracciones en una URL solicitada, si la URL de error es similar a la URL de firma, el dispositivo restablece la conexión.

LogEveryPolicyHit : registra todas las coincidencias de perfil, independientemente de los resultados de las comprobaciones de seguridad. Valores posibles: ON, OFF. Valor predeterminado: OFF.

stripXMLComments - Elimina los comentarios XML antes de reenviar una página web enviada por un sitio web protegido en respuesta a una solicitud del usuario. Valores posibles: none, all, exclude_script_tag. Valor predeterminado: none

PostBodyLimitSignature - Tamaño máximo permitido del cuerpo de la publicación HTTP para la inspección de firmas para la ubicación HTTP_POST_BODY en las firmas, en bytes. Los cambios en el valor pueden afectar a la CPU y al perfil de latencia. Valor por defecto: 2048. Valor mínimo: 0 Valor máximo: 4294967295

FileUploadMaxNum : número máximo permitido de cargas de archivos por solicitud de envío de formularios. La configuración máxima (65535) permite un número ilimitado de cargas. Valor por defecto: 65535 Valor mínimo: 0 Valor máximo: 65535

CanonicalizeHTMLResponse - Realiza la codificación de entidad HTML para cualquier carácter especial en las respuestas enviadas por tus sitios web protegidos. Valores posibles: ON, OFF Valor predeterminado: ON

PercentDecodeRecursively : configure si el firewall de la aplicación debe utilizar decodificación recursiva porcentual. Valores posibles: ON, OFF Valor predeterminado: ON

multipleHeaderAction : una o varias acciones de encabezado. Los ajustes disponibles funcionan de la siguiente manera:

  • Bloquear. Bloquea las conexiones que tienen varios encabezados.
  • Registrar. Registra las conexiones que tienen varios encabezados.
  • KeepLast. Mantenga solo el último encabezado cuando haya varios encabezados presentes.

InspectContentTypes : una o varias listas de InspectContentType.

  • aplicación/x-www-form-urlencoded
  • multipart/form-data
  • texto/x-gwt-rpc

Valores posibles: ninguno, application/x-www-form-urlencoded, multipart/form-data, text/x-gwt-rpc

SemiColonFieldSeparator : permite ‘;’ como separador de campos de formulario en consultas URL y cuerpos de formulario POST. Valores posibles: ON, OFF Valor predeterminado: OFF

Configuración del perfil de Firewall de aplicaciones web

En este artículo