思杰 ADC VPX 在 AWS 上的部署指南
概述
Citrix ADC 是一种应用程序交付和负载均衡解决方案,无论应用程序托管在何处,它都能为 Web、传统和云原生应用程序提供高质量的用户体验。它具有多种外形规格和部署选项,不会将用户锁定到单一配置或云中。池化容量许可允许在云部署之间移动容量。
作为服务和应用程序交付领域无可争议的领导者,Citrix ADC 部署在全球数千个网络中,以优化、保护和控制所有企业和云服务的交付。Citrix ADC 直接部署在 Web 和数据库服务器前端,将高速负载均衡和内容切换、HTTP 压缩、内容缓存、SSL 加速、应用程序流可见性以及强大的应用程序防火墙集成到一个易于使用的平台中。通过将网络数据转换为可操作的商业智能的端到端监控,大大简化了 SLA 的实现。Citrix ADC 允许使用简单的声明式策略引擎定义和管理策略,无需编程专业知识。
思杰 ADC VPX 产品
Citrix ADC VPX 产品是一种虚拟设备,可以托管在各种虚拟化和云平台上。
本部署指南重点介绍亚马逊云科技上的 Citrix ADC VPX。
亚马逊云科技
Amazon Web Services (AWS) 是亚马逊提供的一个全面、不断发展的云计算平台,它包括基础设施即服务 (IaaS)、平台即服务 (PaaS) 和打包软件即服务 (SaaS) 产品的组合。AWS 服务提供计算能力、数据库存储和内容交付服务等工具。
AWS 提供以下基本服务:
-
AWS 计算服务
-
迁移服务项目
-
存储
-
数据库服务
-
管理工具
-
安全保障服务
-
数据分析
-
网络功能
-
消息传递
-
开发人员工具
-
移动服务
AWS 术语
以下是本文档中使用的关键术语的简要说明,用户必须熟悉这些术语:
-
弹性网络接口 (ENI) – 用户可以附加到虚拟私有云 (VPC) 中实例的虚拟网络接口。
-
弹性 IP (EIP) 地址 – 用户在 Amazon EC2 或 Amazon VPC 中分配并附加到实例的静态公共 IPv4 地址。弹性 IP 地址与用户账户关联,而不是与特定实例关联。它们是弹性的,因为用户可以根据需要轻松地分配、附加、分离和释放它们。
-
子网 – VPC IP 地址范围的一个分段,EC2 实例可以附加到该分段。用户可以创建子网,根据安全和操作需求对实例进行分组。
-
虚拟私有云 (VPC) – 一种 Web 服务,用于在 AWS 云中预置逻辑隔离的部分,用户可以在其中定义的虚拟网络中启动 AWS 资源。
以下是本文档中使用的其他术语的简要说明,用户应熟悉这些术语:
-
Amazon Machine Image (AMI) – 一种机器映像,提供启动实例(即云中的虚拟服务器)所需的信息。
-
弹性块存储 – 提供持久性块存储卷,用于 AWS 云中的 Amazon EC2 实例。
-
简单存储服务 (S3) – 互联网存储服务。它旨在让开发人员更轻松地进行网络规模计算。
-
弹性计算云 (EC2) – 一种在云中提供安全、可调整大小的计算容量的 Web 服务。它旨在让开发人员更轻松地进行网络规模云计算。
-
弹性 Kubernetes 服务 (EKS) – Amazon EKS 是一项托管服务,使用户无需自行搭建或维护 Kubernetes 控制平面即可轻松在 AWS 上运行 Kubernetes。… Amazon EKS 在多个可用区中运行 Kubernetes 控制平面实例,以确保高可用性。Amazon EKS 是一项托管服务,使用户无需安装和操作自己的 Kubernetes 集群即可轻松在 AWS 上运行 Kubernetes。
-
应用负载均衡 (ALB) – Amazon ALB 在 OSI 堆栈的第 7 层运行,因此当用户希望根据 HTTP 或 HTTPS 连接的元素(无论是基于主机还是基于路径)路由或选择流量时,就会使用它。ALB 连接是上下文感知的,可以根据任何单个变量进行直接请求。应用程序的负载均衡是基于其特有的行为,而不仅仅是基于服务器(操作系统或虚拟化层)信息。
-
弹性负载均衡 (ALB/ELB/NLB) – Amazon ELB 将传入的应用程序流量分配到多个可用区中的多个 EC2 实例。这提高了用户应用程序的容错能力。
-
网络负载均衡 (NLB) – Amazon NLB 在 OSI 堆栈的第 4 层及以下运行,不考虑应用层的任何内容,例如内容类型、Cookie 数据、自定义标头、用户位置或应用程序行为。它是无上下文的,只关心其所导向的数据包中包含的网络层信息。它根据网络变量(例如 IP 地址和目标端口)分配流量。
-
实例类型 – Amazon EC2 提供多种实例类型,经过优化以适应不同的用例。实例类型包含 CPU、内存、存储和网络容量的不同组合,使用户可以灵活地为其应用程序选择适当的资源组合。
-
身份和访问管理 (IAM) – 一个具有权限策略的 AWS 身份,这些策略决定了该身份在 AWS 中可以做什么和不能做什么。用户可以使用 IAM 角色,使在 EC2 实例上运行的应用程序能够安全地访问其 AWS 资源。在高可用性设置中部署 VPX 实例需要 IAM 角色。
-
互联网网关 – 将网络连接到互联网。用户可以将 VPC 外部 IP 地址的流量路由到互联网网关。
-
密钥对 – 一组安全凭证,用户可以通过它们以电子方式证明自己的身份。密钥对由私钥和公钥组成。
-
路由表 – 一组路由规则,用于控制离开与路由表关联的任何子网的流量。用户可以将多个子网与单个路由表关联,但一个子网一次只能与一个路由表关联。
-
自动扩缩组 – 一种 Web 服务,可根据用户定义的策略、计划和运行状况检查自动启动或终止 Amazon EC2 实例。
-
CloudFormation – 一项用于编写或更改模板的服务,这些模板可将相关的 AWS 资源作为一个单元一起创建和删除。
-
Web 应用程序防火墙 (WAF) – WAF 被定义为一种安全解决方案,用于保护 OSI 网络模型中的 Web 应用程序层。WAF 不依赖于其所保护的应用程序。本文档重点介绍和评估 Citrix WAF 专门提供的安全方法和功能。
-
机器人 – 机器人被定义为网络(尤其是互联网)上的自主设备、程序或软件,可以与计算机系统或用户交互以运行命令、回复消息或执行例行任务。机器人是互联网上执行重复任务的软件程序。有些机器人可能是好的,而另一些则可能对网站或应用程序产生巨大的负面影响。
亚马逊云科技上的思杰 WAF 架构示例

上图显示了一个具有默认参数的虚拟私有云 (VPC),它在 AWS 云中构建了一个 Citrix WAF 环境。
在生产部署中,为 Citrix WAF 环境设置了以下参数:
-
此架构假定使用亚马逊云科技云形成模板和亚马逊云科技快速入门指南,可在以下位置找到:GitHub/AWS-Quickstart/Quickstart-Citrix-ADC-VPX。
-
一个跨越两个可用区的 VPC,根据 AWS 最佳实践配置了两个公共子网和四个私有子网,为您在 AWS 上提供自己的虚拟网络,其中包含一个 /16 无类别域间路由 (CIDR) 块(一个拥有 65,536 个私有 IP 地址的网络)。*
-
两个 Citrix WAF 实例(主实例和辅助实例),每个可用区一个。
-
三个安全组,每个网络接口(管理、客户端、服务器)一个,充当虚拟防火墙以控制其关联实例的流量。
-
三个子网,每个实例一个——一个用于管理,一个用于客户端,一个用于后端服务器。
-
一个连接到 VPC 的互联网网关,以及一个与公共子网关联的公共子网路由表,以便允许访问互联网。此网关由 WAF 主机用于发送和接收流量。有关互联网网关的更多信息,请参阅:Internet Gateways。*
-
5 个路由表——一个公共路由表与主 WAF 和辅助 WAF 的客户端子网关联。其余 4 个路由表链接到 4 个私有子网中的每一个(主 WAF 和辅助 WAF 的管理和服务器端子网)。*
-
WAF 中的 AWS Lambda 负责以下事项:
-
在 HA 模式的每个可用区中配置两个 WAF
-
创建示例 WAF 配置文件,从而推送与 WAF 相关的此配置
-
-
AWS Identity and Access Management (IAM) 用于安全地控制用户对 AWS 服务和资源的访问。默认情况下,CloudFormation 模板 (CFT) 会创建所需的 IAM 角色。但是,用户可以为 Citrix ADC 实例提供自己的 IAM 角色。
-
在公共子网中,两个托管的网络地址转换 (NAT) 网关,用于允许公共子网中的资源进行出站互联网访问。
注意:
将 Citrix WAF 部署到现有 VPC 中的 CFT WAF 模板会跳过标有星号的组件,并提示用户输入其现有的 VPC 配置。
后端服务器不由 CFT 部署。
AWS 上 Citrix Web 应用防火墙的逻辑流程

逻辑流程
Web 应用程序防火墙可以作为第 3 层网络设备或第 2 层网络桥接安装在客户服务器和客户用户之间,通常位于客户公司的路由器或防火墙之后。它必须安装在能够拦截用户希望保护的 Web 服务器与用户访问这些 Web 服务器所通过的集线器或交换机之间的流量的位置。然后,用户配置网络,将请求发送到 Web 应用程序防火墙,而不是直接发送到其 Web 服务器;将响应发送到 Web 应用程序防火墙,而不是直接发送给其用户。Web 应用程序防火墙在将流量转发到最终目的地之前对其进行过滤,同时使用其内部规则集以及用户添加和修改。它会阻止或消除其检测到的任何有害活动,然后将剩余流量转发到 Web 服务器。上图提供了过滤过程的概述。
注意:
该图省略了将策略应用于传入流量的部分。它说明了一种安全配置,其中策略是处理所有请求。此外,在此配置中,已配置签名对象并将其与配置文件关联,并且已在配置文件中配置了安全检查。
如图所示,当用户请求受保护网站上的 URL 时,Web 应用程序防火墙首先检查请求以确保它不匹配签名。如果请求匹配签名,Web 应用程序防火墙会显示错误对象(位于 Web 应用程序防火墙设备上的网页,用户可以使用导入功能进行配置)或将请求转发到指定的错误 URL(错误页面)。
如果请求通过签名检查,Web 应用程序防火墙将应用已启用的请求安全检查。请求安全检查会验证请求是否适用于用户网站或 Web 服务,并且不包含可能构成威胁的材料。例如,安全检查会检查请求中是否存在指示其可能属于意外类型、请求意外内容或包含意外且可能恶意 Web 表单数据、SQL 命令或脚本的迹象。如果请求未能通过安全检查,Web 应用程序防火墙会清理请求,然后将其发送回 Citrix ADC 设备(或 Citrix ADC 虚拟设备),或者显示错误对象。如果请求通过安全检查,则会将其发送回 Citrix ADC 设备,该设备完成任何其他处理并将请求转发到受保护的 Web 服务器。
当网站或 Web 服务向用户发送响应时,Web 应用程序防火墙会应用已启用的响应安全检查。响应安全检查会检查响应中是否存在敏感私人信息泄露、网站篡改迹象或其他不应存在的内容。如果响应未能通过安全检查,Web 应用程序防火墙会删除不应存在的内容或阻止响应。如果响应通过安全检查,则会将其发送回 Citrix ADC 设备,该设备将其转发给用户。
成本和许可
用户负责运行 AWS 部署时所使用的 AWS 服务的成本。可用于此部署的 AWS CloudFormation 模板包含用户可根据需要自定义的配置参数。其中一些设置(例如实例类型)会影响部署成本。有关成本估算,用户应参考其正在使用的每个 AWS 服务的定价页面。价格可能会发生变化。
AWS 上的 Citrix ADC WAF 需要许可证。要许可 Citrix WAF,用户必须将许可证密钥放置在 S3 存储桶中,并在启动部署时指定其位置。
注意:
当用户选择自带许可证 (BYOL) 许可模式时,应确保已启用 AppFlow 功能。有关 BYOL 许可的更多信息,请参阅:AWS Marketplace/Citrix ADC VPX - 客户许可。
以下是适用于在 AWS 上运行的 Citrix ADC WAF 的许可选项。用户可以根据吞吐量等单一因素选择 AMI(Amazon Machine Image)。
-
许可模式:即用即付 (PAYG,适用于生产许可证) 或自带许可证 (BYOL,适用于客户许可的 AMI - Citrix ADC 池容量)。有关 Citrix ADC 池容量的更多信息,请参阅:Citrix ADC 池容量。
-
对于 BYOL,有 3 种许可模式:
-
配置 思杰 ADC 池容量:配置 思杰 ADC 池容量
-
思杰 应用交付控制器 VPX 签入和签出许可 (CICO):思杰 应用交付控制器 VPX 签入和签出许可
提示:
如果用户选择 CICO 许可,并使用 VPX-200、VPX-1000、VPX-3000、VPX-5000 或 VPX-8000 应用程序平台类型,则应确保其 ADM 许可服务器中存在相同的吞吐量许可证。
- 思杰 ADC 虚拟 CPU 许可:思杰 ADC 虚拟 CPU 许可
-
-
注意:
如果用户希望动态修改 VPX 实例的带宽,则应选择 BYOL 选项,例如Citrix ADC 池容量,他们可以从 Citrix ADM 分配许可证,或者他们可以根据实例的最小和最大容量按需从 Citrix ADC 实例签出许可证,而无需重新启动。仅当用户想要更改许可证版本时才需要重新启动。
-
吞吐量:200 兆比特每秒 或 1 吉比特每秒
-
捆绑包:高级版
部署配置选项
本部署指南提供两种部署选项:
-
第一个选项是使用快速入门指南格式和以下选项进行部署:
-
将 Citrix WAF 部署到新的 VPC 中(端到端部署)。此选项构建一个新的 AWS 环境,包括 VPC、子网、安全组和其他基础设施组件,然后将 Citrix WAF 部署到此新的 VPC 中。
-
将 Citrix WAF 部署到现有 VPC 中。此选项在用户现有的 AWS 基础设施中预置 Citrix WAF。
-
-
第二个选项是,利用 Citrix ADM 管理平台,通过 WAF StyleBooks 功能来进行部署。
使用快速入门指南的部署步骤
步骤 1:登录用户 AWS 账户
-
使用具有创建 Amazon 账户(如有必要)或登录 Amazon 账户所需权限的 IAM (Identity and Access Management) 用户角色,登录 AWS 上的用户账户:AWS。
-
使用导航栏中的区域选择器,选择用户希望在其中跨 AWS 可用区部署高可用性的 AWS 区域。
-
确保用户 AWS 账户配置正确,有关更多信息,请参阅本文档的技术要求部分。
步骤 2:订阅 Citrix WAF 亚马逊机器映像
-
此部署需要订阅 AWS 应用商店中 Citrix WAF 的亚马逊机器映像。
-
登录用户 AWS 账户。
-
通过选择下表中的一个链接,打开 Citrix WAF 产品的页面。
- 当用户在下面的第 3 步中启动快速入门指南以部署 Citrix WAF 时,他们使用 Citrix WAF 映像 参数来选择与其 AMI 订阅匹配的捆绑包和吞吐量选项。以下列表显示了 AMI 选项和相应的参数设置。VPX AMI 实例至少需要 2 个虚拟 CPU 和 2 GB 内存。
注意:
To retrieve the AMI ID, refer to the Citrix Products on AWS Marketplace page on GitHub: Citrix Products on AWS Marketplace.
-
AWS 市场镜像
-
思杰网络应用程序防火墙 (WAF) - 200 兆位/秒:思杰网络应用程序防火墙 (WAF) - 200 兆位/秒
-
思杰网络应用程序防火墙 (WAF) - 1000 兆位/秒:思杰网络应用程序防火墙 (WAF) - 1000 兆位/秒
-
-
在 AMI 页面上,选择 继续订阅。

- 查看软件使用条款和条件,然后选择 接受条款。

