Citrix ADC

Proteja AWS API Gateway mediante el firewall de aplicaciones web de Citrix

Puede implementar un dispositivo Citrix ADC en frente de su AWS API Gateway y proteger la puerta de enlace de API de amenazas externas. Citrix Web Application Firewall (WAF) puede defender su API contra las 10 amenazas principales y los ataques zero-day de OWASP. Citrix WAF utiliza una base de código única en todos los factores de forma de ADC. Por lo tanto, puede aplicar y aplicar directivas de seguridad de manera consistente en cualquier entorno. Citrix WAF es fácil de implementar y está disponible como una licencia única. Citrix WAF le proporciona las siguientes funciones:

  • Configuración simplificada
  • Gestión de bots
  • Visibilidad integral
  • Recopilar datos de varias fuentes y mostrar los datos en una pantalla unificada

Además de la protección de puerta de enlace de API, también puede usar las demás funciones de Citrix ADC. Para obtener más información, consulte la documentación de Citrix ADC. Además de evitar las conmutaciones por error del centro de datos y minimizar el tiempo de apagado, puede colocar ADC en alta disponibilidad dentro o entre las zonas de disponibilidad. También puede usar o configurar la agrupación en clústeres con la función Autoscale.

Anteriormente, AWS API Gateway no admitía las protecciones necesarias para proteger las aplicaciones detrás de él. Sin las protecciones de firewall de aplicaciones web (WAF), las API eran propensas a las amenazas de seguridad.

Implementar el dispositivo Citrix ADC frente a la puerta de enlace de API de AWS

En el siguiente ejemplo, se implementa un dispositivo Citrix ADC frente a la puerta de enlace de la API de AWS.

Implemente ADC frente a la puerta de enlace de la API de AWS

Supongamos que hay una solicitud de API genuina para el servicio de AWS Lambda. Esta solicitud puede ser para cualquiera de los servicios de API, como se menciona en la documentación de Amazon API Gateway. Como se muestra en el diagrama anterior, el flujo de tráfico es el siguiente:

  1. El cliente envía una solicitud a la función AWS Lambda (XYZ). Esta solicitud de cliente se envía al servidor virtual Citrix ADC (192.168.1.1).
  2. El servidor virtual inspecciona el paquete y comprueba si hay contenido malicioso.
  3. El dispositivo Citrix ADC desencadena una directiva de reescritura para cambiar el nombre de host y la URL en una solicitud de cliente. Por ejemplo, quiere cambiar https://restapi.citrix.com/default/LamdaFunctionXYZ a https://citrix.execute-api.<region>.amazonaws.com/default/LambdaFunctionXYZ.
  4. El dispositivo Citrix ADC reenvía esta solicitud a la puerta de enlace de la API de AWS.
  5. AWS API Gateway envía la solicitud al servicio de Lambda y llama a la función de Lambda “XYZ”.
  6. Al mismo tiempo, si un atacante envía una solicitud de API con contenido malicioso, la solicitud maliciosa llega al dispositivo Citrix ADC.
  7. El dispositivo Citrix ADC inspecciona los paquetes y los descarta en función de la acción configurada.

Configurar el dispositivo Citrix ADC con WAF habilitado

Para habilitar WAF en un dispositivo Citrix ADC, lleve a cabo los siguientes pasos:

  1. Agregue un servidor virtual de conmutación de contenido o equilibrio de carga. Supongamos que la dirección IP del servidor virtual es 192.168.1.1, que se resuelve en un nombre de dominio (restapi.citrix.com).
  2. Habilite la directiva WAF en el servidor virtual Citrix ADC. Para obtener más información, consulte Configuración de Web App Firewall.
  3. Habilite la directiva de reescritura para cambiar el nombre de dominio. Supongamos que quiere cambiar la solicitud entrante a un equilibrador de carga en el nombre de dominio “restapi.citrix.com” para que se vuelva a escribir en la puerta de enlace de la API de AWS de back-end en “citrix.execute-api”.<region>.amazonaws”.
  4. Habilite el modo L3 en el dispositivo Citrix ADC para que actúe como proxy. Utilice el siguiente comando:

    enable ns mode L3
    <!--NeedCopy-->
    

