ADC
Gracias por los comentarios

Este artículo ha sido traducido automáticamente. (Aviso legal)

Protección basada en gramática por inyección de comandos para carga útil HTML

NetScaler Web App Firewall utiliza un enfoque de coincidencia de patrones para detectar ataques por inyección de comandos en cargas útiles HTML. El enfoque utiliza un conjunto de palabras clave predefinidas y (o) caracteres especiales para detectar un ataque y marcarlo como una infracción. Aunque este enfoque es eficaz, puede dar lugar a muchos falsos positivos que llevan a agregar una o más reglas de relajación. Especialmente, cuando se usa una palabra de uso común, como “Salir”, en una solicitud HTTP. Podemos reducir los falsos positivos implementando la comprobación de protección basada en gramática de inyección de comandos para la carga útil HTML.

En el enfoque de coincidencia de patrones, se identifica un ataque de inyección de comandos si una palabra clave predefinida y (o) un carácter especial están presentes en una solicitud HTTP. En este caso, la sentencia no necesita ser una sentencia de inyección de comandos válida. Pero en el enfoque basado en la gramática, un ataque de inyección de comandos se detecta solo si una palabra clave o un carácter especial está presente en una sentencia de inyección de comandos. Por lo tanto, se reducen los casos de falsos positivos.

Casos de uso de protección basada en gramática por inyección de comandos

Considere la declaración “¡Corra hacia la salida!” presente en una solicitud HTTP. Aunque la sentencia no es una sentencia de inyección de comandos válida, el enfoque de coincidencia de patrones detecta la solicitud como un ataque de inyección de comandos debido a la palabra clave “exit”. Pero en el enfoque basado en la gramática de inyección de comandos, la sentencia no se detecta como un ataque de violación porque las palabras clave no están presentes en una sentencia de inyección de comandos válida.

Configurar el parámetro de protección basado en gramática de inyección de comandos mediante la CLI

Para implementar la detección basada en gramática por inyección de comandos, debe configurar el parámetro “CMDInjectionGrammar” en el perfil de Web App Firewall. De forma predeterminada, el parámetro está desactivado. Se admiten todas las acciones de inyección de comandos existentes, excepto el aprendizaje. Cualquier perfil nuevo creado después de una actualización admite la gramática de inyección de comandos. El nuevo perfil sigue teniendo el tipo predeterminado como “carácter especial o palabra clave” y la gramática de inyección de comandos debe estar habilitada explícitamente.

En la línea de comandos, escriba:

add appfw profile <profile-name> –CMDInjectionAction <action-name> -CMDInjectionGrammar ON/OFF

Ejemplo:

add appfw profile profile1 –CMDInjectionAction Block –CMDInjectionGrammar ON

Configurar la protección de coincidencia de patrones por inyección de comandos y la protección basada en gramáticas mediante la CLI

Si ha habilitado los enfoques basados en gramática y de coincidencia de patrones, el dispositivo realiza primero la detección basada en gramática. Si se detecta una inyección de comando con el tipo de acción establecido en “bloquear”, la solicitud se bloquea (sin verificar la detección mediante la coincidencia de patrones).

En la línea de comandos, escriba:

add appfw profile <profile-name> –CMDInjectionAction <action-name> -CMDInjectionGrammar ON –CMDInjectionType <Any action other than ‘None’: CMDSplCharANDKeyword/ CMDSplCharORKeyword/ CMDSplChar/ CMDKeyword>

Ejemplo:

add appfw profile p1 –CMDInjectionAction block – CMDInjectionGrammar ON –CMDInjectionType CMDSplChar

Configurar la comprobación de inyección de comandos solo con protección basada en gramáticas mediante la CLI

En la línea de comandos, escriba:

add appfw profile <profile-name> –CMDInjectionAction <action-name> -CMDInjectionGrammar ON –CMDInjectionType None

Ejemplo:

add appfw profile p1 –CMDInjectionAction block – CMDInjectionGrammar ON –CMDInjectionType None

Enlazar reglas de relajación para la protección de inyección de comandos basada en gramáticas mediante la

Si su aplicación requiere que omita la comprobación de inyección de comandos para un “ELEMENTO” o “ATRIBUTO” específico en la carga útil HTML, debe configurar una regla de relajación.

Nota:

Las reglas de relajación con valueType como “palabra clave” se evalúan solo cuando el dispositivo realiza la detección mediante la gramática de inyección de comandos.

Las reglas de relajación de inspección de inyección de comandos tienen la siguiente sintaxis. En la línea de comandos, escriba:

bind appfw profile <name> -CMDInjection <String> [isRegex(REGEX| NOTREGE)] <formActionURL> [-location <location>] [-valueType (Keywor|SpecialString|Wildchar) [<valueExpression>][-isValueRegex (REGEX | NOTREGEX) ]]

Ejemplo:

bind appfw profile p1 -cmdinjection abc http://10.10.10.10/ bind appfw profile p1 –cmdinjection 'abc[0-9]+' http://10.10.10.10/ -isregex regEX bind appfw profile p1 –cmdinjection 'name' http://10.10.10.10/ -valueType Keyword 'exi[a-z]+' -isvalueRegex regEX

Configurar la protección basada en gramática por inyección de comandos mediante la GUI

Complete los siguientes pasos para configurar la detección de inyección de comandos HTML basada en gramáticas.

  1. Vaya aSeguridad > Perfil de firewall de NetScaler Web App > Perfiles.

  2. Seleccione un perfil y haga clic en Modificar.

  3. Vaya a la sección Configuración avanzada y haga clic en Comprobaciones de seguridad.

  4. Active la casilla de verificación Inyección de comandos HTML y haga clic enConfiguración de acciones.

  5. Active lacasilla de verificación Comprobar mediante CMD Grammar.

  6. Seleccione Ninguno en la solicitud de comprobación que contiene.

  7. Haga clic en Aceptar.

La versión oficial de este contenido está en inglés. Para mayor comodidad, parte del contenido de la documentación de Cloud Software Group solo tiene traducción automática. Cloud Software Group no puede controlar el contenido con traducción automática, que puede contener errores, imprecisiones o un lenguaje inadecuado. No se ofrece ninguna garantía, ni implícita ni explícita, en cuanto a la exactitud, la fiabilidad, la idoneidad o la precisión de las traducciones realizadas del original en inglés a cualquier otro idioma, o que su producto o servicio de Cloud Software Group se ajusten a cualquier contenido con traducción automática, y cualquier garantía provista bajo el contrato de licencia del usuario final o las condiciones de servicio, o cualquier otro contrato con Cloud Software Group, de que el producto o el servicio se ajusten a la documentación no se aplicará en cuanto dicha documentación se ha traducido automáticamente. Cloud Software Group no se hace responsable de los daños o los problemas que puedan surgir del uso del contenido traducido automáticamente.