注意:
用户会收到一个确认页面,并且一封电子邮件确认会发送给账户所有者。有关详细的订阅说明,请参阅 AWS Marketplace 文档中的“入门”:入门。
- 订阅过程完成后,无需进一步操作即可退出 AWS Marketplace。请勿从 AWS Marketplace 预置软件——用户将使用快速入门指南部署 AMI。
步骤 3:启动快速入门指南以部署 AMI
-
登录用户 AWS 账户,然后选择以下选项之一来启动 AWS CloudFormation 模板。有关选择选项的帮助,请参阅本指南前面部分的部署选项。
-
使用此处提供的亚马逊云科技 CloudFormation 模板之一,将 Citrix VPX 部署到亚马逊云科技上的新 VPC 中:
-
Deploy Citrix WAF into a new or existing VPC on AWS using the AWS Quickstart template located here: AWS-Quickstart/Quickstart-Citrix-ADC- WAF
-
重要提示:
如果用户将 Citrix WAF 部署到现有 VPC 中,他们必须确保其 VPC 跨越两个可用区,每个可用区中包含一个公共子网和两个私有子网用于工作负载实例,并且子网未共享。本部署指南不支持共享子网,请参阅使用共享 VPC:Working with Shared VPCs。这些子网在其路由表中需要 NAT 网关,以允许实例下载软件包和软件,而无需将其暴露给互联网。有关 NAT 网关的更多信息,请参阅:NAT Gateways。配置子网,使其没有重叠。
此外,用户应确保 DHCP 选项中的域名选项已按照此处找到的 Amazon VPC 文档中的说明进行配置:DHCP 选项集:DHCP Options Sets。用户在启动快速入门指南时会提示输入其 VPC 设置。
-
每次部署大约需要 15 分钟才能完成。
-
检查导航栏右上角显示的 AWS 区域,如有必要请进行更改。这是构建 Citrix WAF 网络基础设施的位置。默认情况下,模板在美国东部(俄亥俄州)区域启动。
注意:
此部署包含 Citrix WAF,目前并非所有 AWS 区域都支持。有关支持区域的当前列表,请参阅 AWS 服务终端节点:AWS Service Endpoints。
-
在“选择模板”页面上,保留模板 URL 的默认设置,然后选择“下一步”。
-
在“指定详细信息”页面上,根据用户方便指定堆栈名称。审查模板的参数。为需要输入的参数提供值。对于所有其他参数,审查默认设置并根据需要进行自定义。
-
在下表中,参数将根据其类别进行列出,并针对部署选项进行单独的详细说明:
-
将 Citrix WAF 部署到新 VPC 或现有 VPC 的参数(部署选项 1)
-
当用户完成参数的审阅和自定义后,应选择下一步。
将 Citrix WAF 部署到新 VPC 的参数
VPC 网络配置
For reference information on this deployment refer to the CFT template here: AWS-Quickstart/Quickstart-Citrix-ADC-WAF/Templates.
| 参数标签(名称) | 默认值 | 描述 |
|---|---|---|
| Primary Availability Zone (PrimaryAvailabilityZone) | 需要输入 | 用于主 Citrix WAF 部署的可用区 |
| 辅助可用区 (辅助可用区) | 需要输入 | 用于辅助 Citrix WAF 部署的可用区 |
| VPC CIDR (VPCCIDR) | 10.0.0.0/16 | VPC 的 CIDR 块。必须是 x.x.x.x/x 形式的有效 IP CIDR 范围。 |
| 远程 安全外壳 无类别域间路由 IP (管理) (RestrictedSSHCIDR) | 需要输入 | 可以 SSH 到 EC2 实例的 IP 地址范围(端口:22)。 |
| 远程 超文本传输协议 无类别域间路由 IP (客户端) (RestrictedWebAppCIDR) | 0.0.0.0/0 | 可以 HTTP 到 EC2 实例的 IP 地址范围(端口:80) |
| 远程 超文本传输协议 无类别域间路由 互联网协议(客户端) (RestrictedWebAppCIDR) | 0.0.0.0/0 | 可以 HTTP 到 EC2 实例的 IP 地址范围(端口:80) |
| Primary Management Private Subnet CIDR (PrimaryManagementPrivateSubnetCIDR) | 10.0.1.0/24 | 位于可用区 1 中的主管理子网的 CIDR 块。 |
| Primary Management Private IP (PrimaryManagementPrivateIP) | — | 分配给主管理 ENI 的私有 IP(最后一个八位字节必须介于 5 到 254 之间),来自主管理子网 CIDR。 |
| Primary Client Public Subnet CIDR (PrimaryClientPublicSubnetCIDR) | 10.0.2.0/24 | 位于可用区 1 中的主客户端子网的 CIDR 块。 |
| Primary Client Private IP (PrimaryClientPrivateIP) | — | 从主客户端子网 CIDR 中分配给主客户端 ENI 的私有 IP(最后一个八位字节必须介于 5 到 254 之间)。 |
| 主服务器私有子网 CIDR (主服务器私有子网CIDR) | 10.0.3.0/24 | 位于可用区 1 中的主服务器的 CIDR 块。 |
| 主服务器私有 IP (主服务器私有IP) | — | 从主服务器子网 CIDR 中分配给主服务器 ENI 的私有 IP(最后一个八位字节必须介于 5 到 254 之间)。 |
| 辅助管理私有子网 CIDR (辅助管理私有子网 CIDR) | 10.0.4.0/24 | 位于可用区 2 中的辅助管理子网的 CIDR 块。 |
| 辅助管理私有 IP (辅助管理私有 IP) | — | 分配给辅助管理 ENI 的私有 IP(最后一个八位字节必须介于 5 到 254 之间)。它将从辅助管理子网 CIDR 分配辅助管理 IP。 |
| Secondary Client Public Subnet CIDR (SecondaryClientPublicSubnetCIDR) | 10.0.5.0/24 | 位于可用区 2 中的辅助客户端子网的 CIDR 块。 |
| Secondary Client Private IP (SecondaryClientPrivateIP) | — | 分配给辅助客户端 ENI 的私有 IP(最后一个八位字节必须介于 5 到 254 之间)。它将从辅助客户端子网 CIDR 分配辅助客户端 IP。 |
| Secondary Server Private Subnet CIDR (SecondaryServerPrivateSubnetCIDR) | 10.0.6.0/24 | 位于可用区 2 中的辅助服务器子网的 CIDR 块。 |
| 辅助服务器所使用的私有互联网协议地址 (SecondaryServerPrivateIP) | — | 分配给辅助服务器 ENI 的私有 IP(最后一个八位字节必须介于 5 到 254 之间)。它将从辅助服务器子网 CIDR 分配辅助服务器 IP。 |
VPC 租用属性 (VPCTenancy) |
默认 | 允许启动到 VPC 中的实例的租用模式。选择“专用”租用模式以启动专用于单个客户的 EC2 实例。 |
堡垒主机的配置
| 参数标签(名称) | 默认值 | 描述 |
|---|---|---|
| Bastion Host required (LinuxBastionHostEIP) | 否 | 默认情况下,不会配置堡垒主机。但如果用户希望选择沙盒部署,请从菜单中选择“是”,这将在公共子网中部署一个带有 EIP 的 Linux 堡垒主机,从而使用户能够访问私有和公共子网中的组件。 |
思杰 Web 应用防火墙 配置
| 参数标签(名称) | 默认值 | 描述 |
|---|---|---|
| Key pair name (KeyPairName) | 需要输入 | 一个公钥/私钥对,允许用户在实例启动后安全地连接到用户实例。这是用户在其首选 AWS 区域中创建的密钥对;请参阅技术要求部分。 |
| Citrix ADC Instance Type (CitrixADCInstanceType) | m4.xlarge | 用于 ADC 实例的 EC2 实例类型。请确保所选的实例类型与 AWS Marketplace 中可用的实例类型一致,否则 CFT 可能会失败。 |
| Citrix ADC AMI ID (CitrixADCImageID) | — | 用于 Citrix WAF 部署的 AWS Marketplace AMI 镜像。此 AMI 镜像必须与用户在步骤 2 中订阅的 AMI 镜像相匹配。 |
思杰 ADC VPX 身份和访问管理角色 (iam:GetRole) |
— | 此模板:AWS-Quickstart/Quickstart-Citrix-ADC-VPX/Templates 创建 思杰 ADC VPX 所需的 身份和访问管理角色 和 实例配置文件。如果留空,CFT 将创建所需的 身份和访问管理角色。 |
| Client PublicIP(EIP) (ClientPublicEIP) | 否 | 如果用户希望为用户客户端网络接口分配一个公共 EIP,请选择“是”。否则,即使在部署之后,用户仍然可以在必要时稍后分配它。 |
池化许可功能配置
| 参数标签(名称) | 默认值 | 描述 |
|---|---|---|
| ADM 池化许可 | 否 | 如果选择 BYOL 许可选项,请从列表中选择是。这允许用户上传他们已购买的许可证。 |
| 在用户开始之前,他们应该配置 Citrix ADC 池化容量以确保 ADM 池化许可可用,请参阅:配置 Citrix ADC 池化容量。 | ||
| 可访问的 ADM / ADM 代理 IP | 需要输入 | 对于客户许可选项,无论用户是在本地部署 Citrix ADM 还是在云中部署代理,请确保有一个可访问的 ADM IP,该 IP 将用作输入参数。 |
| 许可模式 | 可选 | 用户可以从 3 种许可模式中选择: |
- 配置 思杰 ADC 池化容量:配置 思杰 ADC 池化容量
- 思杰应用交付控制器 VPX 签入签出许可 (CICO):思杰应用交付控制器 VPX 签入签出许可 * Citrix ADC 虚拟 CPU 许可:[Citrix ADC 虚拟 CPU 许可](https://docs.citrix.com/zh-cn/citrix-application-delivery-management-software/13/license-server/adc-virtual-cpu-licensing.html)| |**许可带宽(Mbps)**|0 Mbps|仅当许可模式为池化许可时,此字段才适用。它分配在创建 BYOL ADC 后要分配的初始许可带宽(以 Mbps 为单位)。它应该是 10 Mbps 的倍数。| |**许可版本**|Premium|池化容量许可模式的许可版本为 **Premium**| |**设备平台类型**|可选|仅当用户选择 CICO 许可模式时,才选择所需的设备平台类型。用户可获得以下选项:VPX-200、VPX-1000、VPX-3000、VPX-5000、VPX-8000| |**许可版本**|Premium|基于 vCPU 的许可的许可版本为 **Premium**。
AWS 快速入门指南配置
注意:
除非用户正在为自己的部署项目自定义快速入门指南模板,否则我们建议用户保留以下两个参数的默认设置。更改这些参数的设置将自动更新代码引用以指向新的快速入门指南位置。有关更多详细信息,请参阅此处提供的 AWS 快速入门指南贡献者指南:AWS Quick Starts/Option 1 - Adopt a Quick Start。
| 参数标签(名称) | 默认值 | 描述 |
|---|---|---|
| 快速入门指南 S3 存储桶名称 (QSS3BucketName) | aws-quickstart |
用户为其快速入门指南资产副本创建的 S3 存储桶,如果用户决定为自己使用而自定义或扩展快速入门指南。存储桶名称可以包含数字、小写字母、大写字母和连字符,但不应以连字符开头或结尾。 |
| 快速入门指南 S3 密钥前缀 (QSS3KeyPrefix) | 快速启动-思杰-ADC-VPX/ | S3 密钥名称前缀(来自对象密钥和元数据:Object Key and Metadata)用于为用户复制的快速入门指南资产模拟一个文件夹,如果用户决定为自己使用而自定义或扩展快速入门指南。此前缀可以包含数字、小写字母、大写字母、连字符和正斜杠。 |
-
在选项页面上,用户可以为堆栈中的资源指定资源标签或键值对,并设置高级选项。有关资源标签的更多信息,请参阅:资源标签。有关设置AWS CloudFormation堆栈选项的更多信息,请参阅:设置AWS CloudFormation堆栈选项。完成后,用户应选择下一步。
-
在审核页面上,审核并确认模板设置。在功能下,选中两个复选框,以确认模板创建IAM资源,并且可能需要自动扩展宏的功能。
-
选择创建以部署堆栈。
-
监控堆栈的状态。当状态为CREATE_COMPLETE时,Citrix WAF实例已准备就绪。
-
使用堆栈的输出选项卡中显示的URL来查看已创建的资源。

步骤 4:测试部署
我们将此部署中的实例称为主实例和辅助实例。每个实例都关联有不同的IP地址。当快速入门成功部署后,流量将通过在可用区1中配置的主Citrix WAF实例。在故障转移情况下,当主实例不响应客户端请求时,辅助WAF实例将接管。
主实例的虚拟IP地址的弹性IP地址会迁移到辅助实例,辅助实例将作为新的主实例接管。
在故障转移过程中,Citrix WAF执行以下操作:
-
Citrix WAF检查已附加IP集的虚拟服务器。
-
Citrix WAF从虚拟服务器正在侦听的两个IP地址中找到具有关联公共IP地址的IP地址。其中一个直接附加到虚拟服务器,另一个通过IP集附加。
-
Citrix WAF将公共弹性IP地址重新关联到属于新主虚拟IP地址的私有IP地址。
要验证部署,请执行以下操作:
- 与主实例建立连接
例如,使用代理服务器、跳转主机(在 AWS 中运行的 Linux/Windows/FW 实例,或堡垒主机),或可访问该 VPC 或 Direct Connect 的其他设备(如果涉及本地连接)。
- 执行触发操作以强制故障转移,并检查辅助实例是否接管。
提示:
要进一步验证 Citrix WAF 的配置,请在连接到 主 Citrix WAF 实例 后运行以下命令:
Sh appfw profile QS-Profile
使用堡垒主机连接到 Citrix WAF HA 对
如果用户选择沙盒部署(例如,作为 CFT 的一部分,用户选择配置堡垒主机),则将配置部署在公共子网中的 Linux 堡垒主机以访问 WAF 接口。
在 AWS CloudFormation 控制台中(通过此处登录访问:登录),选择主堆栈,然后在 Outputs 选项卡上,找到 LinuxBastionHostEIP1 的值。

-
PrivateManagementPrivateNSIP and PrimaryADCInstanceID key’s value to be used in the later steps to SSH into the ADC.
-
选择 服务。
-
在 Compute 选项卡上,选择 EC2。
-
在 资源 下,选择 运行中的实例。
-
在主 WAF 实例的 Description 选项卡上,记下 IPv4 公共 IP 地址。用户需要该 IP 地址来构建 SSH 命令。
-

- 要将密钥存储在用户密钥链中,请运行命令
ssh-add -K [your-key-pair].pem
在 Linux 上,用户可能需要省略 -K 标志。
- 使用以下命令登录到堡垒主机,其中 LinuxBastionHostEIP1 的值是用户在步骤 1 中记下的。
ssh -A ubuntu@[LinuxBastionHostEIP1]
- 从堡垒主机,用户可以使用 SSH 连接到主 WAF 实例。
ssh nsroot@[Primary Management Private NSIP]
密码: [Primary ADC Instance ID]
连接到主 Citrix Web 应用防火墙实例(/zh-cn/advanced-concepts/media/vpx-aws-appsecurity-deployment-guide/image-vpx-aws-appsecurity-deployment-08.png)
现在用户已连接到主 Citrix WAF 实例。要查看可用命令,用户可以运行 help 命令。要查看当前的 HA 配置,用户可以运行 show HA node 命令。
Citrix 应用交付管理
思杰应用交付管理服务 (Citrix ADM) 提供了一个简单且可扩展的解决方案,用于管理 思杰应用交付控制器部署,包括 思杰应用交付控制器 MPX、思杰应用交付控制器 VPX、思杰网关、思杰安全 Web 网关™、思杰应用交付控制器 SDX、思杰应用交付控制器 CPX,以及部署在本地或云端的 思杰 SD-WAN 设备。
用户可以使用此云解决方案,通过一个统一的集中式云控制台来管理、监控和排查整个全球应用交付基础设施。Citrix ADM Service 提供了快速设置、部署和管理 Citrix ADC 部署中的应用交付所需的所有功能,并提供丰富的应用健康状况、性能和安全性分析。
Citrix ADM 服务提供以下优势:
-
敏捷 – 易于操作、更新和使用。Citrix ADM Service 的服务模型可通过云获取,使其易于操作、更新和使用 Citrix ADM Service 提供的功能。更新频率与自动化更新功能相结合,可快速增强用户的 Citrix ADC 部署。
-
更快的价值实现 – 更快地实现业务目标。与传统的本地部署不同,用户只需点击几下即可使用其 Citrix ADM Service。用户不仅节省了安装和配置时间,还避免了在潜在错误上浪费时间和资源。
-
多站点管理 – 跨多站点数据中心的实例的单一管理平台。借助 Citrix ADM 服务,用户可以管理和监控各种部署类型的 Citrix ADC。用户可以对本地和云中部署的 Citrix ADC 进行一站式管理。
-
运营效率 – 优化和自动化方式,以实现更高的运营生产力。借助 Citrix ADM 服务,通过节省用户在维护和升级传统硬件部署方面的时间、金钱和资源,从而降低用户运营成本。
Citrix ADM 服务的工作原理
Citrix ADM 服务作为 Citrix Cloud 上的一项服务提供。用户注册 Citrix Cloud 并开始使用该服务后,请在用户网络环境中安装代理,或在实例中启动内置代理。然后,将用户想要管理的实例添加到该服务中。
代理在 Citrix ADM 服务与用户数据中心中受管实例之间实现通信。代理从用户网络中的受管实例收集数据,并将其发送到 Citrix ADM 服务。
当用户将实例添加到 Citrix ADM 服务时,它会隐式地将自身添加为陷阱目标,并收集实例的清单。
该服务收集实例详细信息,例如:
-
主机名
-
软件版本
-
运行中和已保存的配置
-
数字证书
-
在实例上配置的实体,以及其他相关内容。
Citrix ADM 服务定期轮询受管实例以收集信息。
下图清晰地展示了服务、代理和实例之间是如何进行通信的:

文档使用指南
Citrix ADM 服务文档包含有关如何开始使用该服务、该服务支持的功能列表以及特定于此服务解决方案的配置信息。
使用 Citrix 应用交付管理 在 亚马逊云科技 上部署 Citrix ADC VPX 实例
当客户将其应用程序迁移到云端时,其应用程序的组成部分会增加,变得更加分布式,并且需要动态管理。
借助 AWS 上的 Citrix ADC VPX 实例,用户可以无缝地将其 L4-L7 网络堆栈扩展到 AWS。通过 Citrix ADC VPX,AWS 成为其本地 IT 基础设施的自然延伸。客户可以在 AWS 上使用 Citrix ADC VPX,将云的弹性与灵活性,与支持全球最严苛网站和应用程序的相同优化、安全和控制功能相结合。
通过 Citrix Application Delivery Management (ADM) 监控其 Citrix ADC 实例,用户可以了解其应用程序的运行状况、性能和安全性。他们可以自动化混合多云环境中应用程序交付基础设施的设置、部署和管理。
体系结构图
下图详细地概述了 Citrix ADM 是如何与 AWS 平台进行连接,从而在 AWS 环境中预置 Citrix ADC VPX 实例的完整过程。

配置所需任务
在 Citrix ADM 中预置 Citrix ADC VPX 实例之前,请在 AWS 上执行以下任务:
-
创建子网
-
创建多个安全组
-
创建 IAM 角色并定义策略
在 Citrix ADM 上执行以下任务以在 AWS 上预置实例:
-
创建站点
-
Provision Citrix ADC VPX instance on AWS
如何创建子网
在 VPC 中创建三个子网。在 VPC 中预置 Citrix ADC VPX 实例需要三个子网:管理子网、客户端子网和服务器子网。为每个子网指定一个 IPv4 CIDR 块,该块应来自 VPC 中定义的范围。指定子网所在的可用区。在同一个可用区中创建所有这三个子网。下图显示了在客户区域中创建的三个子网及其与客户端系统的连接。

有关 VPC 和子网的更多信息,请参阅 VPC 和子网。
如何创建安全组
创建一个安全组,以控制 Citrix ADC VPX 实例中的入站和出站流量。安全组充当用户实例的虚拟防火墙。在实例级别而不是子网级别创建安全组。可以将用户 VPC 中子网中的每个实例分配给不同的安全组集。为每个安全组添加规则,以控制通过客户端子网到达实例的入站流量。用户还可以添加一组单独的规则,以控制通过服务器子网到达应用程序服务器的出站流量。尽管用户可以使用其实例的默认安全组,但他们可能希望创建自己的组。创建三个安全组 - 每个子网一个。为用户想要控制的入站和出站流量创建规则。用户可以根据需要添加任意数量的规则。
有关安全组的更多信息,请参阅:您的 VPC 的安全组。
创建 IAM 角色并定义策略
创建 IAM 角色,以便客户可以在其用户与 Citrix 信任的 AWS 账户之间建立信任关系,并创建具有 Citrix 权限的策略。
-
在 AWS 中,单击“服务”。在左侧导航窗格中,选择“IAM”>“角色”,然后单击“创建角色”。
-
用户正在将其 AWS 账户与 Citrix ADM 中的 AWS 账户连接。因此,选择“另一个 AWS 账户”以允许 Citrix ADM 在 AWS 账户中执行操作。
输入 12 位数的 Citrix ADM AWS 账户 ID。Citrix ID 为 835822366011。用户在创建云访问配置文件时,也可以在 Citrix ADM 中找到 Citrix ID。

-
启用 要求外部 ID 以连接到第三方账户。用户可以通过要求提供可选的外部标识符来提高其角色的安全性。输入一个可以由任意字符组合而成的 ID。
-
单击 权限。
-
在 附加权限策略 页面中,单击 创建策略。
-
用户可以在可视化编辑器中或通过使用 JSON 创建和编辑策略。
Citrix 提供的权限列表在以下框中提供:
{
"Version": "2012-10-17",
"Statement":
[
{
"Effect": "Allow",
"Action": [
"ec2:DescribeInstances",
"ec2:DescribeImageAttribute",
"ec2:DescribeInstanceAttribute",
"ec2:DescribeRegions",
"ec2:DescribeDhcpOptions",
"ec2:DescribeSecurityGroups",
"ec2:DescribeHosts",
"ec2:DescribeImages",
"ec2:DescribeVpcs",
"ec2:DescribeSubnets",
"ec2:DescribeNetworkInterfaces",
"ec2:DescribeAvailabilityZones",
"ec2:DescribeNetworkInterfaceAttribute",
"ec2:DescribeInstanceStatus",
"ec2:DescribeAddresses",
"ec2:DescribeKeyPairs",
"ec2:DescribeTags",
"ec2:DescribeVolumeStatus",
"ec2:DescribeVolumes",
"ec2:DescribeVolumeAttribute",
"ec2:CreateTags",
"ec2:DeleteTags",
"ec2:CreateKeyPair",
"ec2:DeleteKeyPair",
"ec2:ResetInstanceAttribute",
"ec2:RunScheduledInstances",
"ec2:ReportInstanceStatus",
"ec2:StartInstances",
"ec2:RunInstances",
"ec2:StopInstances",
"ec2:UnmonitorInstances",
"ec2:MonitorInstances",
"ec2:RebootInstances",
"ec2:TerminateInstances",
"ec2:ModifyInstanceAttribute",
"ec2:AssignPrivateIpAddresses",
"ec2:UnassignPrivateIpAddresses",
"ec2:CreateNetworkInterface",
"ec2:AttachNetworkInterface",
"ec2:DetachNetworkInterface",
"ec2:DeleteNetworkInterface",
"ec2:ResetNetworkInterfaceAttribute",
"ec2:ModifyNetworkInterfaceAttribute",
"ec2:AssociateAddress",
"ec2:AllocateAddress",
"ec2:ReleaseAddress",
"ec2:DisassociateAddress",
"ec2:GetConsoleOutput"
],
"Resource": "*"
}
]
}
<!--NeedCopy-->
-
复制并粘贴权限列表到 JSON 选项卡中,然后单击 查看策略。
-
在 查看策略 页面中,输入策略名称,输入描述,然后单击 创建策略。
在 Citrix ADM 中创建站点
在 Citrix ADM 中创建站点,并添加与 AWS 角色关联的 VPC 详细信息。
-
在 Citrix ADM 中,导航到 网络 > 站点。
-
单击 添加。
-
将服务类型选择为 AWS,并启用 将现有 VPC 用作站点。
-
选择云访问配置文件。
-
如果该字段中不存在云访问配置文件,请单击 添加 以创建配置文件。
-
在 创建云访问配置文件 页面中,输入用户希望用于访问 AWS 的配置文件名称。
-
输入用户在 AWS 中创建的角色所关联的 ARN。
-
输入用户在 AWS 中创建身份和访问管理 (IAM) 角色时提供的外部 ID。请参阅“创建 IAM 角色并定义策略”任务中的步骤 4。确保 AWS 中指定的 IAM 角色名称以
Citrix-ADM-开头,并且它正确显示在角色 ARN 中。
-

与您在 AWS 中的 IAM 角色关联的 VPC 详细信息(例如区域、VPC ID、名称和 CIDR 块)将导入到 Citrix ADM 中。
-
键入站点的名称。
-
单击“创建”。
To Provision Citrix ADC VPX on AWS
使用用户之前创建的站点在 AWS 上预置 Citrix ADC VPX 实例。提供 Citrix ADM 服务代理详细信息,以预置绑定到该代理的实例。
-
在 思杰 ADM 中,导航到 网络 > 实例 > 思杰 ADC。
-
在“VPX”选项卡中,单击“预置”。
此选项将显示“在云中预置 Citrix ADC VPX”页面。
-
选择 亚马逊网络服务 (AWS),然后单击 下一步。
-
在“基本参数”中,
-
从列表中选择“实例类型”。
-
独立:此选项在 AWS 上预置一个独立的 Citrix ADC VPX 实例。
-
HA:此选项在 AWS 上预置高可用性 Citrix ADC VPX 实例。
要在同一区域中预置 Citrix ADC VPX 实例,请在区域类型下选择单区域选项。
要跨多个区域预置 Citrix ADC VPX 实例,请在区域类型下选择多区域选项。在云参数选项卡中,务必为在 AWS 上创建的每个区域指定网络详细信息。
-

-
指定 思杰 ADC VPX 实例的名称。
-
在站点中,选择您之前创建的站点。
-
在代理中,选择创建用于管理 Citrix ADC VPX 实例的代理。
-
在云访问配置文件中,选择在站点创建期间创建的云访问配置文件。
-
在设备配置文件中,选择用于提供身份验证的配置文件。
Citrix ADM 在需要登录到 Citrix ADC VPX 实例时使用设备配置文件。
- 单击下一步。
-
-
在云参数中,
-
选择在 AWS 中创建的Citrix IAM 角色。IAM 角色是具有权限策略的 AWS 身份,这些策略决定了该身份在 AWS 中可以做什么和不能做什么。
-
在产品字段中,选择用户想要预置的 Citrix ADC 产品版本。
-
从实例类型列表中选择 EC2 实例类型。
-
选择用户要预置的 Citrix ADC 版本。选择 Citrix ADC 的主要版本和次要版本。
-
在安全组中,选择用户在其虚拟网络中创建的管理、客户端和服务器安全组。
-
在每个节点的服务器子网中的 IP 中,选择安全组中每个节点的服务器子网中的 IP 地址数量。
-
在子网中,选择在 AWS 中创建的每个区域的管理、客户端和服务器子网。用户还可以从可用区列表中选择区域。
-
单击完成。
-

Citrix ADC VPX 实例目前已在 AWS 上完成预置。
注意:
Citrix ADM doesn’t support deprovisioning of Citrix ADC instances from AWS.
查看已在 AWS 中预置的 Citrix ADC VPX 实例
-
在 AWS 主页上,导航到服务并单击 EC2。
-
在资源页面上,单击正在运行的实例。
-
用户可以查看在 AWS 中预置的 Citrix ADC VPX。
Citrix ADC VPX 实例的名称与用户在 Citrix ADM 中预置实例时提供的名称相同。
如何查看在 Citrix ADM 中已成功预置的 Citrix ADC VPX 虚拟设备实例
-
在 Citrix ADM 中,请执行以下操作:导航到 网络 > 实例 > Citrix ADC。
-
请选择 Citrix ADC VPX 选项卡进行操作。
-
在 AWS 中预置的 Citrix ADC VPX 实例将在此处列出。
思杰 ADC Web 应用防火墙 和 OWASP 十大安全风险列表 – 2017
开放式Web应用程序安全项目:OWASP 发布了 2017 年 OWASP Top 10,用于 Web 应用程序安全。此列表记录了最常见的 Web 应用程序漏洞,是评估 Web 安全性的绝佳起点。在此处,我们将详细介绍如何配置 Citrix ADC Web 应用程序防火墙 (WAF) 以缓解这些缺陷。WAF 作为集成模块在 Citrix ADC(高级版)以及全系列设备中提供。
完整的 OWASP Top 10 文档可在 OWASP 十大 获取。
| OWASP 十大安全风险列表 2017 | 思杰 ADC WAF 功能 |
|---|---|
| A1:2017- 注入 | 注入攻击防护(SQL 或任何其他自定义注入,例如 OS 命令注入、XPath 注入和 LDAP 注入),自动更新签名功能 |
| A2:2017 - 身份验证失效 | 思杰 ADC AAA、Cookie 篡改防护、Cookie 代理、Cookie 加密、跨站请求伪造标记、使用 SSL |
| A3:2017 - 敏感数据泄露 | 信用卡保护、安全商务、Cookie 代理和 Cookie 加密 |
| A4:2017 可扩展标记语言外部实体 (XXE) | XML 保护,包括 WSI 检查、XML 消息验证和 XML SOAP 故障过滤检查 |
| A5:2017 访问控制失效 | Citrix ADC 身份验证、授权和记账、NetScaler 的 Citrix ADC AAA 模块中的授权安全功能、表单保护、Cookie 篡改保护、起始 URL 和 结束 URL |
| A6:2017 - 安全配置错误 | PCI 报告、SSL 功能、来自漏洞扫描报告(如 Cenznic、Qualys、AppScan、WebInspect、Whitehat)的签名生成。此外,还有特定的保护措施,如 Cookie 加密、代理和篡改 |
| A7:2017 - 跨站脚本 (XSS) | XSS 攻击防护,阻止所有 OWASP XSS 备忘单攻击 |
| A8:2017 – 不安全的反序列化 | XML 安全检查、GWT 内容类型、自定义签名、JSON 和 XML 的 Xpath |
| A9:2017 - 使用含有已知漏洞的组件 | 漏洞扫描报告、应用程序防火墙模板和自定义签名 |
| A10:2017 – 日志记录和监控不足 | 用户可配置的自定义日志记录、Citrix ADC 管理和分析系统 |
A1:2017- 注入
注入缺陷,例如 SQL、NoSQL、OS 和 LDAP 注入,发生在将不受信任的数据作为命令或查询的一部分发送到解释器时。攻击者的恶意数据可以欺骗解释器运行意外命令或在未经适当授权的情况下访问数据。
ADC WAF 防护功能
-
SQL 注入防护功能可抵御常见的注入攻击。可以上传自定义注入模式,以抵御包括 XPath 和 LDAP 在内的任何类型的注入攻击。这适用于 HTML 和 XML 有效负载。
-
自动更新签名功能可确保注入签名始终保持最新。
-
字段格式保护功能允许管理员将任何用户参数限制为正则表达式。例如,您可以强制邮政编码字段仅包含整数,甚至是 5 位整数。
-
表单字段一致性:根据用户会话表单签名验证每个提交的用户表单,以确保所有表单元素的有效性。
-
缓冲区溢出检查可确保 URL、标头和 Cookie 在正确限制内,从而阻止任何注入大型脚本或代码的尝试。
A2:2017 – 身份验证失效
与身份验证和会话管理相关的应用程序功能通常实现不正确,这使得攻击者可以泄露密码、密钥或会话令牌,或者利用其他实现缺陷暂时或永久地冒充其他用户的身份。
ADC WAF 防护功能
-
Citrix ADC AAA 模块执行用户身份验证,并为后端应用程序提供单点登录功能。它已集成到 Citrix ADC AppExpert 策略引擎中,以允许基于用户和组信息制定自定义策略。
-
利用 SSL 卸载和 URL 转换功能,防火墙还可以帮助站点使用安全的传输层协议,以防止通过网络嗅探窃取会话令牌。
-
可以采用 Cookie 代理和 Cookie 加密来完全缓解 Cookie 窃取。
A3:2017 - 敏感数据泄露
许多 Web 应用程序和 API 未能正确保护敏感数据,例如财务、医疗保健和 PII。攻击者可能会窃取或修改这些保护不力的数据,以进行信用卡欺诈、身份盗用或其他犯罪。敏感数据在没有额外保护(例如静态加密或传输中加密)的情况下可能会遭到泄露,并且在与浏览器交换时需要采取特殊预防措施。
ADC WAF 保护功能
-
应用防火墙保护应用程序免受敏感数据(如信用卡详细信息)泄露的威胁。
-
敏感数据可以在安全商务保护中配置为安全对象,以避免泄露。
-
Cookie 中的任何敏感数据都可以通过 Cookie 代理和 Cookie 加密进行保护。
A4:2017 可扩展标记语言 外部实体 (XXE)
许多旧的或配置不当的 XML 处理器会评估 XML 文档中的外部实体引用。外部实体可用于通过文件 URI 处理程序、内部文件共享、内部端口扫描、远程代码执行和拒绝服务攻击来泄露内部文件。
ADC WAF 防护功能
-
除了检测和阻止可用于攻击基于 XML 的应用程序的常见应用程序威胁(即跨站点脚本、命令注入等)之外。
-
ADC 应用防火墙包含一套丰富的 XML 特定安全保护。其中包括用于彻底验证 SOAP 消息和 XML 有效负载的架构验证,以及强大的 XML 附件检查,以阻止包含恶意可执行文件或病毒的附件。
-
自动流量检查方法可阻止针对 URL 和表单的 XPath 注入攻击,这些攻击旨在获取访问权限。
-
ADC 应用防火墙还可以阻止各种 DoS 攻击,包括外部实体引用、递归扩展、过度嵌套以及包含长属性或大量属性和元素的恶意消息。
A5:2017 访问控制失效
对经过身份验证的用户允许执行的操作的限制通常未得到正确执行。攻击者可以利用这些缺陷来访问未经授权的功能和数据,例如访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。
ADC WAF 防护功能
-
Citrix ADC AAA 功能支持所有应用程序流量的身份验证、授权和审计,允许站点管理员使用 ADC 设备管理访问控制。
-
ADC 设备 Citrix ADC AAA 模块中的授权安全功能使设备能够验证每个用户应被允许访问受保护服务器上的哪些内容。
-
表单字段一致性:如果对象引用作为隐藏字段存储在表单中,那么使用表单字段一致性,您可以验证这些字段在后续请求中未被篡改。
-
Cookie 代理和 Cookie 一致性:存储在 Cookie 值中的对象引用可以通过这些保护进行验证。
-
使用 URL 闭包的起始 URL 检查:允许用户访问预定义的 URL 允许列表。URL 闭包会构建一个在用户会话期间有效响应中看到的所有 URL 列表,并在该会话期间自动允许访问这些 URL。
A6:2017 - 安全配置错误
安全配置错误是最常见的问题。这通常是由于不安全的默认配置、不完整或临时配置、开放的云存储、配置错误的 HTTP 标头以及包含敏感信息的详细错误消息造成的。所有操作系统、框架、库和应用程序不仅必须安全配置,而且必须及时修补和升级。
ADC WAF 保护措施
-
应用防火墙生成的 PCI-DSS 报告记录了防火墙设备上的安全设置。
-
扫描工具的报告转换为 ADC WAF 签名,以处理安全配置错误。
-
ADC Web 应用防火墙 支持 Cenzic、IBM AppScan(企业版和标准版)、Qualys、趋势科技、WhiteHat 和自定义漏洞扫描报告。
A7:2017 - 跨站脚本 (XSS)
当应用程序在没有适当验证或转义的情况下在新网页中包含不受信任的数据,或者使用可以创建 HTML 或 JavaScript 的浏览器 API,用用户提供的数据更新现有网页时,就会出现 XSS 缺陷。跨站脚本允许攻击者在受害者的浏览器中运行脚本,这些脚本可以劫持用户会话、篡改网站或将用户重定向到恶意网站。
ADC WAF 保护措施
-
跨站脚本保护可防止常见的 XSS 攻击。可以上传自定义 XSS 模式以修改允许的标签和属性的默认列表。ADC WAF 使用允许的 HTML 属性和标签的允许列表来检测 XSS 攻击。这适用于 HTML 和 XML 有效负载。
-
ADC WAF 阻止 OWASP XSS 过滤器评估备忘单中列出的所有攻击。
-
字段格式检查可防止攻击者发送不适当的 Web 表单数据,这可能是一种潜在的 XSS 攻击。
-
表单字段一致性。
A8:2017 - 不安全的反序列化
不安全的反序列化通常会导致远程代码执行。即使反序列化缺陷不会导致远程代码执行,它们也可以用于执行攻击,包括重放攻击、注入攻击和权限提升攻击。
ADC WAF 保护功能
-
使用自定义签名进行 JSON 有效负载检查。
-
XML 安全:防止 XML 拒绝服务 (xDoS)、XML SQL 和 Xpath 注入以及跨站点脚本攻击、格式检查、WS-I 基本配置文件合规性、XML 附件检查。
-
除了 Cookie 一致性和字段一致性之外,还可以使用字段格式检查。
A9:2017 - 使用具有已知漏洞的组件
组件(例如库、框架和其他软件模块)以与应用程序相同的权限运行。如果易受攻击的组件被利用,此类攻击可能导致严重的数据丢失或服务器接管。使用具有已知漏洞的组件的应用程序和 API 可能会破坏应用程序防御并导致各种攻击和影响。
ADC Web 应用防火墙保护
-
Citrix 建议保持第三方组件最新。
-
可以使用转换为 ADC 签名的漏洞扫描报告来虚拟修补这些组件。
-
可以使用适用于这些易受攻击组件的应用程序防火墙模板。
-
可以将自定义签名与防火墙绑定以保护这些组件。
A10:2017 - 日志记录和监控不足
日志记录和监控不足,再加上与事件响应的集成缺失或无效,使攻击者能够进一步攻击系统、保持持久性、转向更多系统以及篡改、提取或销毁数据。大多数泄露研究表明,检测到泄露的时间超过 200 天,通常由外部方而非内部流程或监控检测到。
ADC Web 应用防火墙保护
-
当为安全检查或签名启用日志操作时,生成的日志消息提供有关应用程序防火墙在保护您的网站和应用程序时观察到的请求和响应的信息。
-
应用程序防火墙提供了便利,即可以使用内置的 ADC 数据库来识别恶意请求来源 IP 地址所对应的地理位置。
-
默认格式 (PI) 表达式提供了自定义日志中包含的信息的灵活性,并可选择在应用程序防火墙生成的日志消息中添加要捕获的特定数据。
-
应用程序防火墙支持 CEF 日志。
应用程序安全保护
思杰应用程序交付管理
思杰应用程序交付管理服务 (Citrix ADM) 提供了一个可扩展的解决方案,用于管理思杰 ADC 部署,其中包括思杰 ADC MPX、思杰 ADC VPX、思杰网关、思杰 Secure Web™ 网关、思杰 ADC SDX、思杰 ADC CPX 和思杰 SD-WAN 设备,这些设备可部署在本地或云端。
Citrix ADM 应用程序分析和管理功能
以下功能是 ADM 在应用程序安全中扮演的关键角色。
应用程序分析和管理
Citrix ADM 的应用程序分析和管理功能强化了以应用程序为中心的方法,以帮助用户解决各种应用程序交付挑战。这种方法让用户能够了解应用程序的健康评分,帮助用户确定安全风险,并帮助用户检测应用程序流量中的异常并采取纠正措施。在应用程序安全的这些角色中,最重要的是应用程序安全分析:
- 应用程序安全分析:应用程序安全分析。应用程序安全仪表板提供了用户应用程序安全状况的整体视图。例如,它显示了关键的安全指标,如安全违规、签名违规、威胁指数。应用程序安全仪表板还显示了针对已发现的 Citrix ADC 实例的攻击相关信息,例如 SYN 攻击、小窗口攻击和 DNS 泛洪攻击。
样式簿
StyleBooks 简化了管理用户应用程序复杂 Citrix ADC 配置的任务。StyleBook 是用户可用于创建和管理 Citrix ADC 配置的模板。用户主要关注用于部署 Web 应用程序防火墙的 StyleBook。有关 StyleBooks 的更多信息,请参阅:StyleBooks。
分析功能
提供了一种简单且可扩展的方式来深入了解 Citrix ADC 实例数据的各种洞察,以描述、预测和改进应用程序性能。用户可以同时使用一个或多个分析功能。对于应用程序安全而言,这些角色中最重要的包括:
-
安全洞察:Security Insight。提供了一个单一窗格解决方案,可帮助用户评估用户应用程序安全状态并采取纠正措施来保护用户应用程序。
-
机器人洞察
-
有关分析的更多信息,请参阅分析:Analytics。
对 ADM 功能很重要的其他功能包括:
事件管理
事件表示托管 Citrix ADC 实例上发生的事件或错误。例如,当系统故障或配置更改时,Citrix ADM 上会生成并记录一个事件。以下是用户可以使用 Citrix ADM 配置或查看的相关功能:
-
创建事件规则:创建事件规则
-
查看和导出系统日志消息:查看和导出系统日志消息
有关事件管理的更多信息,请参阅:Events。
对实例的管理
Enables users to manage the Citrix ADC, Citrix Gateway, Citrix Secure Web Gateway, and Citrix SD-WAN instances. For more information on instance management, see: Adding Instances.
许可证管理
允许用户通过将 Citrix ADM 配置为许可证管理器来管理 Citrix ADC 许可证。
-
Citrix ADC 池化容量:池化容量。一个通用许可证池,用户 Citrix ADC 实例可以从中检出一个实例许可证,并且只检出其所需的带宽。当实例不再需要这些资源时,它会将它们检回通用池,从而使这些资源可供其他需要它们的实例使用。
-
Citrix ADC VPX 签入和签出许可:Citrix ADC VPX 签入和签出许可。Citrix ADM 按需为 Citrix ADC VPX 实例分配许可证。当预置 Citrix ADC VPX 实例时,Citrix ADC VPX 实例可以从 Citrix ADM 检出许可证;当实例被移除或销毁时,可以将其许可证检回 Citrix ADM。
-
有关许可证管理的更多信息,请参阅:池化容量。
配置管理功能
Citrix ADM 允许用户创建配置作业,帮助他们在多个实例上轻松执行配置任务,例如创建实体、配置功能、复制配置更改、系统升级以及其他维护活动。配置作业和模板将最重复的管理任务简化为 Citrix ADM 上的单个任务。有关配置管理的更多信息,请参阅配置作业:配置作业。
配置审计功能
使用户能够监控并识别跨多个用户实例的配置中的异常情况。
签名提供了以下部署选项,以帮助用户优化用户应用程序的保护:
-
负面安全模型:通过负面安全模型,用户可以利用一套丰富的预配置签名规则,应用模式匹配功能来检测攻击并防范应用程序漏洞。用户只阻止他们不希望的内容,并允许其余内容。用户可以根据用户应用程序的特定安全需求添加自己的签名规则,以设计自己的定制安全解决方案。
-
混合安全模型:除了使用签名之外,用户还可以使用正面安全检查来创建最适合用户应用程序的配置。使用签名来阻止用户不希望的内容,并使用正面安全检查来强制执行允许的内容。
为了使用签名保护用户应用程序,用户必须配置一个或多个配置文件来使用其签名对象。在混合安全配置中,用户签名对象中的 SQL 注入和跨站点脚本模式以及 SQL 转换规则不仅由签名规则使用,还由使用签名对象的 Web 应用程序防火墙配置文件中配置的正面安全检查使用。
Web 应用防火墙检查流向受用户保护的网站和 Web 服务的流量,以检测与签名匹配的流量。仅当规则中的每个模式都与流量匹配时,才会触发匹配。发生匹配时,将调用为该规则指定的动作。当请求被阻止时,用户可以显示错误页面或错误对象。日志消息可以帮助用户识别针对用户应用程序发起的攻击。如果用户启用统计信息,Web 应用防火墙会维护与 Web 应用防火墙签名或安全检查匹配的请求数据。
如果流量同时匹配签名和积极安全检查,则会强制执行两者中限制性更强的操作。例如,如果请求匹配阻止操作被禁用的签名规则,但该请求也匹配阻止操作为阻止的 SQL 注入积极安全检查,则该请求将被阻止。在这种情况下,签名违规可能会记录为 [not blocked],尽管该请求被 SQL 注入检查阻止。
自定义:如有必要,用户可以向签名对象添加自己的规则。用户还可以自定义 SQL/XSS 模式。根据用户应用程序的特定安全需求添加自己的签名规则的选项,使用户能够灵活地设计自己的定制安全解决方案。用户只阻止他们不想要的内容,并允许其余内容。指定位置的特定快速匹配模式可以显著减少处理开销以优化性能。用户可以添加、修改或删除 SQL 注入和跨站脚本模式。内置的正则表达式和表达式编辑器可帮助用户配置用户模式并验证其准确性。
应用场景
与需要将每个服务部署为单独虚拟设备的替代解决方案相比,AWS 上的 Citrix ADC 将 L4 负载均衡、L7 流量管理、服务器卸载、应用加速、应用安全、灵活许可和其他基本应用交付功能结合在一个 VPX 实例中,可通过 AWS Marketplace 方便地获取。此外,一切都由单一策略框架管理,并使用与管理本地 Citrix ADC 部署相同的强大工具集进行管理。最终结果是,AWS 上的 Citrix ADC 实现了几个引人注目的用例,这些用例不仅支持当今企业的即时需求,还支持从传统计算基础设施到企业云数据中心的持续演进。
思杰 Web 应用防火墙 (WAF)
Citrix Web 应用防火墙 (WAF) 是一种企业级解决方案,为现代应用程序提供最先进的保护。Citrix WAF 缓解了针对面向公众的资产(包括网站、Web 应用程序和 API)的威胁。Citrix WAF 包括基于 IP 信誉的过滤、僵尸程序缓解、OWASP Top 10 应用程序威胁保护、第 7 层 DDoS 保护等。还包括强制身份验证、强大的 SSL/TLS 密码、TLS 1.3、速率限制和重写策略的选项。Citrix WAF 结合使用基本和高级 WAF 保护,以无与伦比的易用性为您的应用程序提供全面保护。启动和运行只需几分钟。此外,Citrix WAF 使用一种称为动态分析的自动化学习模型,为用户节省了宝贵的时间。通过自动学习受保护应用程序的工作方式,Citrix WAF 即使在开发人员部署和更改应用程序时也能适应应用程序。Citrix WAF 有助于遵守所有主要监管标准和机构,包括 PCI-DSS、HIPAA 等。借助我们的 CloudFormation 模板,快速启动和运行从未如此简单。通过自动扩展,用户可以放心,即使流量增加,他们的应用程序也能受到保护。
Web 应用防火墙部署策略
部署 Web 应用防火墙的第一步是评估哪些应用程序或特定数据需要最大安全保护,哪些不易受攻击,以及哪些可以安全地绕过安全检查。这有助于用户制定最佳配置,并设计适当的策略和绑定点来隔离流量。例如,用户可能希望配置一个策略来绕过对静态 Web 内容(如图像、MP3 文件和电影)请求的安全检查,并配置另一个策略来对动态内容请求应用高级安全检查。用户可以使用多个策略和配置文件来保护同一应用程序的不同内容。
下一步是确定部署基线。首先创建一个虚拟服务器,并通过它运行测试流量,以了解流经用户系统的流量速率和数量。
然后,部署 Web 应用防火墙。使用 Citrix ADM 和 Web 应用防火墙 StyleBook 配置 Web 应用防火墙。有关详细信息,请参阅本指南下面的 StyleBook 部分。
在部署并使用 Web 应用防火墙 StyleBook 配置 Web 应用防火墙之后,一个有用的下一步是实施 Citrix ADC WAF 和 OWASP Top 10。
最后,Web 应用防火墙的三种保护措施对常见类型的 Web 攻击特别有效,因此比其他任何保护措施都更常用。因此,它们应该在初始部署中实施。它们是:
-
HTML 跨站脚本。检查请求和响应中是否存在尝试访问或修改与脚本所在网站不同的网站内容的脚本。当此检查发现此类脚本时,它会在将请求或响应转发到其目的地之前使脚本无害,或者阻止连接。
-
HTML SQL 注入。检查包含表单字段数据的请求中是否存在尝试将 SQL 命令注入 SQL 数据库的行为。当此检查检测到注入的 SQL 代码时,它会阻止请求,或者在将请求转发到 Web 服务器之前使注入的 SQL 代码无害。
注意:
如果以下两个条件都适用于用户配置,用户应确保您的 Web 应用程序防火墙已正确配置:
如果用户启用 HTML 跨站点脚本检查或 HTML SQL 注入检查(或两者),并且
用户受保护的网站接受文件上传或包含可能包含大量 POST 正文数据的 Web 表单。
有关配置 Web 应用程序防火墙以处理此情况的更多信息,请参阅配置应用程序防火墙:配置 Web 应用程序防火墙。
- 缓冲区溢出。检查请求以检测在 Web 服务器上导致缓冲区溢出的尝试。
配置 Web 应用程序防火墙 (WAF)
以下步骤假定 WAF 已经启用并能正常运行。
Citrix 建议用户使用 Web 应用程序防火墙 StyleBook 配置 WAF。大多数用户认为这是配置 Web 应用程序防火墙最简单的方法,并且它旨在防止错误。GUI 和命令行界面都适用于经验丰富的用户,主要用于修改现有配置或使用高级选项。
SQL 注入
应用程序防火墙 HTML SQL 注入检查提供特殊防御,以防止注入可能破坏用户应用程序安全性的未经授权的 SQL 代码。Citrix Web 应用程序防火墙在三个位置检查请求负载中的注入 SQL 代码:1) POST 正文、2) 标头和 3) Cookie。
一组默认的关键字和特殊字符提供了常用于发起 SQL 攻击的已知关键字和特殊字符。用户还可以添加新模式,并且可以编辑默认集以自定义 SQL 检查检测。
可以为 SQL 注入处理配置多个参数。用户可以检查 SQL 通配符。用户可以更改 SQL 注入类型并选择 4 个选项之一(SQLKeyword、SQLSplChar、SQLSplCharANDKeyword、SQLSplCharORKeyword)以指示在处理负载时如何评估 SQL 关键字和 SQL 特殊字符。SQL 注释处理参数为用户提供了一个选项,用于指定在 SQL 注入检测期间需要检查或豁免的注释类型。
用户可以部署放宽规则以避免误报。学习引擎可以提供配置放宽规则的建议。
以下选项可用于为用户应用程序配置优化的 SQL 注入保护:
阻止 — 如果用户启用 block,则仅当输入与 SQL 注入类型规范匹配时,才会触发阻止操作。例如,如果将 SQLSplCharANDKeyword 配置为 SQL 注入类型,则即使在输入中检测到 SQL 特殊字符,如果请求不包含任何关键字,也不会被阻止。如果 SQL 注入类型设置为 SQLSplChar 或 SQLSplCharORKeyword,则此类请求将被阻止。
日志 — 如果用户启用日志功能,SQL 注入检查将生成日志消息,指示其执行的操作。如果 block 被禁用,则会为检测到 SQL 违规的每个输入字段生成单独的日志消息。但是,当请求被阻止时,只生成一条消息。同样,即使在多个字段中转换了 SQL 特殊字符,转换操作也会为每个请求生成 1 条日志消息。用户可以监视日志以确定对合法请求的响应是否被阻止。日志消息数量的大幅增加可能表明存在攻击尝试。
统计信息 — 如果启用,统计信息功能会收集有关违规和日志的统计信息。统计信息计数器中意外的激增可能表明用户应用程序正在遭受攻击。如果合法请求被阻止,用户可能需要重新审视配置,以查看是否需要配置新的放宽规则或修改现有规则。
学习 — 如果用户不确定哪些 SQL 放宽规则可能最适合其应用程序,他们可以使用学习功能根据学习到的数据生成建议。Web 应用程序防火墙学习引擎监视流量并根据观察到的值提供 SQL 学习建议。为了在不影响性能的情况下获得最佳效益,用户可能希望在短时间内启用学习选项以获取具有代表性的规则样本,然后部署规则并禁用学习。
转换 SQL 特殊字符 — Web 应用程序防火墙将三个字符(单引号 (‘)、反斜杠 () 和分号 (;))视为 SQL 安全检查处理的特殊字符。SQL 转换功能会修改 HTML 请求中的 SQL 注入代码,以确保请求无害。然后将修改后的 HTML 请求发送到服务器。所有默认转换规则都在 /netscaler/default_custom_settings.xml 文件中指定。
-
转换操作通过对请求进行以下更改来使 SQL 代码失效:
-
单引号 (‘) 转换为双引号 (“)。
-
反斜杠 () 转换为双反斜杠 (\)。
-
分号 (;) 完全删除。
这三个字符(特殊字符串)是向 SQL 服务器发出命令所必需的。除非 SQL 命令以特殊字符串开头,否则大多数 SQL 服务器会忽略该命令。因此,当启用转换时,Web 应用程序防火墙执行的更改可防止攻击者注入活动的 SQL。完成这些更改后,请求可以安全地转发到受用户保护的网站。当受用户保护的网站上的 Web 表单可以合法地包含 SQL 特殊字符串,但 Web 表单不依赖特殊字符串来正常运行时,用户可以禁用阻止并启用转换,以防止阻止合法的 Web 表单数据,同时不降低 Web 应用程序防火墙为受用户保护的网站提供的保护。
转换操作独立于 SQL 注入类型设置。如果启用了转换并将 SQL 注入类型指定为 SQL 关键字,则即使请求不包含任何关键字,也会转换 SQL 特殊字符。
提示:
用户通常只启用转换或阻止,而不是两者都启用。如果启用了阻止操作,它将优先于转换操作。如果用户启用了阻止,则启用转换是多余的。
检查 SQL 通配符 — 通配符可用于扩大 SQL (SQL-SELECT) 语句的选择范围。这些通配符运算符可与 LIKE 和 NOT LIKE 运算符一起使用,以将值与相似值进行比较。百分号 (%) 和下划线 (_) 字符经常用作通配符。百分号类似于 MS-DOS 中用于匹配字段中零个、一个或多个字符的星号 (*) 通配符。下划线类似于 MS-DOS 问号 (?) 通配符。它匹配表达式中的单个数字或字符。
例如,用户可以使用以下查询执行字符串搜索,以查找名称中包含 D 字符的所有客户。
SELECT * from customer WHERE name like “%D%”:
以下示例结合了运算符,用于查找第二个和第三个位置为 0 的所有薪资值。
SELECT * from customer WHERE salary like ‘_00%’:
不同的 DBMS 供应商通过添加额外的运算符来扩展通配符。Citrix Web Application Firewall 可以防御通过注入这些通配符发起的攻击。5 个默认通配符是百分号 (%)、下划线 (_)、插入符号 (^) 和左方括号 ([), and closing bracket (])。此保护适用于 HTML 和 XML 配置文件。
默认通配符是 默认签名 中指定的一系列文字:
-
<通配符 类型=” 字面量”>%</wildchar>
-
<通配符 类型=”字面量”]>_</wildchar>
-
<通配符 类型=”字面量”>^</wildchar>
-
<通配符类型=”字面量”>[</wildchar>
-
<通配符类型=”字面量”>]</wildchar>
攻击中的通配符可以是 PCRE,例如 [^A-F]。Web Application Firewall 也支持 PCRE 通配符,但此处所示的文字通配符足以阻止大多数攻击。
注意:
SQL 通配符检查与 SQL 特殊字符检查不同。必须谨慎使用此选项,以避免误报。
检查包含 SQL 注入类型的请求 — Web Application Firewall 提供了 4 种选项,可根据应用程序的个性化需求,实现所需的 SQL 注入检查严格程度。请求将根据注入类型规范进行检查,以检测 SQL 违规。这 4 种 SQL 注入类型选项是:
-
SQL 特殊字符和关键字 — 输入中必须同时存在 SQL 关键字和 SQL 特殊字符才能触发 SQL 违规。这种限制最少的设置也是默认设置。
-
SQL 特殊字符——输入中必须至少存在一个特殊字符才能触发 SQL 违规。
-
SQL 关键字——输入中必须至少存在一个指定的 SQL 关键字才能触发 SQL 违规。请务必慎重选择此选项。为避免误报,请确保输入中不应包含任何关键字。
-
SQL 特殊字符或关键字——输入中必须存在关键字或特殊字符字符串才能触发安全检查违规。
提示:
如果用户将 Web 应用防火墙配置为检查包含 SQL 特殊字符的输入,则 Web 应用防火墙会跳过不包含任何特殊字符的 Web 表单字段。由于大多数 SQL 服务器不处理没有特殊字符前缀的 SQL 命令,因此启用此选项可以显著减少 Web 应用防火墙的负载并加快处理速度,同时不会使用户受保护的网站面临风险。
SQL 注释处理 — 默认情况下,Web 应用防火墙会检查所有 SQL 注释中是否存在注入的 SQL 命令。但是,许多 SQL 服务器会忽略注释中的任何内容,即使其前面有 SQL 特殊字符。为了加快处理速度,如果您的 SQL 服务器忽略注释,您可以配置 Web 应用防火墙在检查注入的 SQL 请求时跳过注释。SQL 注释处理选项包括:
-
ANSI — 跳过 ANSI 格式的 SQL 注释,这些注释通常由基于 UNIX 的 SQL 数据库使用。例如:
-
/–(两个连字符)- 这是一个以两个连字符开头并以行尾结束的注释。
-
{} - 大括号(大括号括住注释。{ 在注释之前,} 在注释之后。大括号可以分隔单行或多行注释,但注释不能嵌套)
-
/*/: C 风格注释(不允许嵌套注释)。请注意 /! <以斜杠、星号和感叹号开头的注释不是注释 > */
-
MySQL Server 支持 C 风格注释的一些变体。通过使用以下形式的注释,这些变体使用户能够编写包含 MySQL 扩展但仍可移植的代码:[/*! MySQL-specific code */]
-
.#: MySQL 注释:这是一个以 # 字符开头并以行尾结束的注释
-
-
嵌套 — 跳过嵌套的 SQL 注释,这些注释通常由 Microsoft SQL Server 使用。例如;–(两个连字符)和 /**/(允许嵌套注释)
-
ANSI/嵌套 — 跳过同时符合 ANSI 和嵌套 SQL 注释标准的注释。仅符合 ANSI 标准或仅符合嵌套标准的注释仍会检查是否存在注入的 SQL。
-
检查所有注释 — 检查整个请求中是否存在注入的 SQL,不跳过任何内容。这是默认设置。
提示:
在大多数情况下,除非后端数据库运行在 Microsoft SQL Server 上,否则用户不应选择“嵌套”或“ANSI/嵌套”选项。大多数其他类型的 SQL 服务器软件无法识别嵌套注释。如果发往其他类型 SQL 服务器的请求中出现嵌套注释,则可能表明有人试图破坏该服务器的安全性。
检查请求头 — 如果用户除了检查表单字段中的输入外,还希望检查请求头以防范 HTML SQL 注入攻击,请启用此选项。如果用户使用 GUI,可以在 Web Application Firewall 配置文件的“高级设置”->“配置文件设置”窗格中启用此参数。
注意:
如果用户启用“检查请求头”标志,则可能需要为 User-Agent 头配置放宽规则。SQL 关键字 like 和 SQL 特殊字符分号 (;) 的存在可能会触发误报,并阻止包含此头的请求。 警告: 如果用户同时启用请求头检查和转换,则头中找到的任何 SQL 特殊字符也会被转换。Accept、Accept-Charset、Accept-Encoding、Accept-Language、Expect 和 User-Agent 头通常包含分号 (;) 。同时启用请求头检查和转换可能会导致错误。
InspectQueryContentTypes — 如果用户希望检查请求查询部分中是否存在针对特定内容类型的 SQL 注入攻击,请配置此选项。如果用户使用 GUI,可以在 Application Firewall 配置文件的“高级设置”->“配置文件设置”窗格中配置此参数。
跨站点脚本攻击
HTML 跨站脚本(cross-site scripting)检查会检查用户请求的头和 POST 正文,以查找可能的跨站脚本攻击。如果发现跨站脚本,它会修改(转换)请求以使攻击无害,或阻止请求。
注意:
HTML 跨站点脚本 (XSS) 检查仅适用于内容类型、内容长度等。它不适用于 cookie。另请确保在用户 Web Application Firewall 配置文件中启用‘checkRequestHeaders’选项。
为防止用户受保护网站上的脚本被滥用以破坏用户网站的安全性,HTML 跨站脚本检查会阻止违反同源规则的脚本,该规则规定脚本不应访问或修改除其所在服务器之外的任何服务器上的内容。任何违反同源规则的脚本都称为跨站脚本,而使用脚本访问或修改另一服务器上内容的做法称为跨站脚本攻击。跨站脚本之所以是一个安全问题,是因为允许跨站脚本的 Web 服务器可能会受到攻击,攻击脚本并非位于该 Web 服务器上,而是位于不同的 Web 服务器上,例如攻击者拥有和控制的服务器。
不幸的是,许多公司拥有大量违反同源规则的 JavaScript 增强型 Web 内容。如果用户在此类站点上启用 HTML 跨站脚本检查,则必须生成相应的例外,以使检查不会阻止合法活动。
Web Application Firewall 提供了各种操作选项来实现 HTML 跨站脚本保护。除了“阻止”、“日志”、“统计信息”和“学习”操作外,用户还可以选择“转换跨站脚本”,通过对提交请求中的脚本标签进行实体编码来使攻击无害。用户可以配置“检查跨站脚本的完整 URL”参数,以指定是否不仅检查查询参数,还检查整个 URL 来检测跨站脚本攻击。用户可以配置 InspectQueryContentTypes 参数,以检查请求查询部分中是否存在针对特定内容类型的跨站脚本攻击。
用户可以部署放宽规则以避免误报。Web Application Firewall 学习引擎可以提供配置放宽规则的建议。
以下选项可用于为用户应用程序配置优化的 HTML 跨站脚本保护:
-
阻止 — 如果用户启用
block,则在请求中检测到跨站点脚本标签时,将触发阻止操作。 -
日志 — 如果用户启用日志功能,HTML 跨站点脚本检查会生成日志消息,指示其采取的操作。如果
block被禁用,则会为检测到跨站点脚本违规的每个标头或表单字段生成单独的日志消息。但是,当请求被阻止时,只生成一条消息。同样,即使跨站点脚本标签在多个字段中被转换,转换操作也会为每个请求生成 1 条日志消息。用户可以监视日志,以确定对合法请求的响应是否被阻止。日志消息数量的大幅增加可能表明存在发起攻击的企图。 -
统计信息 — 如果启用,统计信息功能会收集有关违规和日志的统计信息。统计计数器中意外的激增可能表明用户应用程序正在遭受攻击。如果合法请求被阻止,用户可能需要重新检查配置,以确定是否必须配置新的放宽规则或修改现有规则。
-
学习 — 如果用户不确定哪些放宽规则最适合其应用程序,他们可以使用学习功能根据学习到的数据生成 HTML 跨站点脚本规则建议。Web 应用程序防火墙学习引擎会监视流量并根据观察到的值提供学习建议。为了在不影响性能的情况下获得最佳效益,用户可能希望在短时间内启用学习选项,以获取具有代表性的规则样本,然后部署这些规则并禁用学习。
-
转换跨站点脚本 — 如果启用,Web 应用程序防火墙会对与 HTML 跨站点脚本检查匹配的请求进行以下更改:
-
左尖括号 (<) 转换为 HTML 字符实体等效项 (<)
-
右尖括号 (>) 转换为 HTML 字符实体等效项 (>)
-
这可确保浏览器不会解释不安全的 HTML 标签(例如 <script>),从而运行恶意代码。如果用户同时启用请求标头检查和转换,则请求标头中找到的任何特殊字符也会按上述方式进行修改。如果用户受保护网站上的脚本包含跨站点脚本功能,但用户网站不依赖这些脚本正常运行,用户可以安全地禁用阻止并启用转换。此配置可确保不会阻止任何合法的 Web 流量,同时阻止任何潜在的跨站点脚本攻击。
-
检查完整 URL 中的跨站点脚本 — 如果启用完整 URL 检查,Web 应用程序防火墙会检查整个 URL 中是否存在 HTML 跨站点脚本攻击,而不是仅检查 URL 的查询部分。
-
检查请求标头 — 如果启用请求标头检查,Web 应用程序防火墙会检查请求标头中是否存在 HTML 跨站点脚本攻击,而不仅仅是 URL。如果用户使用 GUI,可以在 Web 应用程序防火墙配置文件的“设置”选项卡中启用此参数。
-
InspectQueryContentTypes — 如果配置了请求查询检查,应用程序防火墙会检查请求查询中是否存在特定内容类型的跨站点脚本攻击。如果用户使用 GUI,可以在应用程序防火墙配置文件的“设置”选项卡中配置此参数。
重要提示:
作为流式传输更改的一部分,Web 应用程序防火墙对跨站点脚本标签的处理方式已更改。在早期版本中,存在左括号 (<)、右括号 (>) 或同时存在左右括号 (<>) 都会被标记为跨站点脚本违规。在包含请求端流式传输支持的版本中,此行为已更改。只有右括号字符 (>) 不再被视为攻击。即使存在左括号字符 (<),请求也会被阻止,并被视为攻击。跨站点脚本攻击会被标记。
缓冲区溢出检查
缓冲区溢出检查可检测试图在 Web 服务器上造成缓冲区溢出的尝试。如果 Web 应用程序防火墙检测到 URL、Cookie 或标头长度超过配置的长度,它会阻止该请求,因为它可能导致缓冲区溢出。
缓冲区溢出检查可防止针对不安全的操作系统或 Web 服务器软件的攻击,这些软件在接收到超出其处理能力的数据字符串时可能会崩溃或行为异常。正确的编程技术通过检查传入数据并拒绝或截断过长字符串来防止缓冲区溢出。然而,许多程序不会检查所有传入数据,因此容易受到缓冲区溢出攻击。此问题尤其影响仍在使用的旧版 Web 服务器软件和操作系统。
缓冲区溢出安全检查允许用户配置 阻止、日志 和 统计信息 操作。此外,用户还可以配置以下参数:
-
最大 URL 长度。Web 应用程序防火墙允许的请求 URL 的最大长度。URL 较长的请求将被阻止。可能值:0–65535。默认值:1024
-
最大 Cookie 长度。Web 应用程序防火墙允许请求中所有 Cookie 的最大长度。Cookie 较长的请求将触发违规。可能值:0–65535。默认值:4096
-
最大标头长度。Web 应用程序防火墙允许的 HTTP 标头的最大长度。标头较长的请求将被阻止。可能值:0–65535。默认值:4096
-
查询字符串长度。传入请求中查询字符串允许的最大长度。查询较长的请求将被阻止。可能值:0–65535。默认值:1024
-
总请求长度。传入请求允许的最大请求长度。长度较长的请求将被阻止。可能值:0–65535。默认值:24820
虚拟修补/签名
签名提供特定的、可配置的规则,以简化保护用户网站免受已知攻击的任务。签名表示一种模式,该模式是针对操作系统、Web 服务器、网站、基于 XML 的 Web 服务或其他资源的已知攻击的组成部分。一套丰富的预配置内置或本机规则提供了一种易于使用的安全解决方案,利用模式匹配的强大功能来检测攻击并防范应用程序漏洞。
用户可以创建自己的签名或使用内置模板中的签名。Web 应用程序防火墙有两个内置模板:
- 默认签名:此模板包含一个预配置的 1,300 多个签名列表,以及完整的 SQL 注入关键字、SQL 特殊字符串、SQL 转换规则和 SQL 通配符列表。它还包含跨站点脚本的拒绝模式,以及跨站点脚本的允许属性和标签。这是一个只读模板。用户可以查看内容,但不能在此模板中添加、编辑或删除任何内容。要使用它,用户必须制作一个副本。在他们自己的副本中,用户可以启用他们想要应用于其流量的签名规则,并指定当签名规则与流量匹配时要采取的操作。
这些签名源自 SNORT 发布的规则:SNORT,SNORT 是一个开源入侵防御系统,能够执行实时流量分析以检测各种攻击和探测。
- *Xpath 注入模式:此模板包含一组预配置的文字和 PCRE 关键字以及特殊字符串,用于检测 XPath(XML 路径语言)注入攻击。
空白签名:除了复制内置的默认签名模板外,用户还可以使用空白签名模板创建签名对象。用户使用空白签名选项创建的签名对象不包含任何本机签名规则,但与 *默认模板一样,它包含所有 SQL/XSS 内置实体。
外部格式签名:Web 应用程序防火墙还支持外部格式签名。用户可以使用 Citrix Web 应用程序防火墙支持的 XSLT 文件导入第三方扫描报告。针对选定的扫描工具提供了一组内置 XSLT 文件,用于将外部格式文件转换为本机格式(请参阅本节后面内置 XSLT 文件的列表)。
尽管签名有助于用户降低暴露漏洞的风险,并在追求效率的同时保护用户的关键任务Web服务器,但签名确实会带来额外的CPU处理成本。
为用户应用程序需求选择正确的签名非常重要。仅启用与客户应用程序/环境相关的签名。
Citrix 在跨平台/操作系统/技术方面提供 10 多种不同类别的签名。

