ADC

Proteja AWS API Gateway mediante el Web App Firewall NetScaler

Puede implementar un dispositivo NetScaler en frente de su AWS API Gateway y proteger la puerta de enlace de API de amenazas externas. NetScaler Web App Firewall (WAF) puede defender su API contra las 10 principales amenazas y los ataques de día cero de OWASP. NetScaler Web App Firewall utiliza una única base de código en todos los formatos de ADC. Por lo tanto, puede aplicar y aplicar directivas de seguridad de manera consistente en cualquier entorno. El NetScaler Web App Firewall es fácil de implementar y está disponible como una licencia única. El Web App Firewall de NetScaler le ofrece las siguientes funciones:

  • Configuración simplificada
  • Administració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 NetScaler. Para obtener más información, consulte la documentación de NetScaler. 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 NetScaler frente a la puerta de enlace de API de AWS

En el siguiente ejemplo, se implementa un dispositivo NetScaler 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 NetScaler (192.168.1.1).
  2. El servidor virtual inspecciona el paquete y comprueba si hay contenido malicioso.
  3. El dispositivo NetScaler 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 NetScaler 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 NetScaler.
  7. El dispositivo NetScaler inspecciona los paquetes y los descarta en función de la acción configurada.

Configurar el dispositivo NetScaler con WAF habilitado

Para habilitar WAF en un dispositivo NetScaler, 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 NetScaler. 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 NetScaler 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 NetScaler 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 NetScaler 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 NetScaler.

Características y capacidades de NetScaler

El dispositivo NetScaler, además de proteger la implementación, también puede mejorar la solicitud en función de los requisitos del usuario. El dispositivo NetScaler 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 NetScaler 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 NetScaler.
  • 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 NetScaler 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 NetScaler 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 NetScaler.

Proteja AWS API Gateway mediante el Web App Firewall NetScaler