ADC

Validación de especificaciones de API

La especificación de la API garantiza una transferencia de datos fluida entre sistemas a través de una API (interfaz de programación de aplicaciones). Garantiza que los datos intercambiados sigan una estructura o formato predefinidos, lo que mejora la confiabilidad y seguridad generales del sistema.

Una especificación de API define el punto final, el esquema y los parámetros. La validación del esquema es un proceso que le permite comprobar si el tráfico entrante se ajusta al esquema que proporcionaste en la especificación de la API. Al asociar una especificación de API a un perfil de Web App Firewall, puede especificar qué tráfico entrante está permitido y cuál está bloqueado o registrado. La validación del tráfico entrante con las especificaciones de la API importada ayuda a garantizar que el tráfico de red sea seguro y compatible.

Hay varios tipos de API que se utilizan habitualmente en el desarrollo de software. Estos tipos determinan cómo se estructuran e intercambian los datos entre los diferentes sistemas de software. NetScaler admite los siguientes tipos de API:

  • Transferencia de estado representacional (REST)
  • Llamada a procedimiento remoto de Google (gRPC)

Las especificaciones de la API definen el diseño de una API, incluidos los puntos finales, los métodos, los parámetros y los formatos de datos. Estas especificaciones garantizan la coherencia, la interoperabilidad y la facilidad de uso al desarrollar y consumir las API. NetScaler admite los siguientes formatos de especificación:

  • API abierta (anteriormente conocida como Swagger)
  • ProtoBuf (búferes de protocolo)

Nota: Puede importar, agregar, actualizar y eliminar archivos de especificación de API mediante la GUI o la CLI. Para obtener más información, consulte Importaciones.

Asignar especificaciones de API a un perfil mediante la CLI

Configure un perfil de Web App Firewall con un archivo de especificación de API para validar el tráfico. Puede configurar una acción que se utilice cuando se produzca un error en la validación mediante el parámetro RestAction (para las API de REST) o gRPCAction (para las API de gRPC).

En la línea de comandos, escriba: set appfw profile <Profile Name> -apispec <API spec entity name>

-  Profile name - The name of the profile.
-  API spec entity name - The name of the entity that is created from the uploaded API specification.

Asignar especificaciones de API a un perfil mediante la GUI

  1. Vaya a Seguridad > NetScaler Web App Firewall > Perfiles y haga clic en Agregar.
  2. Seleccione el archivo necesario para un esquema de especificaciones de API y haga clic en Aceptar.

Asignar especificaciones de API a un perfil existente mediante la GUI

  1. Vaya a Seguridad > NetScaler Web App Firewall > Perfiles
  2. Seleccione un perfil definido por el usuario y haga clic en Modificar.
  3. En la página Perfil de NetScaler Web App Firewall, haga clic en el icono Modificar.
  4. Seleccione el archivo necesario para un esquema de especificaciones de API y haga clic en Aceptar.

Configurar la validación de esquemas de API de REST y gRPC mediante la CLI

En la línea de comandos, escriba:

set appfw profile <profile name> -restAction [block log   none  stats]
set appfw profile <profile name> -grpcAction [block log   none  stats]
<!--NeedCopy-->

Configurar la validación de esquemas de API de REST y gRPC mediante la GUI

Para configurar o modificar la validación del esquema de las API de REST y gRPC:

  1. Vaya a Seguridad> NetScaler Web App Firewall > **Perfiles.
  2. Seleccione un perfil definido por el usuario y haga clic en Modificar.
  3. En la página del perfil de NetScaler Web App Firewall, en la sección Configuración avanzada, haga clic en Comprobaciones de seguridad.
  4. En la sección Comprobaciones de seguridad, seleccione Validación del esquema de la API REST o Validación del esquema de la API gRPC y haga clic en Configuración de acciones.
  5. En la página Acciones, defina el parámetro Acción. Puede seleccionar o desmarcar la opción.
  6. Haga clic en OK.

Nota:

Anule la selección de la opción URL de inicio antes de configurar la comprobación de seguridad para la validación del esquema de API.

Configurar la regla de relajación para la validación del esquema de API mediante la CLI

Configure una regla de relajación para evitar que determinado tráfico se valide con el esquema especificado en la especificación de la API vinculada al perfil web de App Firewall.

Para configurar la regla de relajación para la validación del esquema de la API REST, en la línea de comando, escriba:

bind appfw profile <profile name> -restValidation <REST relaxation pattern> -ruleAction <Log|None>

  • Patrón de relajación REST: el patrón de URL al que se aplica la relajación. Los patrones pueden incluir variables y definiciones de caracteres comodín, como se describe en la proto del enlace actual de las API de Google: https://github.com/googleapis/googleapis/blob/master/google/api/http.proto

    No es necesario que la URL especificada forme parte de la especificación de la API.

    Nota: El prefijo del patrón debe tener un método HTTP (p. ej. GET, PUT, POST, DELETE, PATCH) seguido de dos puntos (:). Ejemplo:

    • GET: /v1/ {name=messages/*}: permite direcciones URL de tres segmentos que comiencen por /v1/messages y el método es GET.
    • PATCH: /v1/messages/ {message_id=**}: permite cualquier cosa con el prefijo /v1/messages y el método es PATCH.
    • POST: /v1/lists/**: Permite cualquier cosa con el prefijo /v1/lists y el método es POST.
    • ://engineering/**: permite cualquier URL que tenga el segundo segmento como ingeniería, independientemente del método.
  • Registro o ninguno: especifica si se generan registros para el tráfico omitido que coincide con la regla. Cuando la acción está configurada para registrar, las URL flexibles y las reglas correspondientes se descargan en los registros del sistema. Cuando la acción está configurada para registrarse, las URL relajadas y la regla correspondiente se registran en los registros del sistema.

Para configurar la regla de relajación para la validación del esquema de la API gRPC, en la línea de comandos, escriba:

bind appfw profile <profile name> -grpcValidation <gRPC pattern> -ruleAction <Log|None>

  • Patrón de gRPC: el patrón de los puntos finales de gRPC para los que se aplica la relajación. No es necesario que el método gRPC especificado forme parte de la especificación de la API.

    Ejemplo:

    • Citrix.api.doc.AddBook: permite el RPC AddBook en el paquete citrix.api.doc.
    • test.api.** - Permite todos los RPC de los paquetes, empezando por test.api.
    • *.ingeniería.** - Permite todos los RPC que tengan ingeniería como segundo segmento del nombre del paquete.
  • Registro Ninguno: especifica si se generan registros para el tráfico omitido que coincide con la regla.

Configurar la regla de relajación para la validación del esquema de la API mediante la GUI

Validación del esquema de la API REST

  1. Vaya a Seguridad > Firewall de Aplicaciones Web de NetScaler > Perfiles.
  2. Seleccione un perfil definido por el usuario y haga clic en Modificar.
  3. En la página Perfil de NetScaler Web App Firewall, en la sección Configuración avanzada, haga clic en Regla de relajación.
  4. Seleccione la validación del esquema de la API REST y haga clic en Modificar.
  5. En la página Reglas de relajación de validación de esquemas de API REST, haga clic en Agregar.
  6. En la página Regla de relajación de la validación del esquema de la API REST, especifique los siguientes detalles:

    1. Activado: seleccione la opción para activar la regla de relajación.
    2. Patrón de URL en reposo: introduzca el patrón de URL al que se aplica la relajación.
    3. Acción de relajación de URL REST: seleccione una acción.
    4. Comentarios: descripción de la expresión.
    5. ID de recurso: ID único para identificar el recurso.
    6. Haga clic en Crear. La regla de relajación de validación de esquemas de API REST recién agregada aparece en la página Reglas de relajación de validación de esquemas de API REST.

Validación del esquema de la API gRPC

  1. Vaya a Seguridad > Firewall de Aplicaciones Web de NetScaler > Perfiles.
  2. En la página Perfiles, seleccione un perfil y haga clic en Modificar.
  3. En la página Perfil de NetScaler Web App Firewall, en la sección Configuración avanzada, haga clic en Regla de relajación.
  4. Seleccione la validación del esquema de la API gRPC y haga clic en Modificar.
  5. En la página Reglas de relajación de validación del esquema de la API gRPC, haga clic en Agregar.
  6. En la página Regla de relajación de la validación del esquema de la API gRPC, especifique los siguientes detalles:
    1. Activado: seleccione la opción para activar la regla de relajación.
    2. Patrón del método gRPC: introduzca el patrón del método gRPC al que se aplica la relajación
    3. Acción de relajación de URL REST: seleccione cualquiera de las acciones.
    4. Comentarios: descripción de la expresión.
    5. ID de recurso: ID único para identificar el recurso.
    6. Haga clic en Crear. La regla de relajación de la validación del esquema de la API de gRPC recién agregada aparece en la página Reglas de relajación de la validación del esquema de la API de gRPC.