签名规则数据库非常庞大,因为攻击信息多年来一直在积累。因此,大多数旧规则可能不适用于所有网络,因为软件开发人员可能已经修补了它们,或者客户正在运行更新的操作系统版本。
签名定义更新
Citrix Web Application Firewall 支持签名的自动和手动更新。 我们还建议启用签名的自动更新以保持最新。

这些签名文件托管在 AWS 环境中,因此允许网络防火墙出站访问 NetScaler® IP 以获取最新的签名文件非常重要。在处理实时流量时,更新签名对 ADC 没有影响。
应用程序安全分析
应用程序安全仪表板提供了用户应用程序安全状态的整体视图。例如,它显示了关键安全指标,如安全违规、签名违规和威胁指数。应用程序安全仪表板还显示了针对已发现的 Citrix ADC 实例的攻击相关信息,例如 SYN 攻击、小窗口攻击和 DNS 泛洪攻击。
注意:
要查看应用程序安全仪表板的指标,应在用户希望监控的 Citrix ADC 实例上启用 AppFlow® for Security insight。
在应用程序安全仪表板上查看 Citrix ADC 实例的安全指标
-
使用管理员凭据登录 Citrix ADM。
-
导航到“应用程序”>“应用程序安全仪表板”,并从“设备”列表中选择实例 IP 地址。
用户可以通过单击图表上绘制的气泡,进一步深入查看“应用程序安全调查器”上报告的差异。
ADM 上的集中学习
Citrix Web 应用程序防火墙 (WAF) 可保护用户 Web 应用程序免受 SQL 注入和跨站点脚本 (XSS) 等恶意攻击。为防止数据泄露并提供正确的安全保护,用户必须监控其流量以发现威胁和攻击的实时可操作数据。有时,报告的攻击可能是误报,需要将其作为例外情况提供。
Citrix ADM 上的集中学习是一种重复模式过滤器,使 WAF 能够学习用户 Web 应用程序的行为(正常活动)。根据监控,引擎会为应用于 HTTP 流量的每个安全检查生成建议规则或例外列表。
使用学习引擎部署放宽规则比手动将其部署为必要的放宽规则要容易得多。
要部署学习功能,用户必须首先在用户 Citrix ADC 设备上配置 Web 应用程序防火墙配置文件(一组安全设置)。有关更多信息,请参阅创建 Web 应用程序防火墙配置文件:创建 Web 应用程序防火墙配置文件。
Citrix ADM 为每个安全检查生成例外(放宽)列表。作为管理员,用户可以在 Citrix ADM 中查看例外列表,并决定部署或跳过。
使用 Citrix ADM 中的 WAF 学习功能,用户可以:
-
配置具有以下安全检查的学习配置文件
-
缓冲区溢出
-
HTML 跨站点脚本
注意:
位置的跨站点脚本限制仅为 FormField。
- HTML SQL Injection
注意:
对于 HTML SQL 注入检查,用户必须将
set -sqlinjectionTransformSpecialChars配置为 ON,并在 Citrix ADC 实例中配置set -sqlinjectiontype sqlspclcharorkeywords。 -
-
检查 Citrix ADM 中的放宽规则,并决定采取必要措施(部署或跳过)
-
通过电子邮件、Slack 和 ServiceNow 获取通知
-
使用控制面板查看放宽详情
要在 Citrix ADM 中使用 WAF 学习功能:
-
配置学习配置文件:配置学习配置文件
-
查看放宽规则:查看放宽规则和空闲规则
-
使用 WAF 学习控制面板:查看 WAF 学习控制面板
样式簿
Citrix Web 应用防火墙是一种 Web 应用防火墙 (WAF),可保护 Web 应用程序和站点免受已知和未知攻击,包括所有应用层和零日威胁。
Citrix ADM 现在提供了一个默认的 StyleBook,用户可以使用它更方便地在 Citrix ADC 实例上创建应用程序防火墙配置。
部署应用程序防火墙的配置
以下任务可帮助您在业务网络中的 Citrix ADC 实例上部署负载平衡配置以及应用程序防火墙和 IP 信誉策略。
创建带有应用程序防火墙设置的 LB 配置
在 Citrix ADM 中,导航到“应用程序”>“配置”>“样式簿”。“样式簿”页面显示 Citrix 中可供客户使用的所有样式簿
- ADM。向下滚动并找到包含应用程序防火墙策略和 IP 信誉策略的 HTTP/SSL 负载平衡样式簿。用户还可以通过键入名称
lb-appfw来搜索样式簿。单击“创建配置”。
样式簿将作为用户界面页面打开,用户可以在其中输入此样式簿中定义的所有参数的值。
-
请为以下参数输入相应的值:
-
负载平衡应用程序名称。要在用户网络中部署的带有应用程序防火墙的负载平衡配置的名称。
-
负载平衡应用程序虚拟 IP 地址。Citrix ADC 实例接收客户端请求的虚拟 IP 地址。
-
负载平衡应用程序虚拟端口。用户访问负载平衡应用程序时要使用的 TCP 端口。
-
负载平衡应用程序协议。从列表中选择前端协议。
-
应用程序服务器协议。选择应用程序服务器的协议。
-

