Citrix ADC

comprobación de protección de inyección de comandos HTML

La comprobación de inyección de comandos HTML examina si el tráfico entrante tiene comandos no autorizados que rompen la seguridad del sistema o modifican el sistema. Si el tráfico tiene comandos maliciosos cuando se detecta, el dispositivo bloquea la solicitud o realiza la acción configurada.

El perfil de Citrix Web App Firewall ahora se ha mejorado con una nueva comprobación de seguridad para los ataques de inyección de comandos. Cuando la comprobación de seguridad de inyección de comandos examina el tráfico y detecta cualquier comando malintencionado, el dispositivo bloquea la solicitud o realiza la acción configurada.

En un ataque de inyección de comandos, el atacante tiene como objetivo ejecutar comandos no autorizados en el sistema operativo Citrix ADC. Para lograrlo, el atacante inyecta comandos del sistema operativo mediante una aplicación vulnerable. Un dispositivo Citrix ADC es vulnerable a ataques de inyección si la aplicación transfiere datos no seguros (formularios, cookies o encabezado) al shell del sistema.

Cómo funciona la protección por inyección de comandos

  1. Para una solicitud entrante, WAF examina el tráfico en busca de palabras clave o caracteres especiales. Si la solicitud entrante no tiene patrones que coincidan con ninguna de las palabras clave denegadas o caracteres especiales, se permite la solicitud. De lo contrario, la solicitud se bloquea, se elimina o se redirige en función de la acción configurada.

  2. Si prefiere excluir una palabra clave o un carácter especial de la lista, puede aplicar una regla de relajación para eludir la comprobación de seguridad bajo condiciones específicas.
  3. Puede habilitar el registro para generar mensajes de registro. Puede supervisar los registros para determinar si las respuestas a las solicitudes legítimas se están bloqueando. Un gran aumento en el número de mensajes de registro puede indicar intentos de lanzar un ataque.
  4. También puede habilitar la función de estadísticas para recopilar datos estadísticos sobre infracciones y registros. Un aumento inesperado en el contador de estadísticas podría indicar que su aplicación está siendo atacada. Si se bloquean las solicitudes legítimas, es posible que tenga que volver a visitar la configuración para ver si debe configurar una nueva regla de relajación o modificar la existente.

Palabras clave y caracteres especiales denegados para la comprobación de inyección de comandos

Para detectar y bloquear ataques de inyección de comandos, el dispositivo tiene un conjunto de patrones (palabras clave y caracteres especiales) definidos en el archivo de firma predeterminado. A continuación se muestra una lista de palabras clave bloqueadas durante la detección de inyección de comandos.

    <commandinjection>
      <keyword type="LITERAL" builtin="ON">7z</keyword>
      <keyword type="LITERAL" builtin="ON">7za</keyword>
      <keyword type="LITERAL" builtin="ON">7zr</keyword>
…
</commandinjection>

Los caracteres especiales definidos en el archivo de firma son: | ; & $ > < ' \ ! >> #

Configuración de la comprobación de inyección de comandos mediante la CLI

En la interfaz de línea de comandos, puede utilizar el comando set the profile o el comando add the profile para configurar los parámetros de inyección de comandos. Puede activar las acciones de bloqueo, registro y estadísticas. También debe establecer las palabras clave y los caracteres de cadena que quiere detectar en las cargas útiles.

En el símbolo del sistema, escriba:

set appfw profile <profile-name> –cmdInjectionAction <action-name> -CMDInjectionType <CMDInjectionType>]

Nota:

De forma predeterminada, la acción de inyección del comando se establece como “Ninguno”. Además, el tipo de inyección de comando predeterminado se establece comoCmdSplCharANDKeyWord.

Ejemplo:

set appfw profile profile1 -cmdInjectionAction block -CMDInjectionType CmdSplChar

Donde, las acciones de inyección de comandos disponibles son:

  • Ninguno: Desactive la protección de inyección de comandos.
  • Registro: Registre infracciones de inyección de comandos para la comprobación de seguridad.
  • Bloquear: Bloquea el tráfico que infringe la comprobación de seguridad de inyección de comandos.
  • Estadísticas: Genera estadísticas de violaciones de seguridad de inyección de comandos.

Donde, los tipos de inyección de comando disponibles son:

  • Cmd SplChar. Comprueba caracteres especiales
  • CmdKeyword. Comprobación palabras clave de inyección
  • CmdsPlcharAndKeyword. Comprueba los caracteres especiales y la inyección de comandos. Palabras clave y bloques solo si ambos están presentes.
  • CmdSplCharorKeyword. Comprueba los caracteres especiales y la inyección de comandos Palabras clave y bloques si se encuentra alguno de ellos.

Configuración de las reglas de relajación para la comprobación de protección por inyección

Si su aplicación requiere que omita la inspección de inyección de comandos para un ELEMENTO o ATTRIBUTE específico en la carga útil, puede configurar una regla de relajación.

El comando Las reglas de relajación de inspección por inyección tienen la siguiente sintaxis:

bind appfw profile <profile name> –cmdInjection <string> <URL> -isregex <REGEX/NOTREGEX>

Ejemplo de regla de relajación para Regex en el encabezado

bind appfw profile sample -CMDInjection hdr "http://10.10.10.10/" -location heaDER -valueType Keyword '[a-z]+grep' -isvalueRegex REGEX

Como resultado, la inyección exime la comprobación de inyección de comando permite el encabezado ‘hdr’ que contiene variantes de “grep”.

bind appfw profile sample -CMDInjection ck_login "http://10.10.10.10/" -location cookie -valueType Keyword 'pkg[a-z]+' -isvalueRegex REGEX

