使用 NetScaler Web 应用防火墙保护 AWS API 网关

Last published : Oct 06, 2026
您可以在 AWS API 网关前部署 NetScaler 设备,并保护 API 网关免受外部威胁。NetScaler Web 应用防火墙 (WAF) 可以保护您的 API 免受 OWASP 十大威胁和零日攻击。NetScaler Web 应用防火墙在所有 ADC 外形规格中都使用单一代码库。因此,您可以在任何环境中一致地应用和实施安全策略。NetScaler Web 应用防火墙易于部署,并以单一许可证形式提供。NetScaler Web 应用防火墙为您提供以下功能:
  • 简化配置
  • 机器人管理
  • 整体可见性
  • 从多个源收集数据并在统一屏幕中显示数据
除了 API 网关保护之外,您还可以使用其他 NetScaler 功能。有关更多信息,请参阅 NetScaler 文档。此外,为了避免数据中心故障转移并最大限度地减少停机时间,您可以将 ADC 部署在可用区内或跨可用区的高可用性配置中。您还可以使用或配置具有自动扩展功能的集群。
此前,AWS API 网关不支持保护其背后应用程序所需的防护措施。如果没有 Web 应用防火墙 (WAF) 保护,API 很容易受到安全威胁。

在 AWS API 网关前部署 NetScaler 设备

在以下示例中,NetScaler 设备部署在 AWS API 网关前。
在 AWS API 网关前部署 ADC
假设有一个针对 AWS Lambda 服务的真实 API 请求。此请求可以针对 Amazon API Gateway 文档 中提到的任何 API 服务。如上图所示,流量流如下:
  1. 客户端向 AWS Lambda 函数 (XYZ) 发送请求。此客户端请求被发送到 NetScaler 虚拟服务器 (192.168.1.1)。
  2. 虚拟服务器检查数据包并检查是否存在任何恶意内容。
  3. NetScaler 设备触发重写策略以更改客户端请求中的主机名和 URL。例如,您希望将 https://restapi.citrix.com/default/LamdaFunctionXYZ 更改为 https://citrix.execute-api.<region>.amazonaws.com/default/LambdaFunctionXYZ。
  4. NetScaler 设备将此请求转发到 AWS API 网关。
  5. AWS API 网关进一步将请求发送到 Lambda 服务并调用 Lambda 函数“XYZ”。
  6. 同时,如果攻击者发送包含恶意内容的 API 请求,则恶意请求将到达 NetScaler 设备。
  7. NetScaler 设备检查数据包并根据配置的操作丢弃数据包。

配置启用 WAF 的 NetScaler 设备

要在 NetScaler 设备上启用 WAF,请执行以下步骤:
  1. 添加内容交换或负载平衡虚拟服务器。假设虚拟服务器的 IP 地址为 192.168.1.1,它解析为域名 (restapi.citrix.com)。
  2. 在 NetScaler 虚拟服务器上启用 WAF 策略。有关详细信息,请参阅配置 Web App Firewall。
  3. 启用重写策略以更改域名。例如,您希望将传入到“restapi.citrix.com”域名的负载平衡器的请求重写为后端 AWS API 网关的“citrix.execute-api.<region>.amazonaws”域名。
  4. 在 NetScaler 设备上启用 L3 模式,使其充当代理。使用以下命令:
    enable ns mode L3
在上述示例的步骤 3 中,假设网站管理员希望 NetScaler 设备将“restapi.citrix.com”域名替换为“citrix.execute-api.<region>.amazonaws.com”,并将 URL 替换为“default/lambda/XYZ”。
以下过程描述了如何使用重写功能更改客户端请求中的主机名和 URL:
  1. 使用 SSH 登录到 NetScaler 设备。
  2. 添加重写操作。
    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\""
  3. 为重写操作添加重写策略。
    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
  4. 将重写策略绑定到虚拟服务器。
    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

NetScaler 功能和特性

NetScaler 设备除了保护部署外,还可以根据用户要求增强请求。NetScaler 设备提供以下主要功能。
  • 负载均衡 API 网关: 如果您有多个 API 网关,可以使用 NetScaler 设备对多个 API 网关进行负载均衡,并定义 API 请求的行为。
    • 有多种负载均衡方法可用。例如,最少连接方法可避免 API 网关限制过载,自定义负载方法可在特定 API 网关上保持特定负载,等等。有关详细信息,请参阅负载均衡算法。
    • SSL 卸载在不中断流量的情况下进行配置。
    • 启用使用源 IP (USIP) 模式以保留客户端 IP 地址。
    • 用户定义的 SSL 设置:您可以拥有自己的 SSL 虚拟服务器,并使用自己的签名证书和算法。
    • 备份虚拟服务器:如果 API 网关不可达,您可以将请求发送到备份虚拟服务器以进行进一步操作。
    • 还有许多其他负载均衡功能可用。有关详细信息,请参阅在 NetScaler 设备上均衡流量。
  • 身份验证、授权和审计: 您可以定义自己的身份验证方法,如 LDAP、SAML、RADIUS,并授权和审计 API 请求。
  • 响应程序: 您可以在关机期间将 API 请求重定向到其他 API 网关。
  • 速率限制: 您可以配置速率限制功能,以避免 API 网关过载。
  • 更高的可用性: 您可以在高可用性设置或群集设置中配置 NetScaler 设备,为您的 AWS API 流量提供更高的可用性。
  • **REST API:**支持 REST API,可用于自动化云生产环境中的工作。
  • **监控数据:**监控并记录数据以供参考。
NetScaler 设备提供了更多功能,可以与 AWS API 网关集成。有关更多信息,请参阅 NetScaler 文档。