- 作为选项,用户可以启用和配置“高级负载平衡器设置”。

- (可选)用户还可以设置身份验证服务器,用于对负载平衡虚拟服务器的流量进行身份验证。

- 单击“服务器 IP 和端口”部分中的“+”以创建应用程序服务器及其可访问的端口。

- 用户还可以为应用程序服务器创建 FQDN 名称。

- 用户还可以指定 SSL 证书的详细信息。

- 用户还可以在目标 Citrix ADC 实例中创建监视器。

- 要在虚拟服务器上配置应用程序防火墙,请启用 WAF 设置。
如果用户希望将应用程序防火墙设置应用于该 VIP 上的所有流量,请确保应用程序防火墙策略规则为 true。否则,请指定 Citrix ADC 策略规则以选择要应用应用程序防火墙设置的请求子集。接下来,选择要应用的配置文件类型 - HTML 或 XML。

-
(可选)用户可以通过启用应用程序防火墙配置文件设置复选框来配置详细的应用程序防火墙配置文件设置。
-
(可选)如果用户要配置应用程序防火墙签名,请输入在要部署虚拟服务器的 Citrix ADC 实例上创建的签名对象的名称。
注意:
用户无法使用此 StyleBook 创建签名对象。
- 接下来,用户还可以配置任何其他应用程序防火墙配置文件设置,例如 StartURL 设置、DenyURL 设置等。