En el paso 3 del ejemplo anterior, supongamos que el administrador del sitio web quiere que el dispositivo Citrix ADC reemplace el nombre de dominio “restapi.citrix.com” por “citrix.execute-api.<region>.amazonaws.com” y la URL con “Default/Lambda/xyz”.

El siguiente procedimiento describe cómo cambiar el nombre de host y la URL en una solicitud de cliente mediante la función de reescritura:

  1. Inicie sesión en el dispositivo Citrix ADC mediante SSH.
  2. Agregue acciones de reescritura.

    add rewrite action rewrite_host_hdr_act replace "HTTP.REQ.HEADER("Host")" ""citrix.execute-api.<region>.amazonaws.com""
    
    add rewrite action rewrite_url_act replace HTTP.REQ.URL.PATH_AND_QUERY ""/default/lambda/XYZ""
    <!--NeedCopy-->
    
  3. Agregue directivas de reescritura para las acciones de reescritura.

    add rewrite policy rewrite_host_hdr_pol "HTTP.REQ.HEADER("Host").CONTAINS("restapi.citrix.com") "rewrite_host_hdr_act
    
    add rewrite policy rewrite_url_pol "HTTP.REQ.HEADER("Host").CONTAINS("restapi.citrix.com") "rewrite_url_act
    <!--NeedCopy-->
    
  4. Enlazar las directivas de reescritura a un servidor virtual.

    bind lb vserver LB_API_Gateway -policyName rewrite_host_hdr_pol -priority 10 -gotoPriorityExpression 20 -type REQUEST
    
    bind lb vserver LB_API_Gateway -policyName rewrite_url_pol -priority 20 -gotoPriorityExpression END -type REQUEST
    <!--NeedCopy-->
    

Para obtener más información, consulte Configurar la reescritura para cambiar el nombre de host y la URL en la solicitud del cliente en el dispositivo Citrix ADC.

Características y capacidades de Citrix ADC

El dispositivo Citrix ADC, además de proteger la implementación, también puede mejorar la solicitud en función de los requisitos del usuario. El dispositivo Citrix ADC proporciona las siguientes funciones clave.

  • Equilibrar la puerta de enlace de API: Si tiene más de una puerta de enlace de API, puede equilibrar la carga de varias puertas de enlace de API mediante el dispositivo Citrix ADC y definir el comportamiento de la solicitud de API.

    • Hay diferentes métodos de equilibrio de carga disponibles. Por ejemplo, el método de conexión mínima evita la sobrecarga del límite de API Gateway, el método de carga personalizada mantiene una carga específica en una puerta de enlace de API en particular, etc. Para obtener más información, consulte Algoritmos de equilibrio de carga

    • La descarga SSL se configura sin interrumpir el tráfico.
    • El modo Usar IP de origen (USIP) está habilitado para conservar la dirección IP del cliente.
    • Configuración SSL definida por el usuario: puede tener su propio servidor virtual SSL con sus propios certificados y algoritmos firmados.
    • Servidor virtual de respaldo: si no se puede acceder a la puerta de enlace de la API, puede enviar la solicitud a un servidor virtual de respaldo para realizar acciones adicionales.
    • Hay disponibles muchas otras funciones de equilibrio de carga. Para obtener más información, consulte Equilibrio de carga del tráfico en un dispositivo Citrix ADC.
  • Autenticación, autorización y auditoría: puede definir sus propios métodos de autenticación, como LDAP, SAML, RADIUS, y autorizar y auditar las solicitudes de API.

  • Respondedor: puede redirigir las solicitudes de API a otra puerta de enlace de API durante el tiempo de cierre.

  • Limitación de velocidad: puede configurar la función de limitación de velocidad para evitar la sobrecarga de una puerta de enlace de API.

  • Mejor disponibilidad: puede configurar un dispositivo Citrix ADC en una configuración de alta disponibilidad o en una configuración de clúster para brindar una mejor disponibilidad a sus tráficos de API de AWS.

  • API REST: admite la API REST, que se puede utilizar para automatizar el trabajo en entornos de producción en la nube.

  • Supervisar datos: supervisa y registra los datos como referencia.

El dispositivo Citrix ADC proporciona muchas más funciones, que se pueden integrar con la puerta de enlace de la API de AWS. Para obtener más información, consulte la documentación de Citrix ADC.

Proteja AWS API Gateway mediante el firewall de aplicaciones web de Citrix