Configuración de la comprobación de inyección de comandos mediante la GUI de Citrix ADC

Complete los siguientes pasos para configurar la comprobación de inyección de comandos.

  1. Vaya a Seguridad > Perfiles y Citrix Web App Firewall.
  2. En la página Perfiles, seleccione un perfil y haga clic en Modificar.
  3. En la página Perfil de Citrix Web App Firewall, vaya a la sección Configuración avanzada y haga clic en Comprobaciones de seguridad.

Selección de la opción de comprobación de inyección de comandos

  1. En la sección Comprobaciones de seguridad, seleccione Inyección de comandos HTML y haga clic en Configuración de acciones.
  2. En la página Configuración de inyección de comandos HTML, establezca los siguientes parámetros:

    1. Acciones. Seleccione una o más acciones para la comprobación de seguridad de inyección de comandos.
    2. Comprobar solicitud que contiene. Seleccione un patrón de inyección de comandos para comprobar si la solicitud entrante tiene el patrón.
  3. Haga clic en Aceptar.

Configuración de la comprobación de inyección de comandos

Visualización de estadísticas de tráfico de inyección de comandos e infracciones

La página Estadísticas de Citrix Web App Firewall muestra los detalles del tráfico de seguridad y las infracciones de seguridad en formato tabular o gráfico.

Para ver las estadísticas de seguridad mediante la interfaz de comandos.

En el símbolo del sistema, escriba:

stat appfw profile profile1

Appfw perfil Estadísticas de tráfico Tasa (s) Total
Solicitudes 0 0
Bytes de solicitud 0 0
Respuestas 0 0
Bytes de respuesta 0 0
Aborta 0 0
Redirecciona 0 0
Tiempo de respuesta a largo plazo (ms) 0
Tiempo de respuesta reciente Ave (ms) 0
Estadísticas de violaciones HTML/XML/JSON Tasa (s) Total
URL de inicio 0 0
Denegar URL 0 0
Encabezado de referencia 0 0
Desbordamiento de búfer 0 0
Consistencia de cookies 0 0
Secuestro de cookies 0 0
Etiqueta de formulario CSRF 0 0
Scripting HTML entre sitios 0 0
Inyección HTML SQL 0 0
Formato de campo 0 0
Consistencia de campo 0 0
Tarjeta de crédito 0 0
Objeto seguro 0 0
Violaciones de firma 0 0
Tipo de contenido 0 0
JSON Denegación de Servicio 0 0
Inyección JSON SQL 0 0
Scripting JSON entre sitios 0 0
Tipos de carga de archivos 0 0
Deducir tipo de contenido XML Carga útil 0 0
Inyección HTML CMD 0  
Formato XML 0 0
Denegación de servicio XML (XDoS) 0 0
Validación de mensajes XML 0 0
Interoperabilidad de servicios web 0 0
XML SQL Inyección 0  
Scripting XML entre sitios 0 0
Datos adjuntos XML 0 0
Violaciones de fallos SOAP 0 0
Violaciones genéricas XML 0 0
Total de violaciones 0 0
Estadísticas de registro HTML/XML/JSON Tasa (s) Total
Registros de URL de inicio 0 0
Denegar registros de URL 0 0
Registros de encabezado de referer 0 0
Registros de desbordamiento de 0 0
Registros de coherencia de cookies 0 0
Registros de secuestro de cookies 0 0
Registros de etiquetas de formulario CSRF 0 0
Registros HTML XSS 0 0
Registros de transformación HTML XSS 0 0
Registros de inyección HTML SQL 0 0
Registros de transformación HTML SQL 0 0
Registros de formato de campo 0 0
Registros de coherencia de campo 0 0
Tarjetas de crédito 0 0
Registro de transformación de tarjetas de crédito 0 0
Registros de objetos seguros 0 0
Registros de firmas 0 0
Registros de tipo de contenido 0 0
Registros de denegación de servicio JSON 0 0
Registros de inyección JSON SQL 0 0
Registros de scripts entre sitios JSON 0 0
Tipos de carga de archivos registros 0 0
Inducir tipo de contenido XML Carga útil L 0 0
Registros de inyección de comandos HTML 0 0
Registros de formato XML 0 0
Registros XML de denegación de servicio (XDoS) 0 0
Registros de validación de mensajes XML 0 0
Registros WSI 0 0
Registros de inyección XML SQL 0 0
Registros XML XSS 0 0
Registro de datos adjuntos XML 0 0
Registros de errores SOAP 0 0
Registros genéricos XML 0 0
Total de mensajes de registro 0 0
Tasa de estadísticas de respuesta a errores del servidor (s) Total    
  Errores de cliente HTTP (4xx Resp) 0 0
  Errores del servidor HTTP (5xx Resp) 0 0

Visualización de estadísticas de inyección de comandos HTML mediante la GUI de Citrix ADC

Complete los siguientes pasos para ver las estadísticas de inyección de comandos:

  1. Vaya a Seguridad > Citrix Web App Firewall > Perfiles.
  2. En el panel de detalles, seleccione un perfil de Web App Firewall y haga clic en Estadísticas.
  3. La página Estadísticas de Citrix Web App Firewall muestra los detalles del tráfico de inyección de comandos HTML y la infracción.
  4. Puede seleccionar Vista tabular o cambiar a Vista gráfica para mostrar los datos en formato tabular o gráfico.

Estadísticas de tráfico de inyección de comandos HTML

Sección GUI del comando injection-traffic-statistics

Estadísticas de infracción de inyección de comandos HTML

Sección GUI del comando injection-traffic-statistics