有关应用防火墙和配置设置的更多信息,请参阅应用防火墙。
- 在“目标实例”部分中,选择要部署带有应用防火墙的负载平衡虚拟服务器的 Citrix ADC 实例。
注意:
用户还可以单击刷新图标,将 Citrix ADM 中最近发现的 Citrix ADC 实例添加到此窗口中可用的实例列表。
- 用户还可以启用“IP 信誉检查”来识别发送不需要的请求的 IP 地址。用户可以使用 IP 信誉列表来预先拒绝来自信誉不佳的 IP 的请求。

提示:
Citrix 建议用户选择“试运行”来检查必须在目标实例上创建的配置对象,然后再在实例上运行实际配置。
成功创建配置后,StyleBook 会创建所需的负载平衡虚拟服务器、应用服务器、服务、服务组、应用防火墙标签、应用防火墙策略,并将它们绑定到负载平衡虚拟服务器。
下图显示了每个服务器中创建的对象:

- 要查看在 Citrix ADM 上创建的 ConfigPack,请导航到“应用程序”>“配置”。

安全洞察分析功能
暴露在互联网上的Web和Web服务应用程序越来越容易受到攻击。为了保护应用程序免受攻击,用户需要了解过去、现在和即将发生的威胁的性质和程度,获取关于攻击的实时可操作数据,以及关于对策的建议。Security Insight 提供了一个单一视图解决方案,帮助用户评估用户应用程序的安全状态并采取纠正措施来保护用户应用程序。
安全洞察的工作原理
Security Insight 是一种直观的基于仪表板的安全分析解决方案,可让用户全面了解与用户应用程序相关的威胁环境。Security Insight 包含在 Citrix ADM 中,它会根据用户应用程序防火墙和 ADC 系统安全配置定期生成报告。报告包含每个应用程序的以下信息:
- 威胁指数。一个一位数评级系统,指示对应用程序攻击的关键程度,无论应用程序是否受 ADC 设备保护。对应用程序的攻击越关键,该应用程序的威胁指数就越高。值范围为 1 到 7。
威胁指数基于攻击信息。与攻击相关的信息,例如违规类型、攻击类别、位置和客户端详细信息,使用户能够深入了解对应用程序的攻击。违规信息仅在发生违规或攻击时发送到 Citrix ADM。许多漏洞和弱点会导致高威胁指数值。
- 安全指数。一个一位数评级系统,指示用户配置 ADC 实例以保护应用程序免受外部威胁和漏洞的安全性。应用程序的安全风险越低,安全指数就越高。值范围为 1 到 7。
安全指数同时考虑应用程序防火墙配置和 ADC 系统安全配置。为了获得高安全指数值,这两种配置都必须强大。例如,如果已实施严格的应用程序防火墙检查,但未采用 ADC 系统安全措施(例如为 nsroot 用户设置强密码),则应用程序将被分配较低的安全指数值。
- 可操作信息。用户需要这些信息来降低威胁指数并提高安全指数,从而显著提高应用程序安全性。例如,用户可以查看有关违规、应用程序防火墙和其他安全功能的现有和缺失安全配置、应用程序受攻击的速率等信息。
如何配置安全洞察
注意:
安全洞察仅在具有高级版许可证的 ADC 实例或具有应用程序防火墙许可证的 ADC 高级版上受支持。
要在 ADC 实例上配置 Security Insight,首先要配置应用程序防火墙配置文件和应用程序防火墙策略,然后全局绑定应用程序防火墙策略。
然后,启用 AppFlow 功能,配置 AppFlow 收集器、操作和策略,并全局绑定策略。当用户配置收集器时,他们必须指定要监控报告的 Citrix ADM 服务代理的 IP 地址。
在 ADC 实例上配置安全洞察
- 运行以下命令以配置应用程序防火墙配置文件和策略,并将应用程序防火墙策略全局绑定或绑定到负载平衡虚拟服务器。
添加 应用防火墙配置文件 <name> [-默认值 ( 基本 或 高级 )]
set appfw profile <name> [-startURLAction <startURLAction> …]
添加 appfw 策略 <名称> <规则> <配置文件名称>
绑定 appfw 全局 <策略名称> <优先级>
或者,
绑定负载均衡虚拟服务器 <lb vserver> -策略名称 <policy> -优先级 <priority>
示例:
add appfw profile pr_appfw -defaults advanced
set appfw profile pr_appfw -startURLaction log stats learn
add appfw policy pr_appfw_pol "HTTP.REQ.HEADER(\"Host\").EXISTS" pr_appfw
bind appfw global pr_appfw_pol 1
or,
bind lb vserver outlook –policyName pr_appfw_pol –priority "20"
<!--NeedCopy-->
- 运行以下命令以启用 AppFlow 功能,配置 AppFlow 收集器、操作和策略,并将策略全局绑定或绑定到负载均衡虚拟服务器:
add appflow collector <name> -IPAddress <ipaddress>
set appflow param [-SecurityInsightRecordInterval <secs>] [-SecurityInsightTraffic ( ENABLED or DISABLED )]
添加 应用流 操作 <name> -收集器 <string>
添加 应用流 策略 <name> <规则> <操作>
绑定 appflow 全局 <策略名称> <优先级> [<跳转优先级表达式>] [-type <类型>]
或者,
绑定 lb vserver <vserver> -策略名称 <策略> -优先级 <优先级>
示例:
add appflow collector col -IPAddress 10.102.63.85
set appflow param -SecurityInsightRecordInterval 600 -SecurityInsightTraffic ENABLED
add appflow action act1 -collectors col
add appflow action af_action_Sap_10.102.63.85 -collectors col
add appflow policy pol1 true act1
add appflow policy af_policy_Sap_10.102.63.85 true af_action_Sap_10.102.63.85
bind appflow global pol1 1 END -type REQ_DEFAULT
or,
bind lb vserver Sap –policyName af_action_Sap_10.102.63.85 –priority "20"
<!--NeedCopy-->
通过 Citrix ADM 启用安全洞察
-
导航到 网络 > 实例 > Citrix ADC 并选择实例类型。例如,VPX。
-
选择实例,然后从 选择操作 列表中选择 配置分析。
-
在 在虚拟服务器上配置分析 窗口中:
- 选择您要启用安全洞察的虚拟服务器,然后单击 启用分析。
启用分析 窗口随即显示。
-
选择 安全洞察
-
在 高级选项 下,选择 Logstream 或 IPFIX 作为传输模式
-
表达式默认为 true
-
单击 确定

注意:
如果用户选择未获得许可的虚拟服务器,则 Citrix ADM 会首先许可这些虚拟服务器,然后启用分析
对于管理分区,仅支持 Web Insight
用户点击 确定 后,Citrix ADM 会处理以在选定的虚拟服务器上启用分析功能。

注意:
用户创建组时,可以为组分配角色、为组提供应用程序级访问权限,并将用户分配给组。Citrix ADM 分析功能现在支持基于虚拟 IP 地址的授权。客户用户现在可以查看所有 Insights 的报告,但仅限于他们获得授权的应用程序(虚拟服务器)。有关组以及将用户分配给组的更多信息,请参阅 Citrix ADM 上的配置组:在 Citrix ADM 上配置组。
阈值设置
用户可以在 Security Insight 中设置和查看应用程序的安全指数和威胁指数的阈值。
如何设置阈值
-
导航到 系统 > 分析设置 > 阈值,然后选择 添加。
-
在“流量类型”字段中选择流量类型为 安全,并在其他相应字段(如名称、持续时间和实体)中输入所需信息。
-
在 规则 部分,使用“指标”、“比较器”和“值”字段设置阈值。 例如,“威胁指数” “>” “5”
-
单击 创建。
查看阈值违规情况
-
导航到 分析 > Security Insight > 设备,然后选择 ADC 实例。
-
在 应用程序 部分,用户可以在“阈值违规”列中查看每个虚拟服务器发生的阈值违规次数。
安全洞察功能的使用场景
以下用例描述了用户如何使用安全洞察来评估应用程序的威胁暴露并改进安全措施。
了解威胁环境的整体情况
在此用例中,用户拥有一组暴露于攻击的应用程序,并且他们已配置 Citrix ADM 来监视威胁环境。用户需要经常查看威胁指数、安全指数以及应用程序可能遭受的任何攻击的类型和严重性,以便他们可以首先关注最需要关注的应用程序。安全洞察仪表板提供用户选择的时间段内以及所选 ADC 设备的用户应用程序所经历的威胁摘要。它显示应用程序列表、它们的威胁和安全指数以及所选时间段内的攻击总数。
例如,用户可能正在监视 Microsoft Outlook、Microsoft Lync、SharePoint 和 SAP 应用程序,并且用户可能希望查看这些应用程序的威胁环境摘要。
要获取威胁环境的摘要,请登录 Citrix ADM,然后导航到 分析 > 安全洞察。
每个应用程序都显示关键信息。默认时间段为 1 小时。

要查看不同时间段的信息,请从左上角的列表中选择一个时间段。

要查看不同 ADC 实例的摘要,请在 Devices 下,单击 ADC 实例的 IP 地址。要按给定列对应用程序列表进行排序,请单击列标题。
确定应用程序的威胁暴露情况
在安全洞察仪表板上查看威胁环境摘要以识别具有高威胁指数和低安全指数的应用程序后,用户希望在决定如何保护它们之前确定其威胁暴露。也就是说,用户希望确定导致其指数值下降的攻击类型和严重性。用户可以通过查看应用程序摘要来确定应用程序的威胁暴露。
在此示例中,Microsoft Outlook 的威胁指数值为 6,用户想知道哪些因素导致了如此高的威胁指数。
要确定 Microsoft Outlook 的威胁暴露,请在 Security Insight 仪表板上,单击 Outlook。应用程序摘要包括一个标识服务器地理位置的地图。

点击 威胁指数 > 安全检查违规,并查看出现的违规信息。

点击 签名违规,并查看出现的违规信息。

确定一个应用程序中已存在和尚未配置的安全设置
在对某个应用程序所面临的威胁暴露程度进行全面审查之后,用户通常会希望明确了解该应用程序目前已部署了哪些安全配置,以及还有哪些关键的安全配置尚未到位。用户可以通过深入查阅该应用程序的“安全指数摘要”报告来获取并掌握这些详细信息。
“安全指数摘要”报告能够为用户提供关于以下各项安全配置的实际有效性评估信息:
-
应用程序防火墙配置。显示有多少签名和安全实体未配置。
-
Citrix ADM 系统安全。显示有多少系统安全设置未配置。

在上一个用例中,用户审查了 Microsoft Outlook 的威胁暴露,其威胁指数值为 6。现在,用户想知道 Outlook 有哪些安全配置,以及可以添加哪些配置来提高其威胁指数。
在 安全洞察仪表板 上,点击 Outlook,然后点击 安全指数 选项卡。查看 安全指数摘要 区域中提供的信息。

在 应用程序防火墙配置 节点上,点击 Outlook_Profile,并查看饼图中显示的安全检查和签名违规信息。

检查应用程序防火墙摘要表中的每种保护类型的配置状态。要按列对表进行排序,请单击列标题。

单击 Citrix ADM System Security 节点,查看系统安全设置和 Citrix 建议,以提高应用程序安全指数。
识别出那些需要立即关注的应用程序
需要立即关注的应用程序是那些具有高威胁指数和低安全指数的应用程序。
在此示例中,Microsoft Outlook 和 Microsoft Lync 都具有较高的威胁指数值 6,但 Lync 的安全指数较低。因此,用户可能需要先关注 Lync,然后再改善 Outlook 的威胁环境。

确定在给定时间段内发生的攻击次数
用户可能希望确定在给定时间点对给定应用程序发生了多少次攻击,或者他们可能希望研究特定时间段内的攻击率。
在“安全洞察”页面上,单击任何应用程序,然后在“应用程序摘要”中单击违规次数。“总违规”页面以图形方式显示一小时、一天、一周和一个月内的攻击。

应用程序摘要表提供了有关攻击的详细信息。其中一些如下:
-
攻击时间
-
发生攻击的客户端 IP 地址
-
严重性
-
违规行为类别
-
攻击源 URL 和其他详细信息。

虽然用户始终可以在每小时报告中查看攻击时间(如图像所示),但现在他们可以查看聚合报告的攻击时间范围,即使是每日或每周报告。如果用户从时间段列表中选择“1 天”,则 Security Insight 报告会显示所有聚合的攻击,并且攻击时间以一小时范围显示。如果用户选择“1 周”或“1 个月”,则所有攻击都会聚合,并且攻击时间以一天范围显示。

获取有关安全漏洞的详细信息
用户可能希望查看应用程序上的攻击列表,并深入了解攻击的类型和严重性、ADC 实例采取的操作、请求的资源以及攻击源。
例如,用户可能希望确定有多少针对 Microsoft Lync 的攻击被阻止,请求了哪些资源,以及源的 IP 地址。
在 Security Insight 控制面板上,单击 Lync > 总违规。在表中,单击“已执行操作”列标题中的筛选器图标,然后选择“已阻止”。

有关请求的资源的信息,请查看“URL”列。有关攻击源的信息,请查看“客户端 IP”列。
查看日志表达式详细信息
Citrix ADC 实例使用通过应用程序防火墙配置文件配置的日志表达式,对用户企业中应用程序上的攻击采取行动。在 Security Insight 中,用户可以查看 ADC 实例使用的日志表达式返回的值。这些值包括请求头、请求正文等。除了日志表达式值之外,用户还可以查看 ADC 实例用于对攻击采取行动的应用程序防火墙配置文件中定义的日志表达式名称和日志表达式的注释。
先决条件
确保用户:
-
在应用程序防火墙配置文件中配置日志表达式。有关更多信息,请参阅应用程序防火墙。
-
在 Citrix ADM 中启用基于日志表达式的 Security Insights 设置。请执行以下操作:
-
导航到 分析 > 设置,然后单击 启用分析功能。
-
在“启用分析功能”页面中,在 基于日志表达式的安全洞察设置 部分下选择 启用安全洞察,然后单击 确定。
-

例如,用户可能希望查看 ADC 实例针对用户企业中 Microsoft Lync 攻击所采取的操作返回的日志表达式值。
在 Security Insight 控制板上,导航到 Lync > Total Violations。在“应用程序摘要”表中,单击 URL 以在 Violation Information 页面中查看违规的完整详细信息,包括日志表达式名称、注释以及 ADC 实例针对该操作返回的值。

在部署配置之前,请务必确定安全指数。
安全漏洞通常在用户将安全配置部署到 ADC 实例后发生,但用户可能希望在部署之前评估安全配置的有效性。
例如,用户可能希望评估 IP 地址为 10.102.60.27 的 ADC 实例上 SAP 应用程序配置的安全指数。
在 Security Insight 控制板上,在 Devices 下,单击用户配置的 ADC 实例的 IP 地址。用户可以看到威胁指数和攻击总数均为 0。威胁指数直接反映了应用程序上攻击的数量和类型。零攻击表示应用程序未受到任何威胁。

单击 Sap > 安全指数 > SAP_Profile 并评估显示的安全指数信息。

在应用程序防火墙摘要中,用户可以查看不同保护设置的配置状态。如果某个设置被设置为日志记录或未配置,则该应用程序将被分配较低的安全指数。

安全违规事件
查看应用程序安全违规详情
暴露在互联网上的Web应用程序对攻击的脆弱性急剧增加。Citrix ADM使用户能够可视化可操作的违规详情,以保护应用程序免受攻击。导航到 安全 > 安全违规,以获取一站式解决方案,用于:
-
根据其类别(例如 网络、Bot 和 WAF)访问应用程序安全违规
-
采取纠正措施以保护应用程序
要在Citrix ADM中查看安全违规,请确保:
-
用户拥有Citrix ADC实例的高级许可证(用于WAF和BOT违规)。
-
用户已在负载均衡或内容切换虚拟服务器上应用许可证(用于WAF和BOT)。有关更多信息,请参阅 管理虚拟服务器上的许可。
-
用户启用更多设置。有关更多信息,请参阅Citrix产品文档中“设置”部分提供的过程:设置。
违规类别**
Citrix ADM使用户能够查看以下违规:
| 网络 | Bot | WAF |
|---|---|---|
| HTTP 慢速攻击 | 过多的客户端连接 | 异常高的上传事务数量 |
| DNS 慢速攻击 | 账户盗用** | 异常高的下载事务数量 |
| HTTP 慢速提交 | 异常高的上传量 | 过多的唯一 IP |
| 不存在的域名洪水攻击 | 异常高的请求速率 | 每个地理区域过多的唯一 IP |
| HTTP 解同步攻击 | 异常高的下载数据量 | |
| 布莱兴巴赫攻击 | ||
| 分段粉碎攻击 | ||
| Syn 洪水攻击 | ||
** - 用户必须在 Citrix ADM 中配置账户接管设置。请参阅账户接管中提到的先决条件:账户接管。
除了这些违规行为之外,用户还可以在 WAF 和 Bot 类别下分别查看以下 Security Insight 和 Bot Insight 违规行为:
| WAF | Bot |
|---|---|
| 缓冲区溢出 | 爬虫 |
| 内容类型 | 订阅源获取器 |
| 曲奇一致性 | 链接检查器 |
| CSRF 表单标记 | 市场营销 |
| 拒绝 URL | 抓取器 |
| 表单字段一致性 | 屏幕截图创建器 |
| 字段格式 | 搜索引擎 |
| 最大上传数 | 服务代理 |
| 引用者标头 | 站点监视器 |
| 安全商务 | 速度测试器 |
| 安全对象 | 工具 |
| 超文本标记语言 结构化查询语言 注入 | 未分类项 |
| 起始 URL | 病毒扫描器 |
| XSS | 漏洞扫描工具 |
| XML 拒绝服务 | 设备指纹等待超时 |
| XML 格式 | 无效设备指纹 |
| XML Web 服务互操作性 | 无效验证码响应 |
| XML 安全套接字层 | 验证码尝试次数超出 |
| XML 附件 | 有效验证码响应 |
| XML SOAP Fault | 验证码客户端静音 |
| XML 验证 | 验证码等待时间超出 |
| 其他 | 请求大小超出限制 |
| IP 信誉 | 速率限制超出 |
| HTTP 拒绝服务 | 阻止列表(IP、子网、策略表达式) |
| TCP 小窗口 | 允许列表(IP、子网、策略表达式) |
| 签名校验违规 | 零像素请求 |
| 文件上传类型 | 源 IP |
| JSON 跨站脚本 | 主机 |
| JSON 结构化查询语言 | 地理位置 |
| JSON 拒绝服务 | URL |
| 命令注入攻击 | |
| 推断内容类型 XML | |
| 会话劫持 | |
设置过程
用户必须启用高级安全分析并将Web 事务设置设置为全部才能在 Citrix ADM 中查看以下违规:
-
异常高的上传事务 (WAF)
-
异常高的下载事务 (WAF)
-
过多的唯一 IP (WAF)
-
账户盗用 (机器人)
对于其他违规行为,请确保已启用 Metrics Collector。默认情况下,Citrix ADC 实例上已启用 Metrics Collector。有关详细信息,请参阅:配置智能应用程序分析。
启用高级安全分析功能
-
导航到 网络 > 实例 > Citrix ADC,然后选择实例类型。例如,MPX。
-
选择 Citrix ADC 实例,然后从“选择操作”列表中,选择“配置分析”。
-
选择虚拟服务器,然后单击 Enable Analytics。
-
在“启用分析”窗口中:
- 选择 Web 洞察。用户选择 Web 洞察 后,只读的 高级安全分析 选项将自动启用。
注意: 高级安全分析 选项仅适用于高级许可的 ADC 实例。
-
选择 Logstream 作为传输模式
-
表达式默认为 true
-
单击 OK

启用 Web 事务设置
- 导航到 分析 > 设置。
显示设置页面。
-
单击为分析启用功能。
-
在Web 事务设置下,选择所有。

- 单击确定。
安全违规情况仪表板
在安全违规仪表板中,用户可以查看:
- 所有 ADC 实例和应用程序中发生的总违规。总违规根据所选时间段显示。

- 每个类别下的总违规。

- 受影响的 ADC 总数、受影响的应用程序总数以及根据总发生次数和受影响应用程序得出的主要违规。

违规行为详情
对于每个违规,Citrix ADM 会在特定时间段内监控行为,并检测异常行为的违规。单击每个选项卡可查看违规详情。用户可以查看以下详情:
-
总发生次数、上次发生时间以及受影响的总应用程序数
-
在事件详细信息下,用户可以查看:
-
受影响的应用程序。如果两个或更多应用程序受到违规影响,用户还可以从列表中选择应用程序。
-
指示违规的图表。
拖动并选择列出违规的图表,以缩小违规搜索范围。

单击 重置缩放 以重置缩放结果
-
建议操作,建议用户排查问题
-
其他违规详细信息,例如违规发生时间和检测消息
-
机器人洞察
在 Citrix ADM 中使用机器人洞察
用户在 Citrix ADC 中配置机器人管理后,必须在虚拟服务器上启用 Bot Insight 才能在 Citrix ADM 中查看洞察。
要启用 机器人洞察:
-
导航到 网络 > 实例 > Citrix ADC 并选择实例类型。例如,VPX。
-
选择实例,然后从 选择操作 列表中选择 配置分析。
-
选择虚拟服务器,然后单击 启用分析。
-
在 启用分析 窗口中:
-
选择 机器人洞察
-
在 高级选项 下,选择 Logstream。

- 单击 确定。
-
启用 Bot 洞察 后,导航到 分析 > 安全 > Bot 洞察。

-
时间列表以查看机器人详细信息
-
拖动滑块选择特定时间范围,然后单击 Go 以显示自定义结果
-
受机器人影响的总实例数
-
所选实例的虚拟服务器,包含总机器人攻击次数
-
机器人总数 – 表示为虚拟服务器发现的机器人攻击总数(包括所有机器人类别)。
-
人类浏览器总数 – 表示访问虚拟服务器的人类用户总数。
-
机器人与人类比例 – 表示访问虚拟服务器的人类用户与机器人之间的比例。
-
签名机器人、指纹机器人、基于速率的机器人、IP 信誉机器人、允许列表机器人和阻止列表机器人 – 表示根据配置的机器人类别发生的机器人攻击总数。有关机器人类别的更多信息,请参阅:在 Citrix ADC 中配置机器人检测技术。
-
-
单击 > 以图形格式查看机器人详细信息。

查看事件历史记录
用户可以在“事件历史记录”中查看机器人签名更新,条件是:
-
在 Citrix ADC 实例中添加了新的机器人签名。
-
Citrix ADC 实例中更新了现有机器人签名。
您可以在机器人洞察页面上选择时间段以查看事件历史记录。

下图显示了如何从 AWS 云检索机器人签名、在 Citrix ADC 上更新以及在 Citrix ADM 上查看签名更新摘要。

-
机器人签名自动更新调度程序从 AWS URI 检索映射文件。
-
将映射文件中的最新签名与 ADC 设备中的现有签名进行比较。
-
从 AWS 下载新签名并验证签名的完整性。
-
使用机器人签名文件中的新签名更新现有机器人签名。
-
生成 SNMP 警报并将签名更新摘要发送到 Citrix ADM。
查看机器人
单击虚拟服务器以查看“应用程序摘要”

-
提供应用程序摘要详细信息,例如:
-
平均 RPS – 指示虚拟服务器上收到的每秒平均机器人事务请求数 (RPS)。
-
按严重性分类的机器人 – 指示根据严重性发生的最高机器人事务。严重性根据“严重”、“高”、“中”和“低”进行分类。
例如,如果虚拟服务器有 11770 个高严重性机器人和 1550 个严重性机器人,则 Citrix ADM 会在“按严重性分类的机器人”下显示“严重 1.55 K”。
-
最大机器人类别 – 指示根据机器人类别发生的最高机器人攻击。
例如,如果虚拟服务器有 8000 个阻止列表机器人、5000 个允许列表机器人和 10000 个超出速率限制的机器人,则 Citrix ADM 会在“最大机器人类别”下显示“超出速率限制 10 K”。
-
最大地理来源 – 指示根据区域发生的最高机器人攻击。
例如,如果虚拟服务器在圣克拉拉有 5000 次机器人攻击,在伦敦有 7000 次机器人攻击,在班加罗尔有 9000 次机器人攻击,则 Citrix ADM 会在“最大地理来源”下显示“班加罗尔 9 K”。
-
平均机器人流量百分比 – 指示人机比。
-
-
在地图视图中显示基于位置的机器人攻击严重性
-
显示机器人攻击的类型(良好、不良和所有)
-
显示机器人攻击总数以及相应的配置操作。例如,如果您已配置:
-
IP 地址范围(192.140.14.9 到 192.140.14.254)作为阻止列表机器人,并选择“丢弃”作为这些 IP 地址范围的操作
-
IP 范围(192.140.15.4 到 192.140.15.254)作为阻止列表机器人,并选择创建日志消息作为这些 IP 范围的操作
在这种情况下,Citrix ADM 显示:
-
已阻止的机器人总数
-
已丢弃的机器人总数
-
日志中的机器人总数
-
-
查看 CAPTCHA 机器人
在网页中,CAPTCHA 旨在识别传入流量是来自人类还是自动化机器人。要在 Citrix ADM 中查看 CAPTCHA 活动,用户必须在 Citrix ADC 实例中将 CAPTCHA 配置为 IP 信誉和设备指纹检测技术的机器人操作。有关详细信息,请参阅:配置机器人管理。
以下是 Citrix ADM 在机器人洞察中显示的 CAPTCHA 验证码活动:
-
CAPTCHA 尝试次数超出限制 – 表示登录失败后 CAPTCHA 尝试的最大次数
-
CAPTCHA 客户端已静音 – 表示由于这些请求之前被 CAPTCHA 挑战检测为恶意机器人而被丢弃或重定向的客户端请求数量
-
人类 – 表示人类用户执行的 CAPTCHA 条目
-
CAPTCHA 响应无效 – 表示当 Citrix ADC 发送 CAPTCHA 挑战时,从机器人或人类接收到的不正确 CAPTCHA 响应的数量

查看僵尸程序陷阱
要在 Citrix ADM 中查看僵尸程序陷阱,您必须在 Citrix ADC 实例中配置僵尸程序陷阱。有关更多信息,请参阅配置僵尸程序管理。

为了识别僵尸程序陷阱,网页中会启用一个脚本,该脚本对人类隐藏,但对僵尸程序不隐藏。当僵尸程序访问此脚本时,Citrix ADM 会识别并报告僵尸程序陷阱。
单击虚拟服务器并选择 零像素请求

查看僵尸程序详细信息
有关更多详细信息,请单击 僵尸程序类别 下的僵尸程序攻击类型。
将显示所选验证码类别的攻击时间以及僵尸程序攻击总数等详细信息。

用户还可以拖动条形图以选择要显示僵尸程序攻击的特定时间范围。

要获取僵尸程序攻击的更多信息,请单击以展开。

-
实例 IP – 指示 Citrix ADC 实例的 IP 地址
-
机器人总数 – 表示该特定时间发生的机器人攻击总数
-
HTTP 请求 URL – 表示为验证码报告配置的 URL
-
国家代码 – 表示发生机器人攻击的国家
-
区域 – 表示发生机器人攻击的区域
-
配置文件名称 – 表示用户在配置期间提供的配置文件名称
高级搜索
用户还可以使用搜索文本框和时间范围列表,根据用户需求查看机器人详细信息。当用户单击搜索框时,搜索框会提供以下搜索建议列表。
-
实例 IP — 思杰 ADC 实例 IP 地址
-
客户端 IP – 客户端 IP 地址
-
机器人类型 – 机器人类型,例如好或坏
-
严重性 – 机器人攻击的严重性
-
已采取的操作 – 机器人攻击后采取的操作,例如丢弃、无操作、重定向
-
机器人类别 – 机器人攻击的类别,例如阻止列表、允许列表、指纹等。用户可以根据类别为其关联机器人操作
-
机器人检测 – 用户在 Citrix ADC 实例上配置的机器人检测类型(阻止列表、允许列表等)
-
位置 – 发生机器人攻击的区域/国家
-
请求 URL – 可能存在机器人攻击的 URL
用户还可以在用户搜索查询中使用运算符来缩小用户搜索范围。例如,如果用户想要查看所有恶意机器人:
-
单击搜索框并选择 机器人类型
-
再次单击搜索框并选择运算符 =
-
再次单击搜索框并选择 恶意
-
单击 搜索 以显示结果

机器人违规详情
客户端连接过多
当客户端尝试访问 Web 应用程序时,客户端请求在 Citrix ADC 设备中处理,而不是直接连接到服务器。Web 流量包含机器人,机器人可以比人类更快地执行各种操作。
使用 客户端连接过多 指标,用户可以分析应用程序通过机器人接收到异常高的客户端连接的场景。

在 事件详细信息 下,用户可以查看:
-
受影响的应用程序。如果两个或更多应用程序受到违规影响,用户还可以从列表中选择应用程序。
-
显示所有违规的图表
-
违规事件的发生时间
-
违规检测消息,指示与应用程序进行事务处理的 IP 地址总数
-
应用程序可以接收的已接受 IP 地址范围
账户盗用
注意:
确保用户启用高级安全分析和 Web 事务选项。有关更多信息,请参阅设置:设置。
一些恶意机器人可以窃取用户凭据并执行各种网络攻击。这些恶意机器人被称为不良机器人。识别不良机器人并保护用户设备免受任何形式的高级安全攻击至关重要。
先决条件
用户必须在 Citrix ADM 中配置账户盗用设置。
-
导航到 分析 > 设置 > 安全违规
-
单击添加

-
在添加应用程序页面上,指定以下参数:
-
应用程序 - 从列表中选择虚拟服务器。
-
方法 - 从列表中选择 HTTP 方法类型。可用选项包括 GET、PUSH、POST 和 UPDATE。
-
登录 URL 和成功响应代码 - 指定 Web 应用程序的 URL,并指定用户希望 Citrix ADM 报告来自恶意机器人的账户盗用违规行为的 HTTP 状态代码(例如 200)。
-
单击添加。
-

用户配置设置后,可以使用账户盗用指示器分析恶意机器人是否尝试通过发送多个请求以及凭据来盗用用户账户。

在事件详细信息下,用户可以查看:
-
受影响的应用程序。如果两个或更多应用程序受到违规行为影响,用户还可以从列表中选择应用程序。
-
显示所有违规行为的图表
-
违规行为发生的时间
-
针对违规行为的检测消息,指示异常失败登录活动的总数、成功登录次数和失败登录次数
-
恶意机器人 IP 地址。单击可查看详细信息,例如时间、IP 地址、成功登录总数、失败登录总数以及来自该 IP 地址的请求总数。

异常高的上传量
Web 流量还包括用于上传的数据。例如,如果用户平均每天上传数据为 500 MB,而用户上传 2 GB 数据,则这可以被视为异常高的上传数据量。机器人也能够比人类更快地处理数据上传。
使用异常高上传量指示器,用户可以分析通过机器人向应用程序上传数据的异常情况。

在 事件详情 下,用户可以查看:
-
受影响的应用程序。如果两个或更多应用程序受到违规影响,用户还可以从列表中选择应用程序。
-
显示所有违规的图表
-
违规事件发生的时间
-
违规的检测消息,其中指示了已处理的总上传数据量
-
到应用程序的可接受上传数据范围
异常高的下载数据量
与高上传量类似,机器人也可以比人类更快地执行下载。
使用 异常高的下载量 指标,用户可以分析通过机器人从应用程序下载数据的异常情况。

在 事件详情 下,用户可以查看:
-
受影响的应用程序。如果两个或更多应用程序受到违规影响,用户还可以从列表中选择应用程序。
-
显示所有违规的图表
-
违规事件发生的时间
-
针对此违规的检测消息,指示已处理的总下载数据量。
-
应用程序所接受的下载数据范围。
异常高的请求速率
用户可以控制进出应用程序的流量。僵尸程序攻击可能会导致异常高的请求速率。例如,如果用户将应用程序配置为允许每分钟 100 个请求,但观察到 350 个请求,则这可能是一次僵尸程序攻击。
使用异常高的请求速率指示器,用户可以分析应用程序收到的异常请求速率。

在事件详细信息下,用户可以查看:
-
受影响的应用程序。如果两个或更多应用程序受到违规影响,用户还可以从列表中选择应用程序。
-
指示所有违规的图表
-
此违规的发生时间。
-
针对此违规的检测消息,指示收到的总请求数以及超出预期请求的过多请求百分比。
-
由应用程序确定的预期请求速率的被接受范围
使用案例
僵尸程序
有时,传入的网络流量由僵尸程序组成,大多数组织都遭受僵尸程序攻击。Web 和移动应用程序是业务的重要收入驱动因素,大多数公司都面临僵尸程序等高级网络攻击的威胁。僵尸程序是一种软件程序,它以比人类快得多的速度自动重复执行某些操作。僵尸程序可以与网页交互、提交表单、运行操作、扫描文本或下载内容。它们可以访问视频、发布评论并在社交媒体平台上发推文。一些僵尸程序(称为聊天机器人)可以与人类用户进行基本对话。执行有用服务(例如客户服务、自动化聊天和搜索引擎爬虫)的僵尸程序是好僵尸程序。同时,可以从网站抓取或下载内容、窃取用户凭据、发送垃圾邮件内容以及执行其他类型网络攻击的僵尸程序是坏僵尸程序。由于大量坏僵尸程序执行恶意任务,因此管理僵尸程序流量并保护用户 Web 应用程序免受僵尸程序攻击至关重要。通过使用 Citrix 僵尸程序管理,用户可以检测传入的僵尸程序流量并缓解僵尸程序攻击,以保护用户 Web 应用程序。Citrix 僵尸程序管理有助于识别坏僵尸程序并保护用户设备免受高级安全攻击。它检测好僵尸程序和坏僵尸程序,并识别传入流量是否为僵尸程序攻击。通过使用僵尸程序管理,用户可以缓解攻击并保护用户 Web 应用程序。
Citrix ADC 机器人管理提供以下优势:
-
抵御机器人、脚本和工具包。利用基于静态签名的防御和设备指纹识别提供实时威胁缓解。
-
抵御自动化基础和高级攻击。防止诸如应用层 DDoS、密码喷射、密码填充、价格抓取器和内容抓取器等攻击。
-
保护用户 API 和投资。保护用户 API 免受不必要的滥用,并保护基础设施投资免受自动化流量的影响。
用户可以通过使用 Citrix 机器人管理系统受益的一些用例包括:
-
暴力破解登录。一个政府门户网站不断受到机器人攻击,这些机器人试图暴力破解用户登录。该组织通过查看网络日志发现攻击,看到特定用户反复受到快速登录尝试的攻击,并且密码使用字典攻击方法递增。根据法律,他们必须保护自己和用户。通过部署 Citrix 机器人管理,他们可以使用设备指纹识别和速率限制技术来阻止暴力破解登录。
-
阻止恶意机器人并对未知机器人进行设备指纹识别。一个网络实体每天有 100,000 名访问者。他们不得不升级底层基础设施,并为此花费了巨额资金。在最近的一次审计中,团队发现 40% 的流量来自机器人,这些机器人抓取内容、收集新闻、检查用户资料等等。他们希望阻止这些流量以保护用户并降低托管成本。通过使用机器人管理,他们可以阻止已知的恶意机器人,并对正在攻击其网站的未知机器人进行设备指纹识别。通过阻止这些机器人,他们可以将机器人流量减少 90%。
-
允许良好机器人。“良好”机器人旨在帮助企业和消费者。它们自 20 世纪 90 年代初第一批搜索引擎机器人被开发用于抓取互联网以来就已存在。没有它们,Google、Yahoo 和 Bing 将不复存在。其他良好机器人(主要面向消费者)的示例包括:
-
聊天机器人(又称 chatterbots、智能机器人、对话机器人、即时通讯机器人、社交机器人、会话机器人)通过文本或声音与人类互动。最早的文本用途之一是用于在线客户服务和短信应用,如 Facebook Messenger 和 iPhone Messages。Siri、Cortana 和 Alexa 都是聊天机器人;但移动应用也属于聊天机器人,这些应用允许用户订购咖啡并告知他们何时准备好,允许用户观看电影预告片并查找当地影院放映时间,或者在用户请求乘车服务时向他们发送汽车型号和车牌的照片。
-
购物机器人会搜寻互联网,为用户正在搜索的商品寻找最低价格。
-
监控机器人检查网站的健康状况(可用性和响应能力)。Downdetector 是一个独立网站的示例,它提供网站和其他类型服务的实时状态信息,包括中断情况。有关 Downdetector 的更多信息,请参阅:Downdetector。
-
机器人检测
使用 Citrix ADC GUI 配置机器人管理
用户可以通过首先在设备上启用该功能来配置 Citrix ADC 机器人管理。启用后,用户可以创建机器人策略以将传入流量评估为机器人,并将流量发送到机器人配置文件。然后,用户创建机器人配置文件,并将该配置文件绑定到机器人签名。作为替代方案,用户还可以克隆默认机器人签名文件,并使用该签名文件配置检测技术。创建签名文件后,用户可以将其导入机器人配置文件。所有这些步骤按以下顺序执行:

-
启用僵尸程序管理功能
-
配置僵尸程序管理设置
-
克隆 Citrix 僵尸程序默认签名
-
导入 Citrix 僵尸程序签名
-
配置僵尸程序签名设置
-
创建僵尸程序配置文件
-
创建僵尸程序策略
启用僵尸程序管理功能
-
在导航窗格中,展开 System,然后单击 Settings。
-
在 配置高级功能 页面上,选中 僵尸程序管理 复选框。
-
单击 OK,然后单击 Close。

克隆僵尸程序签名文件
-
导航到 安全 > Citrix 僵尸程序管理 > 签名。
-
在 Citrix 僵尸程序管理签名 页面中,选择默认的僵尸程序签名记录,然后单击 克隆。
-
在 克隆 Bot 签名 页面中,输入名称并编辑签名数据。
-
单击 创建。

导入 Bot 签名文件
如果用户有自己的签名文件,则可以将其作为文件、文本或 URL 导入。执行以下步骤导入 Bot 签名文件:
-
导航到 安全 > Citrix Bot 管理 和 签名。
-
在 Citrix Bot 管理签名 页面上,将文件导入为 URL、文件或文本。
-
单击 继续。

-
在 导入 Citrix Bot 管理签名 页面上,设置以下参数。
-
名称。Bot 签名文件的名称。
-
注释。有关导入文件的简要说明。
-
覆盖。选中此复选框可在文件更新期间允许数据覆盖。
-
签名数据。修改签名参数
-
-
单击 完成。

IP 信誉
使用 Citrix ADC 图形用户界面配置 IP 信誉
此配置是僵尸程序 IP 信誉功能的先决条件。此检测技术使用户能够识别来自入站 IP 地址的任何恶意活动。作为配置的一部分,我们设置了不同的恶意僵尸程序类别,并为每个类别关联了一个僵尸程序操作。
-
导航到 安全 > Citrix 僵尸程序管理 和 配置文件。
-
在 Citrix 僵尸程序管理配置文件 页面上,选择一个签名文件,然后单击 编辑。
-
在 Citrix 僵尸程序管理配置文件 页面上,转到 签名设置 部分,然后单击 IP 信誉。
-
在 IP 信誉部分,设置以下参数:
-
已启用。选中此复选框以验证作为检测过程一部分的入站僵尸程序流量。
-
配置类别。用户可以对不同类别下的入站僵尸程序流量使用 IP 信誉技术。根据配置的类别,用户可以丢弃或重定向僵尸程序流量。单击“添加”以配置恶意僵尸程序类别。
-
在 配置 Citrix 僵尸程序管理配置文件 IP 信誉绑定 页面中,设置以下参数:
-
类别。从列表中选择一个恶意僵尸程序类别。根据类别关联僵尸程序操作。
-
已启用。选中此复选框以验证 IP 信誉签名检测。
-
僵尸程序操作。根据配置的类别,用户可以分配无操作、丢弃、重定向或 CAPTCHA 操作。
-
日志。选中此复选框以存储日志条目。
-
日志消息。日志的简要描述。
-
注释。关于机器人类别的简要描述。
-
-
-
单击确定。
-
单击更新。
-
单击完成。

机器人签名的自动更新
机器人静态签名技术使用包含良好机器人和不良机器人列表的签名查找表。机器人根据用户代理字符串和域名进行分类。如果传入机器人流量中的用户代理字符串和域名与查找表中的值匹配,则应用配置的机器人操作。机器人签名更新托管在 AWS 云上,签名查找表与 AWS 数据库通信以进行签名更新。自动签名更新调度程序每 1 小时运行一次,以检查 AWS 数据库并更新 ADC 设备中的签名表。
用于配置签名的机器人签名映射自动更新 URL 为:机器人签名映射。
注意:
用户还可以配置代理服务器,并通过代理定期将签名从 AWS 云更新到 ADC 设备。对于代理配置,用户必须在机器人设置中设置代理 IP 地址和端口地址。
配置机器人签名自动更新
要配置机器人签名自动更新,请完成以下步骤:
启用机器人签名自动更新
用户必须在 ADC 设备上的机器人设置中启用自动更新选项。
在命令提示符下,键入:
set bot settings –signatureAutoUpdate ON
使用 Citrix ADC GUI 配置 Bot 签名自动更新
完成以下步骤以配置 Bot 签名自动更新:
-
导航到“安全”>“Citrix Bot 管理”。
-
在详细信息窗格中,在“设置”下单击“更改 Citrix Bot 管理设置”。
-
在“配置 Citrix Bot 管理设置”中,选中“自动更新签名”复选框。

- 单击“确定”和“关闭”。
有关使用 CLI 配置 IP 信誉的更多信息,请参阅:使用 CLI 配置 IP 信誉功能。
参考文献
有关使用 SQL 细粒度放宽的信息,请参阅:SQL 细粒度放宽。
有关如何使用命令行配置 SQL 注入检查的信息,请参阅:HTML SQL 注入检查。
有关如何使用 GUI 配置 SQL 注入检查的信息,请参阅:使用 GUI 配置 SQL 注入安全检查。
有关将学习功能与 SQL 注入检查结合使用的信息,请参阅:将学习功能与 SQL 注入检查结合使用。
有关将日志功能与 SQL 注入检查结合使用的信息,请参阅: 使用日志功能进行 SQL 注入检查。
有关 SQL 注入违规统计信息,请参阅:SQL 注入违规统计信息。
有关 SQL 注入检查亮点,请参阅:Highlights。
有关 XML SQL 注入检查的信息,请参阅:XML SQL 注入检查。
有关使用跨站点脚本细粒度放宽的信息,请参阅:SQL Fine Grained Relaxations。
有关使用命令行配置 HTML 跨站点脚本的信息,请参阅:使用命令行配置 HTML 跨站点脚本检查。
有关使用 GUI 配置 HTML 跨站点脚本的信息,请参阅:使用 GUI 配置 HTML 跨站点脚本检查。
有关将学习功能与 HTML 跨站点脚本检查结合使用的信息,请参阅:使用学习功能进行 HTML 跨站点脚本检查。
有关将日志功能与 HTML 跨站点脚本检查结合使用的信息,请参阅:使用日志功能进行 HTML 跨站点脚本检查。
有关 HTML 跨站点脚本违规统计信息,请参阅:HTML 跨站点脚本违规统计信息。
有关 HTML 跨站点脚本亮点,请参阅:Highlights。
有关 XML 跨站点脚本的信息,请访问:XML 跨站点脚本检查。
有关使用命令行配置缓冲区溢出安全检查的信息,请参阅:使用命令行配置缓冲区溢出安全检查。
有关使用 GUI 配置缓冲区溢出安全检查的信息,请参阅:使用 Citrix ADC GUI 配置缓冲区溢出安全检查。
有关将日志功能与缓冲区溢出安全检查结合使用的信息,请参阅:使用日志功能进行缓冲区溢出安全检查。
有关缓冲区溢出违规的统计信息,请参阅:缓冲区溢出违规的统计信息。
有关缓冲区溢出安全检查要点的信息,请参阅:要点。
有关添加或删除签名对象的信息,请参阅:添加或删除签名对象。
有关从模板创建签名对象的信息,请参阅:从模板创建签名对象。
有关通过导入文件创建签名对象的信息,请参阅:通过导入文件创建签名对象。
有关使用命令行通过导入文件创建签名对象的信息,请参阅:使用命令行通过导入文件创建签名对象。
有关使用 GUI 删除签名对象的信息,请参阅:使用 GUI 删除签名对象。
有关使用命令行删除签名对象的信息,请参阅:使用命令行删除签名对象。
有关配置或修改签名对象的信息,请参阅:配置或修改签名对象。
有关更新签名对象的更多信息,请参阅:更新签名对象。
有关使用命令行从源更新 Web 应用程序防火墙签名的信息,请参阅:使用命令行从源更新 Web 应用程序防火墙签名。
有关从 Citrix 格式文件更新签名对象的信息,请参阅:从 Citrix 格式文件更新签名对象。
有关从受支持的漏洞扫描工具更新签名对象的信息,请参阅:从受支持的漏洞扫描工具更新签名对象。
有关 Snort 规则集成的信息,请参阅:Snort 规则集成。
有关配置 Snort 规则的信息,请参阅:配置 Snort 规则。
有关使用命令行配置 Bot 管理的信息,请参阅:配置 Bot 管理。
有关配置设备指纹技术 Bot 管理设置的信息,请参阅:配置设备指纹技术 Bot 管理设置。
有关使用 Citrix ADC GUI 配置 Bot 允许列表的信息,请参阅:使用 Citrix ADC GUI 配置 Bot 允许列表。
有关使用 Citrix ADC GUI 配置 Bot 阻止列表的信息,请参阅:使用 Citrix ADC GUI 配置 Bot 阻止列表。
有关配置 Bot 管理的更多信息,请参阅:配置 Bot 管理。
先决条件
在尝试在 AWS 中创建 VPX 实例之前,用户应确保具备以下条件:
-
一个 AWS 账户,用于在亚马逊云服务 (AWS) 虚拟私有云 (VPC) 中启动 Citrix ADC VPX AMI。用户可以在亚马逊云服务免费创建 AWS 账户:AWS。
-
一个 AWS Identity and Access Management (IAM) 用户账户,用于安全地控制用户对 AWS 服务和资源的访问。有关如何创建 IAM 用户账户的更多信息,请参阅主题:创建 IAM 用户(控制台)。
IAM 角色对于独立部署和高可用性部署都是强制性的。IAM 角色必须具有以下权限:
-
ec2:描述实例
-
ec2:描述网络接口
-
ec2:分离网络接口
-
ec2:附加网络接口
-
ec2:启动实例
-
ec2:停止实例
-
ec2:重启实例
-
ec2:描述地址
-
ec2:关联地址
-
ec2:取消关联地址
-
ec2:分配私有IP地址
-
自动扩缩:*
-
简单通知服务:*
-
简单队列服务:*
-
云监控:*
-
iam:模拟主体策略
-
iam:获取角色
有关 IAM 权限的更多信息,请参阅:AWS 托管式作业职能策略。
如果使用 Citrix CloudFormation 模板,IAM 角色将自动创建。该模板不允许选择已创建的 IAM 角色。
注意:
当用户通过 GUI 登录 VPX 实例时,会出现一个提示,要求配置 IAM 角色所需的权限。如果权限已配置,请忽略此提示。 注意:
需要 AWS CLI 才能通过终端程序使用 AWS 管理控制台提供的所有功能。有关更多信息,请参阅 AWS CLI 用户指南:什么是 AWS 命令行界面?。用户还需要 AWS CLI 才能将网络接口类型更改为 SR-IOV。
有关 Citrix ADC 和 亚马逊云服务 的更多信息,包括对 亚马逊云服务 中 Citrix Networking VPX 的支持,请参阅《Citrix ADC 和 亚马逊云服务 验证参考设计指南》:Citrix ADC 和 亚马逊云服务 验证参考设计。
限制条件和使用指导原则
在 AWS 上部署 Citrix ADC VPX 实例时,适用以下限制和使用指南:
-
用户在开始新部署之前应阅读上面列出的 AWS 术语。
-
仅当使用 Citrix ADM 自动扩缩组进行预配时,才支持集群功能。
-
为了使高可用性设置有效工作,请将专用 NAT 设备与管理接口关联,或将弹性 IP (EIP) 与 NSIP 关联。有关 NAT 的更多信息,请参阅 AWS 文档:NAT 实例。
-
数据流量和管理流量必须通过属于不同子网的 ENI 进行隔离。
-
管理 ENI 上必须只存在 NSIP 地址。
-
如果使用 NAT 实例进行安全防护而不是将 EIP 分配给 NSIP,则需要进行适当的 VPC 级别路由更改。有关进行 VPC 级别路由更改的说明,请参阅 AWS 文档:场景 2:具有公共和私有子网的 VPC。
-
VPX 实例可以从一种 EC2 实例类型移动到另一种(例如,从 m3.large 移动到 m3.xlarge)。有关更多信息,请访问:限制和使用指南。
-
对于 AWS 上的 VPX 存储介质,Citrix 推荐使用 EBS,因为它具有持久性,并且即使从实例分离后数据仍然可用。
-
不支持动态向 VPX 添加 ENI。重新启动 VPX 实例以应用更新。Citrix 建议用户停止独立或 HA 实例,附加新的 ENI,然后重新启动实例。主 ENI 一旦部署就不能更改或附加到不同的子网。在 VPX 停止时,可以根据需要分离和更改辅助 ENI。
-
用户可以为 ENI 分配多个 IP 地址。每个 ENI 的最大 IP 地址数量由 EC2 实例类型决定,请参阅弹性网络接口中的“每个实例类型的每个网络接口的 IP 地址”部分:弹性网络接口。用户必须在将 IP 地址分配给 ENI 之前在 AWS 中分配它们。有关更多信息,请参阅弹性网络接口:弹性网络接口。
-
Citrix 建议用户避免在 Citrix ADC VPX 接口上使用启用和禁用接口命令。
-
Citrix ADC 的
set ha node \<NODE\_ID\> -haStatus STAYPRIMARY和set ha node \<NODE\_ID\> -haStatus STAYSECONDARY命令默认情况下处于禁用状态。 -
对于 VPX,不支持 IPv6。
-
由于 AWS 限制,不支持以下功能:
-
无偿地址解析协议 (GARP)
-
L2 模式(桥接)。对于与 SNIP 位于同一子网中的服务器,透明虚拟服务器支持 L2(MAC 重写)。
-
带标签的 VLAN
-
动态路由
-
虚拟 MAC
-
-
为使 RNAT、路由和透明虚拟服务器正常工作,请确保数据路径中所有 ENI 的源/目标检查已禁用。有关更多信息,请参阅弹性网络接口中的“更改源/目标检查”:弹性网络接口。
-
在 AWS 上的 Citrix ADC VPX 部署中,在某些 AWS 区域,AWS 基础设施可能无法解析 AWS API 调用。如果 API 调用是通过 Citrix ADC VPX 实例上的非管理接口发出的,则会发生这种情况。作为一种变通方法,请将 API 调用仅限于管理接口。为此,请在 VPX 实例上创建 NSVLAN,并使用相应的命令将管理接口绑定到 NSVLAN。
-
例如:
-
set ns config -nsvlan <vlan id> -ifnum 1/1 -tagged NO
-
保存配置
-
-
在提示符处重新启动 VPX 实例。
-
有关配置
nsvlan的更多信息,请参阅配置 NSVLAN:配置 NSVLAN。 -
在 AWS 控制台中,“监控”选项卡下显示的 VPX 实例的 vCPU 使用率可能很高(高达 100%),即使实际使用率低得多。要查看实际的 vCPU 使用率,请导航到“查看所有 CloudWatch 指标”。有关更多信息,请参阅:使用 Amazon CloudWatch 监控您的实例。另外,如果低延迟和性能不是问题,用户可以启用 CPU Yield 功能,让数据包引擎在没有流量时处于空闲状态。访问 Citrix 支持知识中心,了解有关 CPU Yield 功能及其启用方法的更多详细信息。
技术方面的要求
在用户启动快速入门指南以开始部署之前,必须按照下表中的规定配置用户帐户。否则,部署可能会失败。
参考资源
如有必要,请登录用户 Amazon 账户并在此处请求增加以下资源的服务限制:AWS/登录。如果您已有使用这些资源的现有部署,并且认为此部署可能会超出默认限制,则可能需要执行此操作。有关默认限制,请参阅 AWS 文档中的 AWS 服务配额:AWS 服务配额。
可在此处找到的 AWS Trusted Advisor:AWS/登录,提供服务限制检查,显示某些服务的某些方面的使用情况和限制。
| 资源 | 此部署使用 |
|---|---|
| VPC | 1 |
| 弹性 IP 地址 | 0/1(用于堡垒主机) |
| IAM 安全组 | 3 |
| IAM 角色 | 1 |
| 子网 | 6(3/可用区) |
| 互联网网关 | 1 |
| 路由表 | 5 |
| WAF VPX 虚拟设备实例 | 2 |
| 堡垒主机 | 0/1 |
| NAT 网关 | 2 |
区域
AWS 上的 Citrix WAF 目前并非在所有 AWS 区域都受支持。有关受支持区域的最新列表,请参阅 AWS 文档中的 AWS 服务终端节点:AWS 服务终端节点。
有关 AWS 区域以及云基础设施重要性的更多信息,请参阅:全球基础设施。
密钥对
请确保在用户计划使用快速入门指南进行部署的区域中,用户 AWS 账户中至少存在一个 Amazon EC2 密钥对。记下密钥对名称。部署期间会提示用户输入此信息。要创建密钥对,请按照 AWS 文档中有关 Amazon EC2 密钥对和 Linux 实例的说明进行操作:Amazon EC2 密钥对和 Linux 实例。
如果用户正在部署快速入门指南用于测试或概念验证目的,我们建议他们创建一个新的密钥对,而不是指定一个已被生产实例使用的密钥对。
在本文中
- 概述
- 思杰 ADC VPX 产品
- 亚马逊云科技
- AWS 术语
- 亚马逊云科技上的思杰 WAF 架构示例
- AWS 上 Citrix Web 应用防火墙的逻辑流程
- 成本和许可
- 部署配置选项
- 使用快速入门指南的部署步骤
- Citrix 应用交付管理
- 使用 Citrix 应用交付管理 在 亚马逊云科技 上部署 Citrix ADC VPX 实例
- 体系结构图
- 配置所需任务
- 思杰 ADC Web 应用防火墙 和 OWASP 十大安全风险列表 – 2017
- A1:2017- 注入
- A2:2017 – 身份验证失效
- A3:2017 - 敏感数据泄露
- A4:2017 可扩展标记语言 外部实体 (XXE)
- A5:2017 访问控制失效
- A6:2017 - 安全配置错误
- A7:2017 - 跨站脚本 (XSS)
- A8:2017 - 不安全的反序列化
- A9:2017 - 使用具有已知漏洞的组件
- A10:2017 - 日志记录和监控不足
- 应用程序安全保护
- 思杰应用程序交付管理
- 应用场景
- 思杰 Web 应用防火墙 (WAF)
- Web 应用防火墙部署策略
- 配置 Web 应用程序防火墙 (WAF)
- SQL 注入
- 跨站点脚本攻击
- 缓冲区溢出检查
- 虚拟修补/签名
- 应用程序安全分析
- ADM 上的集中学习
- 样式簿
- 部署应用程序防火墙的配置
- 安全洞察分析功能
- 如何配置安全洞察
- 阈值设置
- 安全洞察功能的使用场景
- 安全违规事件
- 查看应用程序安全违规详情
- 违规类别**
- 设置过程
- 安全违规情况仪表板
- 违规行为详情
- 机器人洞察
- 在 Citrix ADM 中使用机器人洞察
- 查看事件历史记录
- 查看机器人
- 查看僵尸程序详细信息
- 高级搜索
- 机器人违规详情
- 客户端连接过多
- 账户盗用
- 异常高的上传量
- 异常高的下载数据量
- 异常高的请求速率
- 使用案例
- 机器人检测
- IP 信誉
- 参考文献
- 先决条件
- 限制条件和使用指导原则
- 技术方面的要求