高级概念

AWS 上的 Citrix ADC VPX 部署指南

概述

Citrix ADC 是一种应用程序交付和负载平衡解决方案,无论其托管在何处,均可为 Web、传统和云原生应用程序提供高质量的用户体验。它具有多种外形规格和部署选项,而不会将用户锁定在单一配置或云中。池容量许可允许在云部署之间移动容量。

作为服务和应用程序交付领域无可争议的领导者,Citrix ADC 已部署在全球数千个网络中,以优化、保护和控制所有企业和云服务的交付。Citrix ADC 直接部署在 Web 和数据库服务器的前面,将高速负载平衡和内容切换、HTTP 压缩、内容缓存、SSL 加速、应用程序流可见性和强大的应用程序防火墙整合到一个易于使用的集成平台中。通过端到端监视,将网络数据转换为可操作的商业智能,大大简化了会议 SLA。Citrix ADC 允许使用简单的声明式策略引擎定义和管理策略,而无需编程专业知识。

Citrix ADC VPX

Citrix ADC VPX 产品是一种虚拟设备,可以托管在各种虚拟化和云平台上。

本部署指南重点介绍 Amazon Web Services 上的 Citrix ADC VPX。

Amazon Web Services

Amazon Web Services (AWS) 是 Amazon 提供的综合性、不断发展的云计算平台,包括基础设施即服务 (IaaS)、平台即服务 (PaaS) 和打包软件即服务 (SaaS) 产品的混合体。AWS 服务提供计算能力、数据库存储和内容交付服务等工具。

AWS 提供以下基本服务:

  • AWS 计算服务

  • 迁移服务

  • 存储

  • 数据库服务

  • 管理工具

  • 安全服务

  • 分析

  • 网络连接

  • 消息

  • 开发者工具

  • 移动服务

AWS 术语

以下是本文档中使用的用户必须熟悉的关键术语的简要说明:

  • 弹性网络接口 (ENI) — 一种虚拟网络接口,用户可以将其连接到虚拟私有云 (VPC) 中的实例。

  • 弹性 IP (EIP) 地址 — 用户在 Amazon EC2 或 Amazon VPC 中分配并附加到实例的静态公有 IPv4 地址。弹性 IP 地址与用户帐户(而不是特定实例)关联。它们具有弹性,因为用户可以根据需求的变化轻松分配、附加、分离和释放它们。

  • 子网 — 可以连接 EC2 实例的 VPC 的 IP 地址范围的一部分。用户可以根据安全和运营需求创建子网来对实例进行分组。

  • 虚拟私有云 (VPC) — 一种 Web 服务,用于预置 AWS 云中逻辑隔离的部分,用户可以在自己定义的虚拟网络中启动 AWS 资源。

以下是本文档中使用的用户应熟悉的其他术语的简要说明:

  • Amazon 系统映像 (AMI) — 一种计算机映像,它提供启动实例(云中的虚拟服务器)所需的信息。

  • Elastic Block Store — 提供持久性块存储卷,用于 AWS 云中的 Amazon EC2 实例。

  • 简单存储服务 (S3) — Internet存储。它旨在为开发人员简化 Web 规模的计算。

  • 弹性计算云 (EC2) — 一种在云中提供安全、可调整大小的计算容量的 Web 服务。它旨在为开发人员简化 Web 规模的云计算。

  • 弹性 Kubernetes 服务 (EKS) — Amazon EKS 是一项托管服务,使用户可以轻松地在 AWS 上运行 Kubernetes,而无需站起来或维护自己的 Kubernetes 控制平面。… Amazon EKS 跨多个可用区运行 Kubernetes 控制平面实例,以确保高可用性。Amazon EKS 是一项托管服务,它使用户可以轻松地在 AWS 上运行 Kubernetes,而无需安装和操作自己的 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 角色。

  • Internet网关 — 将网络连接到Internet。用户可以将其 VPC 外部 IP 地址的流量路由到Internet网关。

  • 密钥对 — 一组安全证书,用户使用它们以电子方式证明自己的身份。密钥对由私钥和公钥组成。

  • 路由表 — 一组路由规则,用于控制离开与路由表关联的任何子网的流量。用户可以将多个子网与一个路由表关联,但一个子网一次只能与一个路由表关联。

  • 自动扩展组 — 根据用户定义的策略、计划和运行状况检查自动启动或终止 Amazon EC2 实例的 Web 服务。

  • CloudFormation — 一种用于编写或更改模板的服务,该模板作为一个单元创建和删除相关 AWS 资源。

  • Web Application Firewall (WAF) — WAF 被定义为在 OSI 网络模型中保护 Web 应用程序层的安全解决方案。WAF 不依赖于它所保护的应用程序。本文档重点介绍和评估 Citrix WAF 专门提供的安全方法和功能。

  • 机器人 — 机器人被定义为网络(尤其是Internet)上的自主设备、程序或软件,可以与计算机系统或用户交互以运行命令、回复消息或执行例行任务。机器人是Internet上执行重复性任务的软件程序。有些漫游器可能不错,而另一些机器人可能会对网站或应用程序产生巨大的负面影响。

AWS 架构上的示例 Citrix WAF

适用于生产部署的 AWS 上的 Citrix WAF 架构

上图显示了在 AWS 云中构建 Citrix WAF 环境的具有 默认参数 的虚拟私有云 (VPC)。

在生产部署中,将为 Citrix WAF 环境设置以下参数:

  • 此架构假定使用 AWS CloudFormation 模板和 AWS 快速入门指南,可在此处找到: GitHub/AWS-QuickStart/QuickStart-Citrix-adc-VPX

  • 一个跨越两个可用区的 VPC,根据 AWS 最佳实践配置了两个公有子网和四个私有子网,以便在 AWS 上为您提供自己的虚拟网络,该网络具有 /16 无类域间路由 (CIDR) 块(一个拥有 65,536 个私有 IP 地址的网络)。*

  • 两个 Citrix WAF 实例(主实例和辅助实例),每个可用区一个。

  • 三个安全组,每个网络接口(管理、客户端、服务器)一个,它们充当虚拟防火墙来控制其关联实例的流量。

  • 每个实例有@@三个子网-一个用于管理,一个用于客户端,一个用于后端服务器。

  • 连接到 VPC 的 Internet网关 ,以及与公有子网关联以允许访问Internet的公有子网路由表。WAF 主机使用此网关发送和接收流量。有关Internet网关的更多信息,请参阅: Internet网关。*

  • 5 路由表-一个与主 WAF 和辅助 WAF 的客户端子网关联的公共路由表。其余 4 个路由表链接到 4 个私有子网(主 WAF 和辅助 WAF 的管理子网和服务器端子网)中的每个子网。*

  • WAF 中的 AWS Lambda 负责以下工作:

    • 在 HA 模式的每个可用区中配置两个 WAF

    • 创建示例 WAF 配置文件,从而推送与 WAF 相关的此配置

  • AWS Identity and Access Management (IAM),用于安全地控制用户对 AWS 服务和资源的访问。默认情况下,云信息模板 (CFT) 会创建所需的 IAM 角色。但是,用户可以为 Citrix ADC 实例提供自己的 IAM 角色。

  • 在公有子网中,两个托管网络地址转换 (NAT) 网关,允许对公有子网中的资源进行出站 Internet 访问。

注意:

将 Citrix WAF 部署到现有 VPC 中的 CFT WAF 模板会跳过标有星号的组件,并提示用户输入其现有 VPC 配置。

后端服务器不是由 CFT 部署的。

AWS 上 Citrix WAF 的逻辑流程

AWS 上的 Citrix WAF 逻辑图

逻辑流

Web Application Firewall 可以作为客户服务器和客户用户之间的第 3 层网络设备或第 2 层网络桥安装,通常安装在客户公司的路由器或防火墙后面。它必须安装在可以拦截用户想要保护的 Web 服务器与用户访问这些 Web 服务器的集线器或交换机之间的通信的位置。然后,用户将网络配置为将请求发送到 Web Application Firewall(而不是直接发送到其 Web 服务器),并将响应发送到 Web Application Firewall(而不是直接发送给用户)。Web Application Firewall 在将流量转发到最终目标之前,会使用其内部规则集以及用户添加和修改来过滤该流量。它会阻止或使其检测到有害的任何活动变得无害,然后将剩余的流量转发到 Web 服务器。上图概述了筛选过程。

注意:

该图忽略了将策略应用于传入流量。它说明了策略处理所有请求的安全配置。此外,在此配置中,已配置一个签名对象并与配置文件关联,并在配置文件中配置了安全检查。

如图所示,当用户在受保护的网站上请求一个 URL 时,Web Application Firewall 会首先检查该请求,以确保它与签名不匹配。如果请求与签名匹配,则 Web Application Firewall 将显示错误对象(位于 Web Application Firewall 设备上的网页,用户可以使用导入功能对其进行配置)或将请求转发到指定的错误 URL(错误页面)。

如果请求通过签名检查,Web Application Firewall 将应用已启用的请求安全检查。请求安全检查将验证请求是否适用于用户网站或 Web 服务,并且不包含可能构成威胁的材料。例如,安全检查检查请求是否有迹象,指示请求可能是意外类型、请求意外内容或包含意外且可能是恶意的 Web 表单数据、SQL 命令或脚本。如果请求未通过安全检查,Web Application Firewall 将对请求进行清理,然后将其发送回 Citrix ADC 设备(或 Citrix ADC 虚拟设备),或者显示错误对象。如果请求通过了安全检查,则会将其发送回 Citrix ADC 设备,该设备完成任何其他处理并将请求转发到受保护的 Web 服务器。

当网站或 Web 服务向用户发送响应时,Web Application Firewall 会应用已启用的响应安全检查。响应安全检查会检查敏感私人信息泄露、网站污损迹象或其他不应出现的内容的响应。如果响应未通过安全检查,则 Web Application Firewall 将删除不应存在的内容或阻止响应。如果响应通过安全检查,则会将响应发回 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 系统映像)。

  • 许可证模式:按使用量付费(生产许可证为现收现付)或自带许可证(BYOL,适用于客户许可的 AMI-Citrix ADC 池容量)。有关 Citrix ADC 池容量的更多信息,请参阅: Citrix ADC 池容量

注意:

如果用户想要动态修改 VPX 实例的带宽,则应选择 BYOL 选项,例如 Citrix ADC 池容量 ,他们可以在其中分配来自 Citrix ADM 的许可证,或者他们可以根据实例的最小和最大容量按需提供,无需重启。仅当用户想要更改许可证版本时才需要重新启动。

  • 吞吐量:200 Mbps 或 1 Gbps

  • 捆绑包:高级

部署选项

本部署指南提供了两个部署选项:

  • 第一个选项是使用快速入门指南格式和以下选项进行部署:

    • 将 Citrix WAF 部署到新的 VPC(端到端部署)中。此选项构建一个由 VPC、子网、安全组和其他基础设施组件组成的新 AWS 环境,然后将 Citrix WAF 部署到此新 VPC 中。

    • 将 Citrix WAF 部署到现有 VPC中。此选项在用户现有的 AWS 基础设施中预置 Citrix WAF。

  • 第二个选项是使用 Citrix ADM 使用 WAF 样书进行部署

使用快速入门指南的部署步骤

步骤 1:登录用户 AWS 帐户

  • 登录 AWS 的用户帐户:具有 IAM(身份和访问管理)用户角色的 A W S,该角色具有创建亚马逊帐户(如有必要)或登录亚马逊帐户的必要权限。

  • 使用导航栏中的区域选择器选择用户希望在 AWS 可用区中部署高可用性的 AWS 区域。

  • 确保用户 AWS 帐户配置正确,有关更多信息,请参阅本文档的技术要求部分。

步骤 2:订阅 Citrix WAF AMI

  • 此部署需要在 AWS Marketplace 中订阅适用于 Citrix WAF 的 AMI。

  • 登录用户 AWS 帐户。

  • 通过选择下表中的链接之一,打开 Citrix WAF 产品的页面。

    • 当用户在下面的步骤 3 中启动中的快速入门指南以部署 Citrix WAF 时,他们会使用 Citrix WAF 映像 参数选择与其 AMI 订阅匹配的捆绑包和吞吐量选项。以下列表显示了 AMI 选项和相应的参数设置。VPX AMI 实例最低需要 2 个虚拟 CPU 和 2 GB 内存。

注意:

要检索 AMI ID,请参阅 GitHub 上的 AWS Marketplace 上的 Citrix 产品页面:AWS Mark etplace 上的 Citrix 产品

Citrix Web Application Firewall (WAF) 的 AWS Marketplace 页面

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

接受 Citrix WAF 用户许可协议的条款

注意:

用户会收到确认页面,并向帐户所有者发送一封确认电子邮件。有关订阅的详细说明,请参阅 AWS Marketplace 文档: 入门中的入门

  • 订阅流程完成后,退出 AWS Marketplace,无需采取进一步行动。请勿从 AWS Marketplace 配置软件 — 用户将使用快速入门指南部署 AMI。

步骤 3:启动快速入门指南以部署 AMI

重要:

如果用户将 Citrix WAF 部署到现有 VPC 中,则必须确保其 VPC 跨越两个可用区,每个可用区中有一个公有子网和两个私有子网用于工作负载实例,并且这些子网未共享。本部署指南不支持共享子网,请参阅使用共享 VPC: 使用共享 VPC。这些子网的路由表中需要有 NAT 网关,以允许实例下载软件包和软件,而不会将它们暴露给 Internet。有关 NAT 网关的更多信息,请参阅: NAT 网关。配置子网,使子网不会重叠。

此外,用户应确保 DHCP 选项中的域名选项按照此处的 Amazon VPC 文档中的说明进行配置:DHCP 选项集: DHCP 选项集。启动快速入门指南时,系统会提示用户输入其 VPC 设置。

  • 每个部署大约需要 15 分钟才能完成。

  • 检查显示在导航栏右上角的 AWS 区域,并在必要时进行更改。这是构建 Citrix WAF 网络基础架构的地方。默认情况下,模板在美国东部(俄亥俄)区域启动。

注意:

此部署包括 Citrix WAF,目前并非所有 AWS 区域都支持它。有关受支持区域的最新列表,请参阅 AWS 服务终端节点:A WS 服务终端节点

  • 在“选择模板”页面上,保留模板 URL 的默认设置,然后选择“下一步”。

  • 在“指定详细信息”页面上,根据用户的需要指定堆栈名称。查看模板的参数。为需要输入的参数提供值。对于所有其他参数,请查看默认设置并根据需要对其进行自定义。

  • 在下表中,按类别列出了部署选项的参数,并分别对其进行了说明:

  • 将 Citrix WAF 部署到新的或现有 VPC 中的参数(部署选项 1)

  • 当用户完成对参数的查看和自定义后,他们应选择“下一步”。

将 Citrix WAF 部署到新 VPC 的参数

VPC 网络配置

有关此部署的参考信息,请参阅此处的 CFT 模板: AWS-QuickStart/QuickStart-Citrix-ADC-WAF/模板

参数标签(名称) 默认值 说明
主可用区(主可用区) 需要输入 主 Citrix WAF 部署的可用区域
辅助可用区(辅助可用区) 需要输入 辅助 Citrix WAF 部署的可用区域
VPC CIDR (VPCCIDR) 10.0.0.0/16 VPC 的 CIDR 块。必须是格式为 x.x.x.x/x 的有效 IP CIDR 范围。
远程 SSH CIDR IP(管理) (受限 dsshcIDR) 需要输入 可通过 SSH 连接到 EC2 实例的 IP 地址范围(端口:22)。
    例如,使用 0.0.0.0/0 将允许所有 IP 地址使用 SSH 或 RDP 访问用户实例。注意:仅授权特定 IP 地址或地址范围访问用户实例,因为在生产环境中使用它并不安全。
远程 HTTP CIDR IP(客户端) (RestrictedWebAppCIDR) 0.0.0.0/0 可通过 HTTP 连接到 EC2 实例的 IP 地址范围(端口:80)
远程 HTTP CIDR IP(客户端) (RestrictedWebAppCIDR) 0.0.0.0/0 可通过 HTTP 连接到 EC2 实例的 IP 地址范围(端口:80)
主管理私有子网 CIDR (主管理私有子网 CIDR) 10.0.1.0/24 位于可用区 1 的主管理子网的 CIDR 块。
主管理私有 IP (主管理私有 IP) 从主管理子网 CIDR 分配给主管理 ENI 的私有 IP(最后一个二进制八位数必须在 5 到 254 之间)。
主客户端公有子网 CIDR (primaryClientPublicSubnetCIDR) 10.0.2.0/24 位于可用区 1 的主客户端子网的 CIDR 块。
主客户端私有 IP (主客户端私有 IP) 从主客户端子网 CIDR 的主客户端 IP 分配给主客户端 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。
辅助客户端公有子网 CIDR (次要客户端公共子网 CIDR) 10.0.5.0/24 位于可用区 2 的辅助客户端子网的 CIDR 块。
辅助客户端私有 IP (辅助客户端私有 IP) 分配给辅助客户端 ENI 的私有 IP(最后一个二进制八位数必须在 5 到 254 之间)。它将从辅助客户端子网 CIDR 分配辅助客户端 IP。
辅助服务器私有子网 CIDR (辅助服务器私有子网 CIDR) 10.0.6.0/24 位于可用区 2 中的辅助服务器子网的 CIDR 块。
辅助服务器私有 IP (辅助服务器私有 IP) 分配给辅助服务器 ENI 的私有 IP(最后一个二进制八位数必须在 5 到 254 之间)。它将从辅助服务器子网 CIDR 分配辅助服务器 IP。
VPC 租期属性 (VPCTenancy) default 在 VPC 中启动的实例的允许租期。选择专用租赁可启动专用于单个客户的 EC2 实例。

堡垒主机配置

参数标签(名称) 默认值 说明
需要堡垒主机 (LinuxBastionHosteIP) 默认情况下,不会配置堡垒主机。但是,如果用户想要选择沙盒部署,请从菜单中选择“是”,这将在公有子网中部署 Linux Bastion Host ,其弹性IP 将允许用户访问私有子网和公有子网中的组件。

Citrix WAF 配置

参数标签(名称) 默认值 说明
密钥对名称 (密钥对名称) 需要输入 公钥/私钥对,允许用户在启动后安全地连接到用户实例。这是用户在其首选 AWS 区域中创建的密钥对;请参阅技术要求部分。
Citrix ADC 实例类型 (CitrixadcInstanceType) m4.xlarge 用于 ADC 实例的 EC2 实例类型。确保选择的实例类型与 AWS 市场中可用的实例类型一致,否则 CFT 可能会失败。
Citrix ADC AMI ID (citrixadcImageID) 将用于 Citrix WAF 部署的 AWS Marketplace AMI。这必须与步骤 2 中订阅的 AMI 用户匹配。
Citrix ADC VPX IAM 角色 (iam:GetRole) 此模板: AWS-QuickStart/QuickStart-Citrix-ADC-VPX/模板 创建 Citrix ADC VPX 所需的 IAM 角色和实例配置文件。如果留空,CFT 将创建所需的 IAM 角色。
客户端 PubliceIP (EIP) (clientPubliceIP) 如果用户想要将公共 EIP 分配给用户的客户端网络接口,请选择“是”。否则,即使在部署之后,用户仍然可以选择稍后根据需要进行分配。

池许可配置

|参数标签(名称)|默认值|说明| |:—|:—|:—| |ADM 共用许可|否|如果为许可选择 BYOL 选项,请从列表中选择 y es 。这允许用户上载他们已经购买的许可证。 在用户开始之前,他们应配置 Citrix ADC 池容量以确保 ADM 池许可可用,请参阅: 配置 Citrix ADC 池容量。| |可达的 ADM/ADM 代理 IP|需要输入|有关客户许可选项,用户是否在以下位置部署 Citrix ADMprem 或云中的代理,请确保有一个可访问的 ADM IP,然后将其用作输入参数。| |许可模式|可选|用户可以从以下三种许可模式中进行选择:

  • 配置 Citrix ADC 池容量: 配置 Citrix ADC 池容量
  • Citrix ADC VPX 签入和签出许可 (CICO):Citrix ADC VPX 签入和签出许可
  • Citrix ADC 虚拟 CP U 许可:Citrix ADC 虚拟 CPU 许可 | | 以 Mbps 为单位的许可带宽|0 Mbps| 仅当许可模式为池许可时,此字段才会出现在图片中。它分配许可证的初始带宽(以 Mbps 为单位),以便在创建 BYOL ADC 之后进行分配。它应该是 10 Mbps 的倍数。| |许可版本|高级|池容量许可模式的许可版本为 高级版 | |设备平台类型|可选| 仅当用户选择 CICO 许可模式时,才 选择所需的设备平台类型。用户可以获得列出的选项:VPX-200、VPX-1000、VPX-3000、VPX-5000、VPX-8000| |许可版 |高级版| 基于 vCPU 的许可证版本为 高级版。|

AWS 快速入门指南配置

注意:

我们建议用户保留以下两个参数的默认设置,除非他们为自己的部署项目自定义《快速入门指南》模板。 更改这些参数的设置将自动更新代码引用,使其指向新的《快速入门指南》位置。有关更多详细信息,请参阅此处的 AWS 快速入门指南贡献者指南: AWS 快速入门/选项 1-采用快速入门

参数标签(名称) 默认值 说明
快速入门指南 S3 存储桶名称 (qss3bucketName) aws-quickstart 用户为其《快速入门指南》资产副本创建的 S3 存储桶(如果用户决定自定义或扩展快速入门指南以供自己使用)。存储桶名称可以包含数字、小写字母、大写字母和连字符,但不应以连字符开头或结尾。
快速入门指南 S3 密钥前缀 (qss3keyPrefix) quickstart-citrix-adc-vpx/ 如果用户决定自定义或扩展快速入门指南以供自己使用,则 S3 密钥名称前缀来自对象键和元数据:对象密钥和元数据,用于模拟快速入门指南资产的用户副本的文件夹。此前缀可以包括数字、小写字母、大写字母、连字符和正斜杠。
  • 选项 页面上,用户可以为堆栈中的资源指定资源标签或键值对,并设置高级选项。有关资源标签的更多信息,请参阅: 资源标签。有关设置 AWS CloudFormation 堆栈选项的更多信息,请参阅: 设置 AWS CloudFormation 堆栈选项。用户完成后,应选择“下一步”。

  • 在“查看”页面上,查看并确认模板设置。在“功能”下,选中两个复选框以确认模板创建 IAM 资源并且可能需要自动展开宏的功能。

  • 选择 创建 以部署堆栈。

  • 监控堆栈的状态。当状态为 CREATE_COMPLETE时,Citrix WAF 实例已准备就绪。

  • 使用堆栈的“输出”选项卡中显示的 URL 查看已创建的资源。

成功部署后的 Citrix WAF 输出

步骤 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 的其他设备,或者如果处理本地连接,则使用直接连接。

  • 执行触发器操作以强制故障转移并检查辅助实例是否接管。

提示:

要进一步验证 Citrix WAF 的配置,请在连接到 主 Citrix WAF 实例后运行以下命令:

Sh appfw profile QS-Profile

使用堡垒主机连接到 Citrix WAF HA 对

如果用户选择沙盒部署(例如,作为 CFT 的一部分,用户选择配置堡垒主机),则部署在公有子网中的 Linux 堡垒主机将被配置为访问 WAF 接口。

在 AWS CloudFormation 控制台中(可通过在此处 登录来访问):登录,选择主堆栈,然后在“输出”选项卡上找到 LinuxBastionHosteIP1的值。

Citrix WAF 高可用性对部署资源

  • p@@rivateManagementPrivateNsip 和 primaryadcInstanceID密钥的值将在后面的 步骤中使用 SSH 进入 ADC。

  • 选择“服务”。

  • 计算 选项卡上,选择 EC2

    • 资源下,选择 正在运行的实例

    • 在主 WAF 实例的 描述 选项卡上,记下 IPv4 公有 IP 地址。用户需要该 IP 地址来构建 SSH 命令。

包含主实例描述的 Amazon EC2 控制台

  • 要将密钥存储在用户钥匙串中,请运行命令 ssh-add -K [your-key-pair].pem

在 Linux 上,用户可能需要省略-K 标志。

  • 使用以下命令登录堡垒主机,使用用户在步骤 1 中记下的 LinuxBastionHosteIP1 的值。

ssh -A ubuntu@[LinuxBastionHostEIP1]

  • 从堡垒主机,用户可以使用 SSH 连接到主 WAF 实例。

ssh nsroot@[Primary Management Private NSIP]

密码:[主 ADC 实例 ID]

连接到主 Citrix WAF 实例

现在,用户已连接到主 Citrix WAF 实例。要查看可用的命令,用户可以运行 help 命令。要查看当前的高可用性配置,用户可以运行 show HA 节点命令。

Citrix Application Delivery Management

Citrix Application Delivery Management 服务 (Citrix ADM) 提供了一个简单且可扩展的解决方案,用于管理 Citrix ADC 部署,包括部署在本地或在云端的 Citrix ADC MPX、Citrix ADC VPX、Citrix Gateway、Citrix Secure Web Gateway、Citrix ADC SDX、Citrix ADC CPX 和 Citrix SD-WAN 设备。

用户可以使用此云解决方案从单一、统一且集中的基于云的控制台对整个全球应用程序交付基础设施进行管理、监控和故障排除。Citrix ADM 服务提供了在 Citrix ADC 部署中快速设置、部署和管理应用程序交付所需的所有功能,以及对应用程序运行状况、性能和安全性进行丰富的分析。

Citrix ADM 服务具有以下优势:

  • 敏捷— 易于操作、更新和使用。Citrix ADM 服务的服务模式可通过云端获得,因此可以轻松操作、更新和使用 Citrix ADM 服务提供的功能。更新频率与自动更新功能相结合,可快速增强用户 Citrix ADC 的部署。

  • 更快地实现价值— 更快地实现业务目标。与传统的本地部署不同,用户只需单击几下即可使用其 Citrix ADM 服务。用户不仅节省了安装和配置时间,而且还避免了在潜在错误上浪费时间和资源。

  • 多站点管理— 适用于跨多站点数据中心的实例的单一控制台。借助 Citrix ADM 服务,用户可以管理和监视处于各种类型部署中的 Citrix ADC。用户可以对本地和云端部署的 Citrix ADC 进行一站式管理。

  • 运营效率— 优化和自动化的方式来实现更高的运营效率。借助 Citrix ADM 服务,用户在维护和升级传统硬件部署方面节省了时间、金钱和资源,从而降低了用户运营成本。

Citrix ADM 服务的工作原理

Citrix ADM 服务可作为 Citrix Cloud 上的服务提供。用户注册 Citrix Cloud 并开始使用该服务后,请在用户网络环境中安装代理或在实例中启动内置代理。然后,将用户想要管理的实例添加到服务中。

代理启用 Citrix ADM 服务与用户数据中心中的托管实例之间的通信。代理从用户网络中的托管实例收集数据并将其发送到 Citrix ADM 服务。

当用户将实例添加到 Citrix ADM 服务时,它会隐式将自身添加为陷阱目标并收集该实例的清单。

该服务收集实例详细信息,例如:

  • 主机名

  • 软件版本

  • 运行和保存的配置

  • 证书

  • 在实例上配置的实体等。

Citrix ADM 服务定期轮询托管实例以收集信息。

下图说明了服务、代理和实例之间的通信:

image-vpx-aws-appsecurity-deployment-09

文档指南

Citrix ADM Service 文档包括有关如何开始使用该服务的信息、服务支持的功能列表以及特定于此服务解决方案的配置。

使用 Citrix ADM 在 AWS 上部署 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 实例。

image-vpx-aws-appsecurity-deployment-10

配置任务

在 Citrix ADM 中配置 Citrix ADC VPX 实例之前,请在 AWS 上执行以下任务:

  • 创建子网

  • 创建安全组

  • 创建 IAM 角色并定义策略

在 Citrix ADM 上执行以下任务以在 AWS 上预配置实例:

  • 创建网站

  • 在 AWS 上配置 Citrix ADC VPX 实例

创建子网

在 VPC 中创建三个子网。在 VPC 中预置 Citrix ADC VPX 实例所需的三个子网是管理、客户端和服务器。在 VPC 中为每个子网定义的范围中指定一个 IPv4 CIDR 块。指定子网所在的可用区。在同一可用区域中创建所有三个子网。下图说明了在客户区域创建的三个子网及其与客户端系统的连接。

image-vpx-aws-appsecurity-deployment-11

有关 VPC 和子网的更多信息,请参阅 VPC 和子网。

创建安全组

创建安全组以控制 Citrix ADC VPX 实例中的入站和出站流量。安全组充当用户实例的虚拟防火墙。在实例级别而不是子网级别创建安全组。可以将用户 VPC 中子网中的每个实例分配给一组不同的安全组。为每个安全组添加规则,以控制通过客户端子网传递到实例的入站流量。用户还可以添加一组单独的规则来控制通过服务器子网到达应用程序服务器的出站流量。尽管用户可以为自己的实例使用默认安全组,但他们可能希望创建自己的组。创建三个安全组-每个子网一个。为用户想要控制的传入和传出流量创建规则。用户可以根据需要添加任意数量的规则。

有关安全组的更多信息,请参阅:您的 VPC 的安全组

创建 IAM 角色和定义策略

创建 IAM 角色,以便客户可以在其用户与 Citrix 受信任的 AWS 帐户之间建立信任关系,并创建具有 Citrix 权限的策略。

  1. 在 AWS 中,单击“服务”。在左侧导航窗格中,选择IAM > 角色,然后单击创建角色

  2. 用户正在将自己的 AWS 帐户与 Citrix ADM 中的 AWS 帐户关联。因此,选择另一个 AWS 帐户以允许 Citrix ADM 在该 AWS 帐户中执行操作。

输入 12 位数的 Citrix ADM AWS 账户 ID。Citrix ID 为 835822366011。用户在创建云访问配置文件时还可以在 Citrix ADM 中找到 Citrix ID。

image-vpx-aws-appsecurity-deployment-12

  1. 启用“需要外部 ID才能连接到第三方帐户”。用户可以通过要求可选的外部标识符来提高其角色的安全性。键入可以是任何字符的组合的 ID。

  2. 单击“权限”。

  3. 在“附加权限策略”页面中,单击“创建策略”。

  4. 用户可以在可视化编辑器中或使用 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-->
  1. 在 JSON 选项卡中复制并粘贴权限列表,然后单击查看策略

  2. 在“查看策略”页中,键入策略的名称,输入描述,然后单击“创建策略”。

在 Citrix ADM 中创建站点

在 Citrix ADM 中创建一个站点,然后添加与 AWS 角色关联的 VPC 的详细信息。

  1. 在 Citrix ADM 中,导航到“网络”>“站点”。

  2. 单击“添加”。

  3. 选择服务类型作为 AWS 并启用将现有 VPC 用作站点

  4. 选择云访问配置文件。

  5. 如果字段中不存在云访问配置文件,请单击添加以创建配置文件。

    • 在“创建云访问配置文件”页面中,键入用户要用来访问 AWS 的配置文件的名称。

    • 键入与用户在 AWS 中创建的角色关联的 ARN。

    • 键入用户在 AWS 中创建身份和访问管理 (IAM) 角色时提供的外部 ID。请参阅“创建 IAM 角色并定义策略”任务中的步骤 4。确保在 AWS 中指定的 IAM 角色名称以 Citrix-ADM- 开头,并且正确显示在角色 ARN 中。

image-vpx-aws-appsecurity-deployment-13

与您在 AWS 中的 IAM 角色关联的 VPC 的详细信息(例如区域、VPC ID、名称和 CIDR 块)将导入到 Citrix ADM 中。

  1. 键入站点的名称。

  2. 单击创建

在 AWS 上预置 Citrix ADC VPX

使用用户之前创建的站点在 AWS 上预置 Citrix ADC VPX 实例。提供 Citrix ADM 服务代理详细信息,以配置绑定到该代理的实例。

  1. 在 Citrix ADM 中,导航到网络>实例>Citrix ADC

  2. VPX选项卡中,单击置备

此选项显示在云上置备 Citrix ADC VPX页面。

  1. 选择Amazon Web Services (AWS),然后单击“下一步”**

  2. 在“基本参数”中,

    • 从列表中选择实例类型

      • 独立:此选项在 AWS 上预置独立的 Citrix ADC VPX 实例。

      • HA:此选项在 AWS 上预置高可用性 Citrix ADC VPX 实例。

      要在同一区域中置备 Citrix ADC VPX 实例,请选择区域类型下的单个区域选项。

      要跨多个区域置备 Citrix ADC VPX 实例,请选择区域类型下的多区域选项。在“云参数”选项卡中,确保为在 AWS 上创建的每个区域指定网络详细信息。

    image-vpx-aws-appsecurity-deployment-14

    • 指定 Citrix ADC VPX 实例的名称。

    • 在“站点”中,选择之前创建的站点。

    • 代理中,选择为管理 Citrix ADC VPX 实例而创建的代理。

    • 云访问配置文件中,选择在站点创建期间创建的云访问配置文件。

    • 设备配置文件中,选择要提供身份验证的配置文件。

    当需要登录到 Citrix ADC VPX 实例时,Citrix ADM 会使用设备配置文件。

    • 单击 Next(下一步)。
  3. 在“云参数”中,

    • 选择在 AWS 中创建的 Citrix IAM 角色。IAM 角色是一种 AWS 身份,其权限策略可确定身份在 AWS 中可以执行和不能执行的操作。

    • 产品字段中,选择用户要置备的 Citrix ADC 产品版本。

    • 从实例类型列表中选择 EC2实例类型

    • 选择用户要置备的 Citrix ADC版本同时选择 Citrix ADC 的主版本和次要版本。

    • 安全组中,选择用户在其虚拟网络中创建的管理、客户端和服务器安全组。

    • 每个节点的服务器子网中的IP 地址中,为安全组选择每个节点的服务器子网中的 IP 地址数。

    • 子网中,为在 AWS 中创建的每个区域选择管理、客户端和服务器子网。用户还可以从可用区域列表中选择区域

    • 单击 Finish(完成)。

image-vpx-aws-appsecurity-deployment-15

Citrix ADC VPX 实例现在已在 AWS 上预配置。

注意:

Citrix ADM 不支持从 AWS 取消置备 Citrix ADC 实例。

查看在 AWS 中预配置的 Citrix ADC VPX

  1. 在 AWS 主页上,导航到服务,然后单击EC2

  2. 资源页面上,单击正在运行的实例

  3. 用户可以查看在 AWS 中预配置的 Citrix ADC VPX。

Citrix ADC VPX 实例的名称与用户在 Citrix ADM 中置备实例时提供的名称相同。

查看在 Citrix ADM 中预配的 Citrix ADC VPX

  1. 在 Citrix ADM 中,导航到网络>实例>Citrix ADC

  2. 选择Citrix ADC VPX选项卡。

  3. 此处列出了在 AWS 中预配置的 Citrix ADC VPX 实例。

Citrix ADC WAF 和 OWASP 前十名 — 2017

开放网络应用程序安全项目: OWASP 发布了 2017 年 OWASP Web 应用程序安全性十强。此列表记录了最常见的 Web 应用程序漏洞,是评估 Web 安全性的一个很好的起点。在这里,我们将详细介绍如何配置 Citrix ADC Web Application Firewall (WAF) 以缓解这些缺陷。WAF 可作为 Citrix ADC(高级版)中的集成模块以及全系列设备提供。

完整的 OWASP 十大文档可在 OWASP 十大文章中找到。

OWASP 2017 年十强 Citrix ADC WAF 功能
A1:2017-注射 防注入攻击(SQL 或任何其他自定义注入,如操作系统命令注入、XPath 注入和 LDAP 注入)、自动更新签名功能
A 2:2017-身份验证中断 Citrix ADC AAA、Cookie 篡改保护、Cookie 代理、Cookie 加密、CSRF 标记、使用 SSL
A 3:2017-敏感数据暴露 信用卡保护、安全商务、Cookie 代理和 Cookie 加密
A 4:2017 XML 外部实体 (XXE) XML 保护,包括 WSI 检查、XML 消息验证和 XML SOAP 故障筛选检查
A 5:2017 访问控制中断 Citrix ADC AAA、NetScaler 的 Citrix ADC AAA 模块中的授权安全功能、表单保护和 Cookie 篡改保护、starTurl 和 closureURL
A 6:2017-安全配置错误 PCI 报告、SSL 功能、从 Cenznic、Qualys、AppScan、WebInspect、Whitehat 等漏洞扫描报告中生成签名。此外,还有特定的保护措施,例如Cookie加密、代理和篡改
A 7:2017-跨站点脚本 (XSS) XSS 攻击防护,阻止所有 OWASP XSS 备忘单攻击
A 8:2017 — 不安全的反序列化 XML 安全检查、GWT 内容类型、自定义签名、适用于 JSON 的 Xpath 和 XML
A 9:2017-使用存在已知漏洞的组件 漏洞扫描报告、应用程序防火墙模板和自定义特征码
A 10:2017 — 日志记录和监控不足 用户可配置的自定义日志记录、Citrix ADC 管理和分析系统

A1:2017-注射

当不受信任的数据作为命令或查询的一部分发送到解释器时,就会出现注入缺陷,例如 SQL、NoSQL、OS 和 LDAP 注入。攻击者的恶意数据可以诱骗解释器在未经适当授权的情况下运行意想不到的命令或访问数据。

ADC WAF 保护

  • SQL 注入防护功能可防止常见的注入攻击。可以上载自定义注入模式,以防范任何类型的注入攻击,包括 XPath 和 LDAP。这适用于 HTML 和 XML 有效负载。

  • 自动更新签名功能使注射签名保持最新。

  • 字段格式保护功能允许管理员将任何用户参数限制为正则表达式。例如,您可以强制要求邮政编码字段仅包含整数,甚至包含 5 位整数。

  • 表单域一致性:根据用户会话表单签名验证每个提交的用户表单,以确保所有表单元素的有效性。

  • 缓冲区溢出检查可确保 URL、标头和 Cookie 处于正确的限制范围内,阻止任何注入大型脚本或代码的尝试。

A 2:2017 — 身份验证中断

与身份验证和会话管理相关的应用程序功能的实现往往不正确,使得攻击者能够泄露密码、密钥或会话令牌,或者利用其他实现缺陷来临时或永久假设其他用户的身份。

ADC WAF 保护

  • Citrix ADC AAA 模块执行用户身份验证,并为后端应用程序提供单点登录功能。它已集成到 Citrix ADC AppExpert 策略引擎中,以允许基于用户和组信息的自定义策略。

  • 使用 SSL 卸载和 URL 转换功能,防火墙还可以帮助站点使用安全的传输层协议,以防止网络嗅探窃取会话令牌。

  • 可以使用 Cookie 代理和 Cookie 加密来完全缓解 cookie 窃取。

A 3:2017-敏感数据暴露

许多 Web 应用程序和 API 无法正确保护敏感数据,例如金融、医疗保健和 PII。攻击者可能会窃取或修改此类保护不善的数据,以进行信用卡欺诈、身份盗用或其他犯罪。敏感数据可能在没有额外保护的情况下遭到破坏,例如静态或传输中的加密,并且在与浏览器交换时需要采取特殊的预防措施。

ADC WAF 保护

  • 应用程序防火墙可防止应用程序泄露信用卡详细信息等敏感数据。

  • 可以在安全商务保护中将敏感数据配置为安全对象,以避免泄露。

  • Cookie 中的任何敏感数据都可以通过 Cookie 代理和 Cookie 加密来保护。

A 4:2017 XML 外部实体 (XXE)

许多较旧或配置不佳的 XML 处理器会评估 XML 文档中的外部实体引用。外部实体可用于通过文件 URI 处理程序、内部文件共享、内部端口扫描、远程代码执行和拒绝服务攻击来泄露内部文件。

ADC WAF 保护

  • 除了检测和阻止可用于攻击基于 XML 的应用程序的常见应用程序威胁(即跨站点脚本、命令注入等)之外。

  • ADC 应用防火墙包含一套丰富的 XML 特定的安全保护。其中包括用于彻底验证 SOAP 消息和 XML 有效负载的架构验证,以及用于阻止包含恶意可执行文件或病毒的附件的强大 XML 附件检查。

  • 自动流量检查方法可阻止针对旨在获取访问权限的 URL 和表单的 XPath 注入攻击。

  • ADC Application Firewall 还可以阻止各种 DoS 攻击,包括外部实体引用、递归扩展、过度嵌套以及包含大量属性和元素的恶意消息。

A 5:2017 访问控制中断

对允许经过身份验证的用户执行的操作的限制通常没有得到正确执行。攻击者可以利用这些缺陷访问未经授权的功能和数据,例如访问其他用户的帐户、查看敏感文件、修改其他用户的数据、更改访问权限等。

ADC WAF 保护

  • Citrix ADC AAA 功能支持对所有应用程序流量进行身份验证、授权和审计,允许站点管理员使用 ADC 设备管理访问控制。

  • ADC 设备的 Citrix ADC AAA 模块中的授权安全功能使设备能够验证应允许每个用户访问受保护服务器上的哪些内容。

  • 表单域一致性:如果对象引用作为隐藏字段存储在表单中,则使用表单域一致性可以验证这些字段在后续请求中未被篡改。

  • Cookie 代理和 Cookie 一致性:存储在 cookie 值中的对象引用可以通过这些保护措施进行验证。

  • 使用 URL 关闭启动 URL 检查:允许用户访问预定义的 URL 允许列表。URL 封闭会构建用户会话期间在有效响应中看到的所有 URL 的列表,并自动允许在该会话期间访问它们。

A 6:2017-安全配置错误

安全配置错误是最常见的问题。这通常是由于不安全的默认配置、不完整或即兴配置、开放的云存储、错误配置的 HTTP 标头以及包含敏感信息的冗长错误消息所致。不仅必须安全地配置所有操作系统、框架、库和应用程序,而且还必须及时修补和升级。

ADC WAF 保护

  • 应用程序防火墙生成的 PCI-DSS 报告记录了防火墙设备上的安全设置。

  • 来自扫描工具的报告会转换为 ADC WAF 签名,以处理安全错误配置。

  • ADC WAF 支持 Cenzic、IBM AppScan(企业版和标准版)、Qualys、TrendMicro、WhiteHat 和自定义漏洞扫描报告。

A 7:2017-跨站点脚本 (XSS)

每当应用程序在未进行适当验证或转义的情况下将不受信任的数据包含在新网页中,或者使用可以创建 HTML 或 JavaScript 的浏览器 API 使用用户提供的数据更新现有网页时,就会出现 XSS 缺陷。跨站点脚本允许攻击者在受害者的浏览器中运行脚本,从而劫持用户会话、破坏网站或将用户重定向到恶意站点。

ADC WAF 保护

  • 跨站点脚本保护可抵御常见的 XSS 攻击。可以上载自定义 XSS 模式以修改允许的标签和属性的默认列表。ADC WAF 使用允许的 HTML 属性和标记的允许列表来检测 XSS 攻击。这适用于 HTML 和 XML 有效负载。

  • ADC WAF 会阻止 OWASP XSS 过滤器评估备忘单中列出的所有攻击。

  • 字段格式检查可防止攻击者发送不适当的 Web 表单数据,这可能是潜在的 XSS 攻击。

  • 表单域一致性。

A 8:2017-不安全的反序列化

不安全的反序列化通常会导致远程代码执行。即使反序列化缺陷不会导致远程代码执行,它们也可能被用来执行攻击,包括重播攻击、注入攻击和权限升级攻击。

ADC WAF 保护

  • 使用自定义签名进行 JSON 有效负载检查。

  • XML 安全性:防止 XML 拒绝服务 (XDoS)、XML SQL 和 Xpath 注入以及跨站点脚本、格式检查、WS-I 基本配置文件合规性、XML 附件检查。

  • 除了 Cookie 一致性和字段一致性之外,还可以使用字段格式检查。

A 9:2017-使用存在已知漏洞的组件

组件(如库、框架和其他软件模块)的运行权限与应用程序相同。如果有漏洞的组件被利用,此类攻击可能会导致严重的数据丢失或服务器接管。使用具有已知漏洞的组件的应用程序和 API 可能会破坏应用程序防御并引发各种攻击和影响。

ADC WAF 保护

  • Citrix 建议更新第三方组件。

  • 转换为 ADC 特征码的漏洞扫描报告可用于虚拟修补这些组件。

  • 可以使用可用于这些易受攻击组件的应用程序防火墙模板。

  • 自定义签名可以与防火墙绑定以保护这些组件。

A 10:2017-日志记录和监控不足

日志记录和监控不足,再加上缺少与事件响应的集成或集成效率低下,使攻击者能够进一步攻击系统、保持持久性、转向更多系统以及篡改、提取或销毁数据。大多数违规研究表明,检测漏洞的时间超过 200 天,通常由外部方检测,而不是内部流程或监控。

ADC WAF 保护

  • 为安全检查或签名启用日志操作后,生成的日志消息将提供有关应用程序防火墙在保护您的网站和应用程序时观察到的请求和响应的信息。

  • 应用程序防火墙提供了使用内置的 ADC 数据库来识别与恶意请求来源的 IP 地址相对应的位置的便利。

  • 默认格式 (PI) 表达式允许灵活地自定义日志中包含的信息,并可以选择添加要在应用程序防火墙生成的日志消息中捕获的特定数据。

  • 应用程序防火墙支持 CEF 日志。

应用程序安全保护

Citrix ADM

Citrix Application Delivery Management 服务 (Citrix ADM) 提供了一种可扩展的解决方案来管理 Citrix ADC 部署,其中包括部署在本地或部署的 Citrix ADC MPX、Citrix ADC VPX、Citrix ADC VPX、Citrix ADC VPX 和 Citrix SD-WAN 设备云。

Citrix ADM 应用程序分析和管理功能

以下功能是应用安全中的 ADM 角色的关键。

应用程序分析和管理

Citrix ADM 的应用程序分析和管理功能增强了以应用程序为中心的方法,可帮助用户应对各种应用程序交付挑战。这种方法使用户能够了解应用程序的运行状况分数,帮助用户确定安全风险,并帮助用户检测应用程序流量中的异常情况并采取纠正措施。应用安全的这些角色中最重要的是应用安全分析:

  • 应用程序安全分析: 应用程序安全分析。应用程序安全控制面板提供用户应用程序安全状态的整体视图。例如,它显示安全违规、签名违规和威胁指数等主要安全指标。应用程序安全控制板还会显示已发现的 Citrix ADC 实例的攻击相关信息,例如 SYN 攻击、小窗口攻击和 DNS 洪水攻击。

样书

样书简化了为用户应用程序管理复杂 Citrix ADC 配置的任务。样书是用户可用于创建和管理 Citrix ADC 配置的模板。在这里,用户主要关心的是用于部署 Web Application Firewall 的样书。有关样书的更多信息,请参阅: 样书

分析

提供一种简单且可扩展的方式来查看 Citrix ADC 实例数据的各种见解,以描述、预测和提高应用程序性能。用户可以同时使用一项或多项分析功能。在应用安全的这些角色中,最重要的角色是:

  • Security Insight:Security Insight。提供单一窗格解决方案,帮助用户评估用户应用程序的安全状态,并采取纠正措施来保护用户应用程序。

  • 机器人见解

  • 有关分析的更多信息,请参阅分析: 分析

对于 ADM 功能非常重要的其他功能包括:

事件管理

事件表示托管 Citrix ADC 实例上发生的事件或错误。例如,当发生系统故障或配置更改时,系统会在 Citrix ADM 上生成并记录事件。以下是用户可以使用 Citrix ADM 配置或查看的相关功能:

有关事件管理的更多信息,请参阅: 事件

实例管理

使用户能够管理 Citrix ADC、Citrix Gateway、Citrix Secure Web Gateway 和 Citrix SD-WAN 实例。有关实例管理的更多信息,请参阅: 添加实例

许可证管理

允许用户通过将 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 上的单个任务。有关配置管理的更多信息,请参阅配置作业: 配置作业

Configuration Audit(配置审核)

使用户能够跨用户实例监控和识别配置中的异常情况。

签名提供以下部署选项,以帮助用户优化对用户应用程序的保护:

  • 负面安全模型:在负面安全模型中,用户使用一组丰富的预配置签名规则来应用模式匹配的威力来检测攻击并防范应用程序漏洞。用户只屏蔽他们不想要的内容,而允许其余的内容。用户可以根据用户应用程序的特定安全需求添加自己的签名规则,以设计自己的定制安全解决方案。

  • 混合安全模式:除了使用签名外,用户还可以使用积极的安全检查来创建非常适合用户应用程序的配置。使用签名阻止用户不想要的内容,并使用积极的安全检查来强制执行允许的内容。

要使用签名保护用户应用程序,用户必须配置一个或多个配置文件以使用其签名对象。在混合安全配置中,用户签名对象中的 SQL 注入和跨站点脚本模式以及 SQL 转换规则不仅由签名规则使用,而且还用于在 Web Application Firewall 配置文件中配置的肯定安全检查,该安全检查正在使用签名对象。

Web Application Firewall 会检查流向受用户保护的网站和 Web 服务的流量,以检测与签名匹配的流量。仅当规则中的每个模式与流量匹配时,才会触发匹配。发生匹配时,将调用规则的指定操作。当请求被阻止时,用户可以显示错误页面或错误对象。日志消息可以帮助用户识别针对用户应用程序发起的攻击。如果用户启用统计信息,则 Web Application Firewall 会保留与 Web Application Firewall 签名或安全检查相匹配的请求的相关数据。

如果流量同时匹配签名和正面安全检查,则强制执行这两个操作中的限制性更强。例如,如果请求与禁用阻止操作的签名规则匹配,但请求也匹配该操作被阻止的 SQL 注入正面安全检查,则请求将被阻止。在这种情况下,尽管请求被 SQL 注入检查阻止,但签名冲突可能会被记录为 [未阻止]。

自定义:如有必要,用户可以将自己的规则添加到签名对象。用户还可以自定义 SQL/XSS 模式。根据用户应用程序的特定安全需求,可以选择添加自己的签名规则,使用户可以灵活地设计自己的自定义安全解决方案。用户只屏蔽他们不想要的内容,而允许其余的内容。指定位置的特定快速匹配模式可以显著降低处理开销,从而优化性能。用户可以添加、修改或删除 SQL 注入和跨站点脚本模式。内置的正则表达式和表达式编辑器可帮助用户配置用户模式并验证其准确性。

用例

与要求将每项服务作为单独的虚拟设备部署的替代解决方案相比,AWS 上的 Citrix ADC 结合了 L4 负载平衡、L7 流量管理、服务器卸载、应用程序加速、应用程序安全、灵活许可和其他基本应用程序交付功能在单个 VPX 实例中,可通过 AWS Marketplace 方便地获得。此外,所有内容均受单一策略框架管理,并使用用于管理本地 Citrix ADC 部署的相同功能强大的工具集进行管理。最终结果是,AWS 上的 Citrix ADC 支持多个引人注目的用例,这些用例不仅支持当今企业的迫切需求,而且还支持从传统计算基础设施向企业云数据中心的持续演变。

Citrix Web Application Firewall (WAF)

Citrix Web Application Firewall (WAF) 是一种企业级解决方案,可为现代应用程序提供最先进的保护。Citrix WAF 可缓解针对面向公众的资产(包括网站、Web 应用程序和 API)的威胁。Citrix WAF 包括基于 IP 信誉的过滤、僵尸程序缓解、OWASP 十大应用程序威胁防护、第 7 层 DDoS 防护等。还包括强制执行身份验证、强 SSL/TLS 密码、TLS 1.3、速率限制和重写策略的选项。Citrix WAF 同时使用基本和高级 WAF 保护,以无与伦比的易用性为您的应用程序提供全面的保护。启动和运行只需几分钟。此外,Citrix WAF 使用称为动态分析的自动学习模型,为用户节省了宝贵的时间。通过自动了解受保护应用程序的工作原理,Citrix WAF 即使在开发人员部署和更改应用程序时也能适应该应用程序。Citrix WAF 有助于遵守所有主要监管标准和机构,包括 PCI-DSS、HIPAA 等。借助我们的 CloudFormation 模板,快速启动和运行变得前所未有的简单。借助 auto Scaling,用户可以放心,他们的应用程序即使在流量增加时仍会受到保护。

Web Application Firewall 部署策略

部署 Web Application Firewall 的第一步是评估哪些应用程序或特定数据需要最大程度的安全保护,哪些应用程序或特定数据不太容易受到攻击,哪些应用程序或特定数据可以安全绕过安全检查。这有助于用户提出最佳配置,并设计适当的策略和绑定点来隔离流量。例如,用户可能希望将策略配置为绕过对静态 Web 内容(如图像、MP3 文件和电影)请求的安全检查,并配置另一个策略以对动态内容请求应用高级安全检查。用户可以使用多个策略和配置文件来保护同一应用程序的不同内容。

下一步是确定部署基准。首先创建一个虚拟服务器,然后通过它运行测试流量,以了解流经用户系统的流量速率和流量。

然后,部署 Web Application Firewall。使用 Citrix ADM 和 Web Application Firewall 样书配置 Web Application Firewall。有关详细信息,请参阅本指南下方的“样书”部分。

在部署 Web Application Firewall 并使用 Web Application Firewall 样本进行配置后,有用的下一步是实施 Citrix ADC WAF 和 OWASP Top 10。

最后,三种 Web Application Firewall 防护对常见类型的 Web 攻击特别有效,因此比其他任何一种都更常用。因此,它们应该在初始部署时实施。具体如下:

  • HTML 跨站点脚本。检查脚本的请求和响应,这些脚本试图访问或修改脚本所在网站以外的网站上的内容。当此检查找到此类脚本时,它会在将请求或响应转发到其目标之前使脚本无害,或者阻止连接。

  • HTML SQL 注入。检查包含表单域数据的请求,以便尝试将 SQL 命令注入 SQL 数据库。当此检查检测到注入的 SQL 代码时,它会阻止请求或使注入的 SQL 代码无害,然后再将请求转发到 Web 服务器。

注意:

如果以下两个条件都适用于用户配置,则用户应确保您的 Web Application Firewall 配置正确:

  • 如果用户启用了 HTML 跨站点脚本检查或 HTML SQL 注入检查(或两者都启用),以及

  • 受用户保护的网站接受文件上载或包含可能包含大量 POST 正文数据的 Web 表单。

有关配置 Web App Firewall 以处理这种情况的详细信息,请参阅配置应用程序防火墙: 配置 Web App 防火墙

  • 缓冲区溢出。检查请求以检测在 Web 服务器上造成缓冲区溢出的企图。

配置 Web Application Firewall (WAF)

以下步骤假定 WAF 已启用且运行正常。

Citrix 建议用户使用 Web Application Firewall 样书配置 WAF。大多数用户认为它是配置 Web Application Firewall 的最简单方法,并且它旨在防止错误。GUI 和命令行界面都面向有经验的用户,主要用于修改现有配置或使用高级选项。

SQL 注入

应用程序防火墙 HTML SQL 注入检查提供特殊防御,防止注入可能破坏用户应用程序安全的未经授权 SQL 代码。Citrix Web 应用程序防火墙在以下三个位置检查请求负载中是否存在注入 SQL 代码:1) POST 正文、2) 标头和 3) cookie。

一组默认的关键字和特殊字符提供了通常用于启动 SQL 攻击的已知关键字和特殊字符。用户还可以添加新模式,并且可以编辑默认设置以自定义 SQL 检查检查。

可以为 SQL 注入处理配置几个参数。用户可以检查 S QL 通配符。用户可以更改 SQL 注入类型 并从 4 个选项(SQLKeyword、SQLSplChar、SQLSplCharANDKeyword、SQLSplCharORKeyword)中选择一个,以指示在处理有效负载时如何评估 SQL 关键字和 SQL 特殊字符。“SQL 注释处理”参数为用户提供了一个选项,用于指定在 SQL 注入检测期间需要检查或豁免的注释类型。

用户可以部署放宽以避免误报。学习引擎可以为配置放宽规则提供建议。

以下选项可用于为用户应用程序配置优化的 SQL 注入保护:

阻止 — 如果用户启用 block,则只有在输入符合 SQL 注入类型规范时才会触发阻止操作。例如,如果将sqlsplcharandKeyword 配置为 SQL 注入类型,则即使在输入中检测到 SQL 特殊字符,如果请求不包含任何关键字,也不会被阻止。如果 SQL 注入类型设置为 SQLSplCharSQLSplCharORKeyword,则此类请求将被阻止。

日志 — 如果用户启用了日志功能,则 SQL 注入检查会生成日志消息,指示它所采取的操作。如果 block 禁用,则会为检测到 SQL 冲突的每个输入字段生成单独的日志消息。但是,当请求被阻止时,只会生成一条消息。同样,即使在多个字段中转换了 SQL 特殊字符,也会为转换操作生成每个请求的 1 条日志消息。用户可以监控日志,以确定对合法请求的响应是否被阻止。日志消息数量的大幅增加可能表明有人试图发起攻击。

统计 — 如果启用,统计功能将收集有关违规和日志的统计信息。stats 计数器的意外激增可能表示用户应用程序受到攻击。如果合法请求被阻止,用户可能必须重新访问配置,以查看是否需要配置新的放宽规则或修改现有的放宽规则。

学习 — 如果用户不确定哪些 SQL 放宽规则最适合他们的应用程序,他们可以使用学习功能根据学习的数据生成建议。Web 应用程序防火墙学习引擎监视流量,并根据观察到的值提供 SQL 学习建议。为了在不影响性能的情况下获得最佳收益,用户可能希望在短时间内启用 learn 选项以获得具有代表性的规则示例,然后部署规则并禁用学习。

转换 SQL 特殊字符- Web Application Firewall 将单直引号 (‘)、反斜杠 () 和分号 (;) 这三个字符视为 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) 语句的选择范围。这些通配符运算符可以与 LIKENOT 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 个通配符是百分号 (%)、下划线 (_)、脱字符 (^)、左方括号 ([) 和右方括号 (])。此保护适用于 HTML 和 XML 配置文件。

默认的通配符是*默认签名中指定的文字列表

  • <wildchar type=”LITERAL”>%</wildchar>

  • <wildchar type=”LITERAL”]>_</wildchar>

  • <wildchar type=”LITERAL”>^</wildchar>

  • <wildchar type=”LITERAL”>[</wildchar>

  • <wildchar type=”LITERAL”>]</wildchar>

攻击中的通配符可以是 PCRE,如 [^A-F]。Web Application Firewall 还支持 PCRE 通配符,但此处显示的文字通配符足以阻止大多数攻击。

注意:

SQL 通配符校验与 SQL 特殊字符校验不同。必须谨慎使用此选项以避免误报。

检查包含 SQL 注入类型的请求 - Web Application Firewall 提供了 4 个选项,用于根据应用程序的个人需要实现 SQL 注入检查所需的严格级别。将根据注入类型规范检查请求,以检测 SQL 违规。四个 SQL 注入类型选项是:

  • SQL 特殊字符和关键字-输入中必须同时存在 SQL 关键字和 SQL 特殊字符才能触发 SQL 冲突。此限制最少的设置也是默认设置。

  • SQL 特殊字符-输入中必须至少存在一个特殊字符才能触发 SQL 冲突。

  • SQL 关键字-输入中必须至少存在一个指定的 SQL 关键字才能触发 SQL 冲突。未经适当考虑,请勿选择此选项。为避免误报,请确保输入中不包含任何关键字。

  • SQL 特殊字符或关键字 — 输入中必须存在键字或特殊字符串,才能触发安全检查冲突。

提示:

如果用户将 Web Application Firewall 配置为检查包含 SQL 特殊字符的输入,则 Web Application Firewall 会跳过不包含任何特殊字符的 Web 表单字段。由于大多数 SQL 服务器不处理前面没有特殊字符的 SQL 命令,因此启用此选项可以显著减少 Web Application Firewall 的负载并加快处理速度,而不会使受用户保护的网站面临风险。

SQL 注释处理 — 默认情况下,Web Application Firewall 会检查所有 SQL 注释中是否存在注入的 SQL 命令。但是,许多 SQL 服务器会忽略注释中的任何内容,即使前面有 SQL 特殊字符也是如此。为了加快处理速度,如果您的 SQL 服务器忽略注释,则可以将 Web Application Firewall 配置为在检查注入 SQL 的请求时跳过注释。SQL 注释处理选项包括:

  • ANSI — 跳过 ANSI 格式的 SQL 注释,基于 Unix 的 SQL 数据库通常使用这些注释。例如:

    • /—(两个连字符)-这是一条以两个连字符开头并以行尾结尾的注释。

    • {} - 括号(括号附带注释。{在注释前面加上,} 跟在注释之后。大括号可以分隔单行或多行注释,但注释不能嵌套)

    • /**/:C 样式注释(不允许嵌套注释)。请注意 /*!<comment that begins with a slash followed by an asterisk and an exclamation mark is not a comment >*/

    • MySQL 服务器支持 C 风格注释的某些变体。这些允许用户使用以下形式的注释来编写包含 MySQL 扩展但仍可移植的代码:[/*! 特定于 MySQL 的代码 */]

    • .#: Mysql 注释:这是一条以 # 字符开头并以行尾结尾的注释

  • 嵌套 — 跳过 Microsoft SQL Server 通常使用的嵌套 SQL 注释。例如;—(两个连字符)和/**/(允许嵌套注释)

  • ANSI/嵌套 — 跳过同时符合 ANSI 和嵌套 SQL 注释标准的注释。对于仅匹配 ANSI 标准或仅匹配嵌套标准的注释,仍会检查注入的 SQL。

  • 检查所有注释 — 检查整个请求是否有注入 SQL,而不跳过任何内容。此为默认设置。

提示:

在大多数情况下,除非他们的后端数据库在 Microsoft SQL Server 上运行,否则用户不应选择“嵌套”或“ANSI/嵌套”选项。大多数其他类型的 SQL Server 软件无法识别嵌套注释。如果嵌套注释出现在定向到另一类 SQL Server 的请求中,则可能表示有人试图破坏该服务器的安全性。

检查请求标头 — 如果除了检查表单域中的输入外,用户还想检查请求标头是否存在 HTML SQL 注入攻击,请启用此选项。如果用户使用 GUI,则可以在 Web Application Firewall 配置文件的“高级设置”->“配置文件设置”窗格中启用此参数。

注意:

如果用户启用 Check Request 标头标志,则他们可能必须为 User-Agent标头配置放宽规则。存在 SQL 关键字like 和 SQL 特殊字符分号 (;) 可能会触发误报并阻止包含此标头的请求。 警告: 如果用户同时启用请求标头检查和转换,则标头中的任何 SQL 特殊字符也会被转换。接受、接受字符集、接受编码、接受语言、期望和用户代理标头通常包含分号 (;)。同时启用请求标头检查和转换可能会导致错误。

InspectQueryContentTypes — 如果用户想要检查请求查询部分中是否存在针对特定内容类型的 SQL 注入攻击,请配置此选项。如果用户使用 GUI,则可以在应用程序防火墙配置文件的“高级设置”->“配置文件设置”窗格中配置此参数。

跨站点脚本编写

HTML 跨站点脚本(跨站点脚本)检查检查用户请求的标头和 POST 正文是否存在可能的跨站脚本攻击。如果发现跨站脚本,它会修改(转换)请求以使攻击无害,或者阻止请求。

注意:

HTML 跨站点脚本(跨站点脚本)检查仅适用于内容类型、内容长度等。它不适用于 cookie。另外,请确保在用户 Web Application Firewall 配置文件中启用“checkRequestHeaders”选项。

为防止滥用受用户保护的网站上的脚本来破坏用户网站的安全性,HTML 跨站点脚本检查会阻止违反相同来源规则的脚本,该规则规定脚本不应访问或修改其所在服务器之外的任何服务器上的内容。任何违反相同源规则的脚本都称为跨站点脚本,而使用脚本访问或修改另一台服务器上的内容的做法称为跨站点脚本。跨站脚本之所以成为安全问题,是因为允许跨站脚本的 Web 服务器可能会受到不在该 Web 服务器上的脚本攻击,而是在其他 Web 服务器上,例如攻击者拥有和控制的服务器。

不幸的是,许多公司都安装了大量违反相同来源规则的 JavaScript 增强型 Web 内容。如果用户在此类站点上启用 HTML 跨站点脚本检查,则他们必须生成相应的例外情况,以便检查不会阻止合法活动。

Web Application Firewall 为实施 HTML 跨站点脚本保护提供了各种操作选项。除了“阻止”、“日志”、“统计”和“学习”操作外,用户还可以选择转换跨站点脚本,通过实体对提交的请求中的脚本标签进行编码,从而使攻击变得无害。用户可以为跨站脚本参数配置 Check complete URL,以指定他们是否不仅要检查查询参数,还要检查整个 URL 以检测跨站点脚本攻击。用户可以配置 InspectQueryContentTypes 参数来检查请求查询部分是否存在针对特定内容类型的跨站脚本攻击。

用户可以部署放宽以避免误报。Web Application Firewall 学习引擎可以为配置放宽规则提供建议。

以下选项可用于为用户应用程序配置优化的 HTML 跨站点脚本保护:

  • 阻止 — 如果用户启用 block,则在请求中检测到跨站点脚本标签时触发阻止操作。

  • 日志 — 如果用户启用了日志功能,则 HTML 跨站点脚本检查将生成日志消息,指示所采取的操作。如果禁用 block,则会为检测到跨站脚本违规的每个标头或表单域生成单独的日志消息。但是,当请求被阻止时,只会生成一条消息。同样,即使跨站点脚本标签在多个字段中进行转换,每个请求也会为转换操作生成 1 条日志消息。用户可以监控日志,以确定对合法请求的响应是否被阻止。日志消息数量的大幅增加可能表明有人试图发起攻击。

  • 统计 — 如果启用,统计功能将收集有关违规和日志的统计信息。stats 计数器的意外激增可能表示用户应用程序受到攻击。如果合法请求被阻止,用户可能必须重新访问配置,以查看是否必须配置新的放宽规则或修改现有的放宽规则。

  • 学习 — 如果用户不确定哪种放宽规则最适合他们的应用程序,他们可以使用学习功能根据学习的数据生成 HTML 跨站点脚本规则建议。Web Application Firewall 学习引擎监视流量,并根据观察到的值提供学习建议。为了在不影响性能的情况下获得最佳收益,用户可能希望在短时间内启用 learn 选项以获得具有代表性的规则示例,然后部署规则并禁用学习。

  • 转换跨站点脚本 — 如果启用,Web 应用程序防火墙将对与 HTML 跨站点脚本检查相匹配的请求进行以下更改:

    • 左尖括号 (<) 等同于 HTML 字符实体 (<)

    • 右尖括号 (>) 与等效的 HTML 字符实体 (>)

这样可以确保浏览器不会解释不安全的 html 标记,例如<script>, and thereby run malicious code. If users enable both request-header checking and transformation, any special characters found in request headers are also modified as described above. If scripts on the user protected website contain cross-site scripting features, but the user website does not rely upon those scripts to operate correctly, users can safely disable blocking and enable transformation. This configuration ensures that no legitimate web traffic is blocked, while stopping any potential cross-site scripting attacks.

  • 检查跨站点脚本的完整 URL — 如果启用了检查完整 URL,则 Web Application Firewall 会检查整个 URL 中是否存在 HTML 跨站点脚本攻击,而不是仅检查 URL 的查询部分。

  • 检查请求标头 — 如果启用了请求标头检查,Web Application Firewall 将检查请求标头是否存在 HTML 跨站脚本攻击,而不仅仅是 URL。如果用户使用 GUI,则可以在 Web Application Firewall 配置文件的“设置”选项卡中启用此参数。

  • InspectQueryContentTypes — 如果配置了“请求查询检查”,则应用程序防火墙将检查针对特定内容类型的跨站点脚本攻击请求的查询。如果用户使用 GUI,则可以在应用程序防火墙配置文件的“设置”选项卡中配置此参数。

重要:

作为流式处理更改的一部分,Web Application Firewall 对跨站点脚本标记的处理已更改。在早期版本中,开括号 (<), or close bracket (>) 或左括号和右方括号 (<>) 的存在被标记为跨站脚本违规。在包含对请求端流式处理的支持的构建中,行为已发生变化。只有右括号字符 (>) 不再被视为攻击。即使存在左括号字符 (<),请求也会被阻止,并被视为攻击。跨站脚本攻击被标记。

缓冲区溢出检查

缓冲区溢出检查检测试图导致 Web 服务器上的缓冲区溢出。如果 Web Application Firewall 检测到 URL、Cookie 或标头的长度超过配置的长度,则会阻止请求,因为这可能会导致缓冲区溢出。

缓冲区溢出检查可防止攻击不安全的操作系统或 Web 服务器软件,这些软件可能会崩溃或行为不可预测,当它收到的数据字符串大于它可以处理的数据字符串时。正确的编程技术通过检查传入数据并拒绝或截断超长字符串来防止缓冲区溢出。但是,许多程序并不检查所有传入的数据,因此容易受到缓冲区溢出的影响。此问题特别影响旧版本的 Web 服务器软件和操作系统,其中许多仍在使用中。

缓冲区溢出安全检查允许用户配置“阻止”、“日志”和“统计”操作。此外,用户还可以配置以下参数:

  • 最大 URL 长度。Web Application Firewall 在请求的 URL 中允许的最大长度。具有较长 URL 的请求将被阻止。可能的值:0—65535。默认值:1024

  • 最大饼干长度。Web Application Firewall 允许请求中的所有 Cookie 的最大长度。使用较长 Cookie 的请求触发冲突行为。可能的值:0—65535。默认值:4096

  • 最大报头长度。Web Application Firewall 允许 HTTP 标头的最大长度。具有较长标头的请求将被阻止。可能的值:0—65535。默认值:4096

  • 查询字符串长度。传入请求中允许的查询字符串的最大长度。查询较长的请求将被阻止。可能的值:0—65535。默认值:1024

  • 总请求长度。传入请求允许的最大请求长度。长度较长的请求将被阻止。可能的值:0—65535。默认值:24820

虚拟补丁/签名

特征码提供特定、可配置的规则,以简化保护用户 Web 站点免受已知攻击的任务。签名表示一种模式,该模式是对操作系统、Web 服务器、网站、基于 XML 的 Web 服务或其他资源的已知攻击的组成部分。一组丰富的预配置内置或本机规则提供了一个易于使用的安全解决方案,利用模式匹配的强大功能来检测攻击并防范应用程序漏洞。

用户可以创建自己的签名或在内置模板中使用签名。Web Application Firewall 有两个内置模板:

  • 默认签名:此模板包含 1,300 多个签名的预配置列表,此外还包含 SQL 注入关键字、SQL 特殊字符串、SQL 转换规则和 SQL 通配符的完整列表。它还包含用于跨站点脚本的拒绝模式,以及用于跨站点脚本的允许属性和标签。这是一个只读模板。用户可以查看内容,但无法添加、编辑或删除此模板中的任何内容。要使用它,用户必须制作一份副本。在自己的副本中,用户可以启用要应用于其流量的签名规则,并指定签名规则与流量匹配时要采取的操作。

签名源自SNORT: SNORT发布的规则, SNORT是一个开源入侵防御系统,能够执行实时流量分析以检测各种攻击和探测。

  • *Xpath 注入模式:此模板包含一组预配置的文字和 PCRE 关键字以及用于检测 XPath(XML 路径语言)注入攻击的特殊字符串。

空白签名:除了制作内置的“默认签名”模板的副本外,用户还可以使用空白签名模板来创建签名对象。用户使用空白签名选项创建的签名对象没有任何本机签名规则,但与 *Default 模板一样,它具有所有 SQL/XSS 内置实体。

外部格式签名:Web 应用程序防火墙还支持外部格式签名。用户可以使用 Citrix Web Application Firewall 支持的 XSLT 文件导入第三方扫描报告。选定的扫描工具可以使用一组内置 XSLT 文件将外部格式文件转换为本机格式(请参阅本节后面的内置 XSLT 文件列表)。

虽然签名可以帮助用户降低暴露漏洞的风险,并在提高效率的同时保护用户关键任务 Web 服务器,但 签名确实需要额外的 CPU 处理

为用户的应用程序需求选择正确的签名非常重要。仅启用与客户应用程序/环境相关的签名

Citrix 提供跨平台/操作系统/技术的 10 多个不同类别的签名。

image-vpx-aws-appsecurity-deployment-16

签名规则数据库非常庞大,因为攻击信息多年来积累起来。因此,大多数旧规则可能并不适用于所有网络,因为软件开发人员可能已经对其进行了修补,或者客户正在运行较新版本的操作系统。

签名更新

Citrix Web Application Firewall 支持自动和手动更新签名。 我们还建议启用签名 自动更新 以保持最新状态。

image-vpx-aws-appsecurity-deployment-17

这些签名文件托管在 AWS 环境中,允许从网络防火墙出站访问 NetScaler IP 以获取最新的签名文件非常重要。在处理实时流量时,更新到 ADC 的签名不会产生任何影响

应用程序安全性分析

应用程序安全控制板提供用户应用程序安全状态的整体视图。例如,它显示了关键的安全指标,例如安全违规、签名违例和威胁索引。应用程序安全控制板还会显示已发现的 Citrix ADC 实例的攻击相关信息,例如同步攻击、小窗口攻击和 DNS 洪水攻击。

注意:

要查看应用程序安全仪表板的指标,应在用户要监视的 Citrix ADC 实例上启用 AppFlow for Security 洞察。

在应用程序安全控制面板上查看 Citrix ADC 实例的安全指标

  1. 使用管理员凭据登录到 Citrix ADM。

  2. 导航到应用程序 > 应用程序安全控制面板,然后从设备列表中选择实例 IP 地址。

通过单击图表上绘制的气泡,用户可以进一步深入了解应用程序安全调查员报告的差异。

在 ADM 上进行集中式学习

Citrix Web Application Firewall (WAF) 可保护用户 Web 应用程序免受 SQL 注入和跨站点脚本 (XSS) 等恶意攻击。为了防止数据泄露并提供适当的安全保护,用户必须监控其流量中是否存在威胁,并实时监控攻击的可操作数据。有时,报告的攻击可能是误报,需要作为例外情况提供。

Citrix ADM 上的集中学习是一种重复模式过滤器,它使 WAF 能够了解用户 Web 应用程序的行为(正常活动)。根据监视,引擎会为应用于 HTTP 通信的每个安全检查生成建议的规则或例外列表。

使用学习引擎部署放宽规则比在必要的放松时手动部署放宽规则要容易得多。

要部署学习功能,用户必须首先在用户 Citrix ADC 设备上配置 Web Application Firewall 配置文件(一组安全设置)。有关详细信息,请参阅创建 Web Application Firewall 配置文件: 创建 Web Application Firewall 配置文件

Citrix ADM 为每个安全检查生成一个例外(松弛)列表。作为管理员,用户可以查看 Citrix ADM 中的例外列表,然后决定部署还是跳过。

使用 Citrix ADM 中的 WAF 学习功能,用户可以:

  • 通过以下安全检查配置文件

    • 缓冲区溢出

    • HTML 跨站点脚本

    注意:

    位置的跨站点脚本限制仅为 ForformField。

    • HTML SQL 注入

    注意:

    对于 HTML SQL 注入检查,用户必须在 Citrix ADC 实例中将 set -sqlinjectionTransformSpecialChars 配置为“开”和 set -sqlinjectiontype sqlspclcharorkeywords

  • 检查 Citrix ADM 中的放松规则,并决定采取必要的措施(部署或跳过)

  • 通过电子邮件、松弛和服务 Now 获取通知

  • 使用仪表板查看放松详细信息

要在 Citrix ADM 中使用 WAF 学习,请执行以下操作:

  1. 配置学习配置文件: 配置学习配置文件

  2. 查看放宽规则: 查看放宽规则和空闲规则

  3. 使用 WAF 学习控制面板: 查看 WAF 学习控制面板

样书

Citrix Web Application Firewall 是一种 Web Application Firewall (WAF),可保护 Web 应用程序和站点免受已知和未知攻击,包括所有应用程序层和零日威胁。

Citrix ADM 现在提供了默认样本,用户可以使用该样本更方便地在 Citrix ADC 实例上创建应用程序防火墙配置。

部署应用程序防火墙配置

以下任务可帮助您在业务网络中的 Citrix ADC 实例上部署负载平衡配置以及应用程序防火墙和 IP 信誉策略。

使用应用程序防火墙设置创建 LB 配置

在 Citrix ADM 中,导航到应用程序>配置>样书。样书页面显示了所有可供客户在 Citrix 中使用的样书

  • ADM。向下滚动并查找具有应用程序防火墙策略和 IP 信誉策略的 HTTP/SSL 负载平衡样本。用户还可以通过键入名称作为 lb-appfw 来搜索样书。单击“创建配置”。

样书将作为用户界面页面打开,用户可以在该页面上输入此样书中定义的所有参数的值。

  • 输入以下参数的值:

    • 负载平衡应用程序名称。要在用户网络中部署应用程序防火墙的负载平衡配置的名称。

    • 负载平衡的应用程序虚拟 IP 地址. Citrix ADC 实例接收客户端请求的虚拟 IP 地址。

    • 负载平衡的应用程序虚拟端口。用户在访问负载平衡应用程序时使用的 TCP 端口。

    • 负载平衡应用程序协议。从列表中选择前端协议。

    • 应用程序服务器协议。选择应用程序服务器的协议。

image-vpx-aws-appsecurity-deployment-18

  • 用户可以选择启用和配置高级负载均衡器设置

image-vpx-aws-appsecurity-deployment-19

  • 或者,用户还可以设置身份验证服务器,以便对负载平衡虚拟服务器的流量进行身份验证。

image-vpx-aws-appsecurity-deployment-20

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

image-vpx-aws-appsecurity-deployment-21

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

image-vpx-aws-appsecurity-deployment-22

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

image-vpx-aws-appsecurity-deployment-23

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

image-vpx-aws-appsecurity-deployment-24

  • 要在虚拟服务器上配置应用程序防火墙,请启用 WAF 设置。

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

image-vpx-aws-appsecurity-deployment-25

  • 或者,用户可以通过启用应用程序防火墙配置文件设置复选框来配置详细的应用程序防火墙配置文件设置。

  • (可选)如果用户想要配置应用程序防火墙签名,请输入在要部署虚拟服务器的 Citrix ADC 实例上创建的签名对象的名称。

注意:

用户无法使用此样书创建签名对象。

  • 接下来,用户还可以配置任何其他应用程序防火墙配置文件设置,例如 starTurl 设置、denyURL 设置等。

image-vpx-aws-appsecurity-deployment-26

有关应用程序防火墙和配置设置的详细信息,请参阅应用程序防火墙。

  • 在“目标实例”部分中,选择要在其上部署带有应用程序防火墙的负载平衡虚拟服务器的 Citrix ADC 实例。

注意:

用户还可以单击刷新图标将 Citrix ADM 中最近发现的 Citrix ADC 实例添加到此窗口中的可用实例列表中。

  • 用户还可以启用IP 信誉检查,以识别发送不需要的请求的 IP 地址。用户可以使用 IP 信誉列表抢先拒绝来自信誉不佳 IP 的请求。

image-vpx-aws-appsecurity-deployment-27

提示:

Citrix 建议用户选择 Dry Run 来检查必须在目标实例上创建的配置对象,然后才能在实例上运行实际配置。

成功创建配置后,样本将创建所需的负载平衡虚拟服务器、应用程序服务器、服务、服务组、应用程序防火墙标签、应用程序防火墙策略,并将它们绑定到负载平衡虚拟服务器。

下图显示了每个服务器中创建的对象:

image-vpx-aws-appsecurity-deployment-28

  • 要查看在 Citrix ADM 上创建的配置包,请导航到 应用程序 > 配置

image-vpx-aws-appsecurity-deployment-29

Security Insight 分析

面向 Internet 的 Web 和 Web 服务应用程序越来越易受攻击。为了保护应用程序免受攻击,用户需要了解过去、现在和即将发生的威胁的性质和程度、攻击的实时可操作数据以及对策建议。Security Insight 提供了一个单一窗格解决方案,可帮助用户评估用户应用程序的安全状态,并采取纠正措施来保护用户应用程序。

Security Insight 工作方式

Security Insight 是一款基于控制板的直观安全分析解决方案,可让用户全面了解与用户应用程序相关的威胁环境。安全洞察包含在 Citrix ADM 中,它会根据用户应用程序防火墙和 ADC 系统安全配置定期生成报告。报告包含每个应用程序的以下信息:

  • 威胁指数。一个单位数的评级系统,用于指示应用程序受到攻击的严重程度,无论应用程序是否受到 ADC 设备的保护。应用程序上的攻击越严重,该应用程序的威胁指数越高。值的范围是 1 到 7。

威胁指数基于攻击信息。攻击相关信息(如违规类型、攻击类别、位置和客户端详细信息)可让用户深入了解对应用程序的攻击。只有在发生违规或攻击时,才会向 Citrix ADM 发送违规信息。许多漏洞和漏洞导致了高威胁指数值。

  • 安全指数。一个单位数的评级系统,表示用户如何安全地配置 ADC 实例以保护应用程序免受外部威胁和漏洞的侵害。应用程序的安全风险越低,安全指数越高。值的范围是 1 到 7。

安全指数考虑了应用程序防火墙配置和 ADC 系统安全配置。为了获得较高的安全指数值,两个配置都必须强健。例如,如果进行了严格的应用程序防火墙检查,但尚未采用 ADC 系统安全措施,例如 nsroot 用户的强密码,则应用程序将被分配一个较低的安全指数值。

  • 可操作的信息。用户降低威胁指数和提高安全指数所需的信息,从而显著提高应用程序的安全性。例如,用户可以查看有关违规、应用程序防火墙和其他安全功能的现有和缺失的安全配置、应用程序受到攻击的速率等信息。

配置 Security Insight

注意:

具有高级许可证的 ADC 实例或仅使用 AppFirewall 许可证的 ADC 高级实例支持安全见解。

要配置 ADC 实例的安全洞察,请首先配置应用程序防火墙配置文件和应用程序防火墙策略,然后全局绑定应用程序防火墙策略。

之后启用 AppFlow 功能、配置 AppFlow 收集器、操作和策略以及全局绑定策略。用户配置收集器时,必须指定要监视报告的 Citrix ADM 服务代理的 IP 地址。

在 ADC 实例上配置Security Insight

  • 运行以下命令来配置应用程序防火墙配置文件和策略,并全局绑定应用程序防火墙策略,或将应用程序防火墙策略绑定到负载平衡虚拟服务器。

add appfw profile <name> [-defaults ( basic or advanced )]

set appfw profile <name> [-startURLAction <startURLAction> …]

add appfw policy <name> <rule> <profileName>

bind appfw global <policyName> <priority>

或者,

bind lb vserver <lb vserver> -policyName <policy> -priority <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 )]

add appflow action <name> -collectors <string>

add appflow policy <name> <rule> <action>

bind appflow global <policyName> <priority> [<gotoPriorityExpression>] [-type <type>]

或者,

bind lb vserver <vserver> -policyName <policy> -priority <priority>

示例


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 的安全见解

  1. 导航到网络>实例>Citrix ADC,然后选择实例类型。例如,VPX。

  2. 选择实例,然后从选择操作列表中选择配置分析

  3. 在“在虚拟服务器上配置分析”窗口中:

    • 选择要启用安全洞察的虚拟服务器,然后单击启用分析

    此时将显示“启用分析”窗口。

    • 选择“Security Insight

    • 在“高级选项”下,选择“日志流”或“IPFIX”作为传输模式

    • 默认情况下,表达式为 true

    • 单击“确定”

image-vpx-aws-appsecurity-deployment-30

注意:

  • 如果用户选择未获得许可的虚拟服务器,则 Citrix ADM 首先许可这些虚拟服务器,然后启用分析

  • 对于管理分区,仅支持 Web Insight

用户单击“确定”后,Citrix ADM 将开始在选定的虚拟服务器上启用分析。

image-vpx-aws-appsecurity-deployment-31

注意:

当用户创建组时,他们可以为组分配角色、提供对组的应用程序级别访问权限,以及将用户分配到组。Citrix ADM 分析现在支持基于虚拟 IP 地址的授权。客户用户现在只能查看他们有权访问的应用程序(虚拟服务器)的所有 Insights 报告。有关组和向组分配用户的更多信息,请参阅在 Citrix ADM 上配置组:在 Cit rix ADM 上配置组

阈值

用户可以在 Security Insight 中设置和查看应用程序的安全指数和威胁指数的阈值。

设置阈值

  • 导航到“系统”>“分析设置”>“阈值”,然后选择“添加”。

  • 在“流量类型”字段中选择流量类型作为“安全”,然后在其他相应的字段(如“名称”、“持续时间”和“实体”)中输入所需信息。

  • 在“规则”部分中,使用“量度”、“比较器”和“值”字段设置阈值。 例如,“威胁指数”“>”“5”

  • 单击创建

查看阈值违反数

  • 导航到“分析”>“Security Insight”>“设备”,然后选择 ADC 实例。

  • 在“应用程序”部分中,用户可以在“阈值违规”列中查看每个虚拟服务器发生的阈值违例数。

Security Insight 使用案例

以下使用案例描述了用户如何使用安全洞察来评估应用程序的威胁暴露并改进安全措施。

获取威胁环境的概况

在此使用案例中,用户拥有一组暴露于攻击的应用程序,并且他们已将 Citrix ADM 配置为监视威胁环境。用户需要经常查看威胁指数、安全指数以及应用程序可能遇到的任何攻击的类型和严重性,以便他们能够首先关注最需要关注的应用程序。Security Insight 控制板提供用户应用程序在用户选择的时间段内以及所选 ADC 设备所经历的威胁的摘要。它显示应用程序列表、它们的威胁指数和安全指数以及在所选时间段的攻击总数。

例如,用户可能正在监视 Microsoft Outlook、Microsoft Lync、SharePoint 和 SAP 应用程序,用户可能需要查看这些应用程序的威胁环境摘要。

要获取威胁环境摘要,请登录 Citrix ADM,然后导航到“分析”>“Security Insight”。

此时将显示每个应用程序的主要信息。默认时间段是 1 小时。

image-vpx-aws-appsecurity-deployment-32

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

image-vpx-aws-appsecurity-deployment-33

要查看其他 ADC 实例的摘要,请在“设备”下单击 ADC 实例的 IP 地址。要按给定列对应用程序列表排序,请单击列标题。

确定应用程序面临的威胁

在 Security Insight 控制板上查看威胁环境摘要以确定威胁指数较高和安全指数较低的应用程序后,用户希望先确定其威胁暴露情况,然后再决定如何保护它们。也就是说,用户希望确定已降低其索引值的攻击的类型和严重性。用户可以通过查看应用程序摘要来确定应用程序的威胁暴露程度。

在此示例中,Microsoft Outlook 的威胁指数值为 6,用户想知道造成此高威胁指数的因素是什么。

要确定 Microsoft Outlook 的威胁暴露程度,请在“Security Insigh t”控制板上单击 Outlook 应用程序摘要包含标识服务器地理位置的地图。

image-vpx-aws-appsecurity-deployment-34

单击“威胁索引”>“安全检查违例”,然后查看显示的违例信息。

image-vpx-aws-appsecurity-deployment-35

单击“签名违规”并查看显示的违规信息。

image-vpx-aws-appsecurity-deployment-36

确定应用程序的现有和缺失的安全配置

在审查了应用程序的威胁暴露情况之后,用户希望确定已安装了哪些应用程序安全配置以及该应用程序缺少哪些配置。用户可以通过深入查看应用程序的安全指数摘要来获取此信息。

安全指数摘要为用户提供了有关以下安全配置有效性的信息:

  • 应用防火墙配置。显示未配置的签名和安全实体的数量。

  • Citrix ADM 系统安全。显示未配置多少系统安全设置。

image-vpx-aws-appsecurity-deployment-37

在上一个使用案例中,用户查看了威胁指数值为 6 的 Microsoft Outlook 的威胁暴露情况。现在,用户想知道 Outlook 有哪些安全配置,以及可以添加哪些配置来改善其威胁指数。

在“Security Insight”控制板上,单击“Outlook”,然后单击“安全指数”选项卡。查看“安全指数摘要”区域中提供的信息。

image-vpx-aws-appsecurity-deployment-38

在“应用程序防火墙配置”节点上,单击 Outlook_Profile,然后查看饼图中的安全检查和签名冲突信息。

image-vpx-aws-appsecurity-deployment-39

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

image-vpx-aws-appsecurity-deployment-40

单击Citrix ADM 系统安全节点并查看系统安全设置和 Citrix 建议,以改进应用程序安全指数。

识别需要立即注意的应用程序

需要立即注意的应用程序是那些具有较高威胁指数和较低安全指数的应用程序。

在此示例中,Microsoft Outlook 和 Microsoft Lync 都具有较高威胁指数值 6,但在两个安全指数中,Lync 的安全指数较低。因此,在改进 Outlook 的威胁环境之前,用户可能必须将注意力集中在 Lync 上。

image-vpx-aws-appsecurity-deployment-41

确定给定时间段内攻击数

用户可能想要确定在给定时间点对给定应用程序进行了多少次攻击,或者他们可能想要研究特定时间段内的攻击率。

在 Security Insight 页面上,单击任意应用程序,然后在应用程序摘要中单击违例数。“违规总数”页面以图形方式显示攻击时间为 1 小时、1 天、1 周和 1 个月。

image-vpx-aws-appsecurity-deployment-42

应用程序摘要”表提供了有关攻击的详细信息。其中一些内容如下:

  • 攻击时间

  • 攻击发生的客户端的 IP 地址

  • 严重性

  • 违反行为的类别

  • 攻击起源的 URL 以及其他详细信息。

image-vpx-aws-appsecurity-deployment-43

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

image-vpx-aws-appsecurity-deployment-44

获取有关违反安全的详细信息

用户可能希望查看对应用程序的攻击列表,并深入了解攻击的类型和严重性、ADC 实例采取的操作、请求的资源以及攻击的来源。

例如,用户可能想要确定阻止了多少对 Microsoft Lync 的攻击、请求了哪些资源以及源的 IP 地址。

在“Security Insight”控制板上,单击Lync > 违规总数。在表格中,单击“已采取的操作”列标题中的筛选器图标,然后选择“已阻止”。

image-vpx-aws-appsecurity-deployment-45

有关请求的资源的信息,请查看URL列。有关攻击来源的信息,请查看“客户端 IP”列。

查看日志表达式详细信息

Citrix ADC 实例使用通过应用程序防火墙配置文件配置的日志表达式对用户企业中的应用程序的攻击采取措施。在 Security Insight 中,用户可以查看 ADC 实例使用的日志表达式返回的值。这些值包括,请求标头、请求正文等。除了日志表达式值之外,用户还可以查看 ADC 实例用来对攻击采取措施的应用程序防火墙配置文件中定义的日志表达式名称和注释。

必备条件

确保用户:

  • 在应用程序防火墙配置文件中配置日志表达式。有关详细信息,请参阅应用程序防火墙。

  • 在 Citrix ADM 中启用基于日志表达式的安全见解设置。请执行以下操作:

    • 导航到“分析”>“设置”,然后单击“启用分析功能”。

    • 在“启用分析功能”页面中,选择“基于日志表达式Security Insight 设置”部分下的“启用Security Insight”,然后单击“确定”。

image-vpx-aws-appsecurity-deployment-46

例如,用户可能希望查看 ADC 实例返回的日志表达式的值,以了解其对用户企业中的 Microsoft Lync 的攻击所采取的操作。

在“Secur ity Insight”控制板上,导航到Lync > 违规总数。在“应用程序摘要”表中,单击 URL 以在“违规信息”页面中查看违规的完整详细信息,包括日志表达式名称、注释以及 ADC 实例为操作返回的值。

image-vpx-aws-appsecurity-deployment-47

在部署配置之前确定安全指数

用户在 ADC 实例上部署安全配置后会发生安全漏洞,但用户可能希望在部署安全配置之前评估安全配置的有效性。

例如,用户可能想要评估 IP 地址为 10.102.60.27 的 ADC 实例上的 SAP 应用程序配置的安全指数。

在“Security Insight”控制面板的“设备”下,单击用户配置的 ADC 实例的 IP 地址。用户可以看到威胁指数和攻击总数均为 0。威胁指数直接反映了对应用程序的攻击次数和类型。攻击数为零表示应用程序没有面临任何威胁。

image-vpx-aws-appsecurity-deployment-48

单击Sap > 安全指数 > SAP_Profile,然后评估出现的安全指数信息。

image-vpx-aws-appsecurity-deployment-49

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

image-vpx-aws-appsecurity-deployment-50

安全违规

查看应用程序安全违例详情

暴露在Internet上的Web应用程序变得更加容易受到攻击。Citrix ADM 使用户能够直观显示可操作的违规详细信息,以保护应用程序免受攻击。导航到“安全”>“安全违规”以获取单窗格解决方案,以便:

  • 根据应用程序的类别(如网络BotWAF)访问应用程序安全违规

  • 采取纠正措施保护应用程序的安全

要查看 Citrix ADM 中的安全违规,请确保:

  • 用户拥有 Citrix ADC 实例的高级许可证(适用于 WAF 和 BOT 违规)。

  • 用户已在负载平衡或内容交换虚拟服务器(用于 WAF 和 BOT)上应用了许可证。有关详细信息,请参阅 管理虚拟服务器上的许可

  • 用户启用更多设置。有关更多信息,请参阅 Citrix 产品文档:设置中的 设置部分提供的步骤。

违规类别**

Citrix ADM 允许用户查看以下违规:

网络 机器人 WAF
HTTP 慢洛里斯 客户端连接过多 异常高的上载事务处理
DNS 慢洛里斯 账户接管** 异常高的下载事务
HTTP 慢速发布 上载量异常高 过多的唯一 IP
Nx域洪水攻击 异常高的请求率 每个地理位置的唯一 IP 过多
HTTP Desync 攻击 异常高的下载量  
BleichenBacher 攻击    
Segment smack 攻击    
同步洪水攻击    

** -用户必须在 Citrix ADM 中配置帐户接管设置。请参阅帐户接管:帐户接管中提到的必备条件。

除了这些违规之外,用户还可以分别在 WAF 和 Bot 类别下查看以下Security Insight 智能和机器人智能违例:

WAF 机器人
缓冲区溢出 爬虫
内容类型 饲料 Fetcher
Cookie 一致性 链接检查器
CSRF 表单标记 营销
拒绝 URL 刮刀
表单字段一致性 截图创作者
字段格式 搜索引擎
最大上载 服务代理
推荐人标题 站点监视器
安全商务 速度测试仪
安全对象 工具
HTML SQL 注入 未分类
起始 URL 病毒扫描
XSS 漏洞扫描器
XML DoS DeviceFP 等待超过
XML 格式 DeviceFP 无效
XML WSI 验证码响应无效
XML SSL 验证码尝试超过
XML 附件 有效的验证码响应
XML SOAP 错误 验证码客户端已静音
XML 验证 验证码等待时间已超过
其他 已超过请求大小限制
IP 信誉 已超过费率限制
HTTP DOS 阻止列表(IP、子网、策略表达式)
TCP 小窗口 允许列表(IP、子网、策略表达式)
违反签名 零像素请求
文件上载类型 源 IP
JSON XSS 主机
JSON SQL 地理位置
JSON DOS URL
命令注入  
推断内容类型 XML  
饼干劫持  

设置

用户必须启用高级安全分析并将网络事务设置设置为全部,才能在 Citrix ADM 中查看以下违规:

  • 异常高的上载事务 (WAF)

  • 异常高的下载事务 (WAF)

  • 过多的唯一 IP (WAF)

  • 帐户接管 (BOT)

对于其他违规,请确保指标收集器是否已启用。默认情况下,在 Citrix ADC 实例上启用指标收集器。有关更多信息,请参阅:配置智能应用程序分析

启用高级安全分析

  • 导航到网络 > 实例 > Citrix ADC,然后选择实例类型。例如,MPX。

  • 选择 Citrix ADC 实例,然后从选择操作列表中选择配置分析

  • 选择虚拟服务器,然后单击启用分析

  • 在“启用分析”窗口中:

    • 选择“Web Insight”。用户选择 Web Insight 后,只读的“高级安全分析”选项将自动启用。

    注意: 高级安全分析选项仅对高级许可 ADC 实例显示。

    • 选择日志流作为传输模式

    • 默认情况下,表达式为 true

    • 单击“确定”

image-vpx-aws-appsecurity-deployment-51

启用 Web 事务处理设置

  • 导航到“分析”>“设置”

此时将显示“设置”页面。

  • 单击“为分析启用功能”。

  • 在“Web 事务设置”下,选择“全部”。

image-vpx-aws-appsecurity-deployment-52

  • 单击“确定”

安全违规仪表板

在安全违例控制板中,用户可以查看:

  • 所有 ADC 实例和应用程序都发生了违规总数。根据选定的时间持续时间显示违规总数。

image-vpx-aws-appsecurity-deployment-53

  • 每个类别下的侵权行为总数。

image-vpx-aws-appsecurity-deployment-54

  • 受影响的 ADC 总数、受影响的应用程序总数以及基于总发生次数和受影响的应用程序的最大违规情况。

image-vpx-aws-appsecurity-deployment-55

违规详细信息

对于每个违规,Citrix ADM 会监视特定时间持续时间的行为,并检测违规是否存在异常行为。单击每个选项卡以查看违规详细信息。用户可以查看详细信息,例如:

  • 总发生次数、上次发生次数和受影响的应用程序总数

  • 在活动详细信息下,用户可以查看:

    • 受影响的应用程序。如果两个或多个应用程序受到违规影响,用户也可以从列表中选择应用程序。

    • 指示违规的图形。

    在列出违规的图形上拖动并选择以缩小违规搜索范围。

    image-vpx-aws-appsecurity-deployment-56

    单击“重置缩放”以重置缩放结果

    • 建议用户对问题进行故障排除的建议操作

    • 其他违规详细信息,如暴力发生时间和检测消息

机器人见解

在 Citrix ADM 中使用机器人见解

用户在 Citrix ADC 中配置机器人管理后,他们必须在虚拟服务器上启用机器人智能分析才能在 Citrix ADM 中查看见解。

要启用“机器人智能分析”:

  • 导航到网络>实例>Citrix ADC,然后选择实例类型。例如,VPX。

  • 选择实例,然后从选择操作列表中选择配置分析

  • 选择虚拟服务器,然后单击启用分析

  • 在“启用分析”窗口中:

    • 选择机器人洞察

    • 在“高级选项”下,选择“日志流”。

    image-vpx-aws-appsecurity-deployment-57

    • 单击确定

启用“机器人智能分析”后,导航到“分析”>“安全”>“机器人智能分析”。

image-vpx-aws-appsecurity-deployment-58

  1. 查看机器人详细信息的时间列表

  2. 拖动滑块以选择特定的时间范围,然后单击开始以显示自定义结果

  3. 受机器人影响的实例总数

  4. 包含全部机器人攻击的选定实例的虚拟服务器

    • 机器人总数— 表示针对虚拟服务器发现的机器人攻击总数(包括所有机器人类别)。

    • 人类浏览器总数— 表示访问虚拟服务器的人类用户总数。

    • Bot Human Ratio — 表示人类用户和访问虚拟服务器的机器人之间的比率。

    • 签名机器人指纹机器人、基于速率的机器人、IP 信誉机器人、允许列表机器人和阻止列表机器人— 根据配置的机器人类别指示发生的机器人攻击总数。有关机器人类别的更多信息,请参阅:在 Citrix ADC 中配置机器人检测技术

  5. 单击 > 以图表格式查看机器人详细信息。

image-vpx-aws-appsecurity-deployment-59

查看事件历史记录

在以下情况下,用户可以在事件历史记录中查看机器人签名更新:

  • 在 Citrix ADC 实例中添加了新的机器人签名。

  • 在 Citrix ADC 实例中更新现有的机器人特征码。

您可以在机器人洞察页面上选择持续时间以查看事件历史记录。

image-vpx-aws-appsecurity-deployment-60

下图显示了如何从 AWS 云中检索自动程序签名、在 Citrix ADC 上进行更新以及在 Citrix ADM 上查看签名更新摘要。

image-vpx-aws-appsecurity-deployment-61

  1. 机器人签名自动更新调度程序从 AWS URI 中检索映射文件。

  2. 使用 ADC 设备中的现有签名检查映射文件中的最新签名。

  3. 从 AWS 下载新签名并验证签名的完整性。

  4. 使用机器人签名文件中的新签名更新现有的机器人签名。

  5. 生成 SNMP 警报并将特征码更新摘要发送到 Citrix ADM。

查看机器人

单击虚拟服务器以查看“应用程序摘要

image-vpx-aws-appsecurity-deployment-62

  1. 提供应用程序摘要的详细信息,例如:

    • 平均 RPS— 表示虚拟服务器上每秒收到的平均机器人事务请求 (RPS)。

    • 按严重程度划分的Bot — 根据严重性指示发生的最高机器人事务。严重性根据“严重”、“”、“”和“”进行分类。

      例如,如果虚拟服务器有 11770 个高严重性机器人程序和 1550 个严重严重性机器人,则 Citrix ADM 会在“按严重程度划分的机器人”下显示“严重 1.55 K”。

    • 最大机器人类别— 表示根据机器人类别发生的最高机器人攻击。

      例如,如果虚拟服务器有 8000 个已列入阻止列表的机器人、5000 个允许列出的机器人程序和 10000 个超出速率限制的机器人,则 Citrix ADM 会在“最大机器人类别”下显示“超过速率限制 10 K

    • 最大地理来源— 表示基于某个区域发生的最高机器人攻击。

      例如,如果虚拟服务器在圣克拉拉有 5000 个机器人攻击,在伦敦有 7000 个机器人攻击,在班加罗尔有 9000 个机器人攻击,那么 Citrix ADM 在“最大地理来源”下显示 Bangalore9 K

    • 平均机器人流量百分比-表示人工机器人比率。

  2. 根据地图视图中的位置显示机器人攻击的严重性

  3. 显示机器人攻击的类型(好、坏和全部)

  4. 显示机器人攻击总数以及相应的配置操作。例如,如果您已配置:

    • IP 地址范围 (192.140.14.9 到 192.140.14.254) 作为阻止列表机器人,并选择删除作为这些 IP 地址范围的操作

    • IP 范围(192.140.15.4 到 192.140.15.254)作为阻止列表机器人,并选择创建日志消息作为这些 IP 范围的操作

      在这种情况下,Citrix ADM 显示:

      • 区块列出的机器人总数

      • 掉落的机器人总数

      • 日志下的机器人总数

查看验证码机器人

在网页中,CaptChaS 旨在识别传入流量是来自人类还是自动机器人。要在 Citrix ADM 中查看验证码活动,用户必须在 Citrix ADC 实例中将 CAPTCHA 配置为 IP 信誉和设备指纹检测技术的自动程序操作。有关更多信息,请参阅:配置机器人管理

以下是 Citrix ADM 在机器人洞察中显示的验证码活动:

  • 超过验证码尝试次数 — 表示登录失败后尝试验证码的最大次数

  • Captcha 客户端静音— 表示由于之前通过 CAPTCHA 质询将这些请求检测为恶意机器人而被丢弃或重定向的客户端请求数

  • 人类 — 表示人类用户执行的验证码条目

  • 无效的验证码响应— 表示当 Citrix ADC 发送验证码质询时,从机器人或人类收到的错误验证码响应的数量

image-vpx-aws-appsecurity-deployment-63

查看机器人陷阱

要在 Citrix ADM 中查看机器人陷阱,必须在 Citrix ADC 实例中配置机器人陷阱。有关更多信息,请参阅配置机器人管理

image-vpx-aws-appsecurity-deployment-64

为了识别机器人陷阱,在网页中启用了一个脚本,该脚本对人类隐藏,但对机器人却不隐藏。当机器人访问此脚本时,Citrix ADM 会识别并报告机器人陷阱。

单击虚拟服务器,然后选择“零像素请求

image-vpx-aws-appsecurity-deployment-65

查看机器人详细信息

有关更多详细信息,请单击机器人类别下的机器人攻击类型。

将显示所选验证码类别的攻击时间和机器人攻击总数等详细信息。

image-vpx-aws-appsecurity-deployment-66

用户还可以拖动条形图以选择要显示的机器人攻击的特定时间范围。

image-vpx-aws-appsecurity-deployment-67

要获取机器人攻击的其他信息,请单击以展开。

image-vpx-aws-appsecurity-deployment-68

  • 实例 IP— 指示 Citrix ADC 实例 IP 地址

  • 机器人总数— 表示该特定时间内发生的机器人攻击总数

  • HTTP 请求 URL — 表示为验证码报告配置的 URL

  • 国家/地区代码— 表示发生机器人攻击的国家/地区

  • Region — 表示机器人攻击发生的地区

  • 配置文件名称— 表示用户在配置期间提供的配置文件名称

高级搜索

用户还可以使用搜索文本框和持续时间列表,他们可以在其中根据用户要求查看机器人详细信息。当用户单击搜索框时,搜索框会为他们提供以下搜索建议列表。

  • 实例 IP— Citrix ADC 实例 IP 地址

  • 客户端 IP— 客户端 IP 地址

  • 机器人类型— 机器人类型,例如好或坏

  • 严重性— 机器人攻击的严重性

  • 已采取的行动— 机器人攻击后采取的操作,例如掉落、无操作、重定向

  • Bot-Category — 机器人攻击的类别,例如阻止列表、允许列表、指纹等。根据类别,用户可以将机器人操作与其关联

  • 机器人@@检测— 用户在 Citrix ADC 实例上配置的机器人检测类型(阻止列表、允许列表等)

  • 位置-发生机器人攻击的地区/国家/地区

  • 请求网址— 可能受到机器人攻击的 URL

用户还可以在用户搜索查询中使用运算符来缩小用户搜索的焦点。例如,如果用户想要查看所有不良机器人:

  • 单击搜索框并选择Bot-Type

  • 再次单击搜索框并选择运算符**=**

  • 再次单击搜索框并选择 Bad

  • 单击“搜索”以显示结果

image-vpx-aws-appsecurity-deployment-69

机器人违规详细信息

客户端连接过多

当客户端尝试访问 Web 应用程序时,将在 Citrix ADC 设备中处理客户端请求,而不是直接连接到服务器。Web 流量包括机器人和机器人可以以比人类更快的速度执行各种操作。

使用“客户端连接过多”指示器,用户可以分析应用程序通过机器人接收异常高的客户端连接的情况。

image-vpx-aws-appsecurity-deployment-70

在“活动详情”下,用户可以查看:

  • 受影响的应用程序。如果两个或多个应用程序受到违规影响,用户也可以从列表中选择应用程序。

  • 指示所有违规的图形

  • 违规发生时间

  • 违规检测消息,指示处理应用程序的 IP 地址总数

  • 应用程序可以接收的已接受 IP 地址范围

账户接管

注意:

确保用户启用高级安全分析和 Web 交易选项。有关更多信息,请参阅设置: 设置

某些恶意机器人可以窃取用户凭据并执行各种网络攻击。这些恶意机器人被称为坏机器人。识别恶意机器人并保护用户设备免受任何形式的高级安全攻击至关重要。

必备条件

用户必须在 Citrix ADM 中配置帐户接管设置。

  • 导航到“分析”>“设置”>“安全违规

  • 单击“添加

image-vpx-aws-appsecurity-deployment-71

  • 添加应用程序 页面上,指定以下参数:

    • 应用程序-从列表中选择虚拟服务器。

    • 方法-从列表中选择 HTTP 方法类型。可用选项有“获取”、“推送”、“开机自检”和“更新”

    • 登录 URL 和成功响应代码-指定 Web 应用程序的 URL 并指定用户希望 Citrix ADM 报告恶意机器人的帐户接管违规的 HTTP 状态代码(例如 200)。

    • 单击“添加”。

image-vpx-aws-appsecurity-deployment-72

用户配置设置后,使用帐户接管指示器,用户可以分析恶意机器人是否试图接管用户帐户,发出多个请求以及凭据。

image-vpx-aws-appsecurity-deployment-73

在“活动详情”下,用户可以查看:

  • 受影响的应用程序。如果两个或多个应用程序受到违规影响,用户也可以从列表中选择应用程序。

  • 指示所有违规的图形

  • 违规发生时间

  • 违规检测消息,指示异常失败登录活动总数、成功登录和失败登录

  • 错误的机器人 IP 地址。单击查看详细信息,如时间、IP 地址、成功登录总数、失败登录总数以及从该 IP 地址发出的请求总数。

image-vpx-aws-appsecurity-deployment-74

上载量异常高

Web 流量还包括为上载而处理的数据。例如,如果用户每天的平均上载数据量为 500 MB,如果用户上载的数据量为 2 GB,则可以将其视为异常高的上载数据量。机器人还能够比人类更快地处理数据上载。

使用异常高的上载量指示器,用户可以分析通过机器人向应用程序上载数据的异常情况。

image-vpx-aws-appsecurity-deployment-75

在“活动详情”下,用户可以查看:

  • 受影响的应用程序。如果两个或多个应用程序受到违规影响,用户也可以从列表中选择应用程序。

  • 指示所有违规的图形

  • 违规发生时间

  • 违规检测消息,指示已处理的总上载数据卷

  • 向应用程序上载数据的接受范围

异常高的下载量

与高上载量类似,机器人也可以比人类更快地执行下载。

使用异常高的下载量指示器,用户可以分析通过机器人从应用程序下载数据的异常情况。

image-vpx-aws-appsecurity-deployment-76

在“活动详情”下,用户可以查看:

  • 受影响的应用程序。如果两个或多个应用程序受到违规影响,用户也可以从列表中选择应用程序。

  • 指示所有违规的图形

  • 违规发生时间

  • 违规检测消息,指示已处理的总下载数据量

  • 可接受的应用程序下载数据范围

异常高的请求率

用户可以控制来自或流向应用程序的传入和传出流量。机器人攻击可以执行异常高的请求速率。例如,如果用户将应用程序配置为每分钟允许 100 个请求,如果用户观察到 350 个请求,则可能是机器人攻击。

使用异常高的请求速率指示器,用户可以分析应用程序收到的异常请求速率。

image-vpx-aws-appsecurity-deployment-77

在“活动详情”下,用户可以查看:

  • 受影响的应用程序。如果两个或多个应用程序受到违规影响,用户也可以从列表中选择应用程序。

  • 指示所有违规的图形

  • 违规发生时间

  • 违规检测消息,指示收到的请求总数和收到的请求超过预期请求的百分比

  • 应用程序的预期请求速率范围的接受范围

用例

机器人

有时,传入的 Web 流量由机器人组成,大多数组织都会遭受机器人攻击。Web 和移动应用程序是企业的重要收入驱动因素,大多数公司都面临诸如机器人等高级网络攻击的威胁。机器人是一种软件程序,它以比人类快得多的速度自动重复执行某些操作。机器人可以与 Web 页面交互、提交表单、运行操作、扫描文本或下载内容。它们可以在社交媒体平台上访问视频、发表评论和推文。有些机器人(称为聊天机器人)可以与人类用户进行基本对话。执行客户服务、自动聊天和搜索引擎爬虫等有用服务的机器人是很好的机器人。同时,可以从 Web 站点抓取或下载内容、窃取用户凭据、通过垃圾邮件发送内容以及执行其他类型的网络攻击的机器人都是坏机器人。由于有大量恶意机器人执行恶意任务,因此必须管理机器人流量并保护用户 Web 应用程序免受机器人攻击。通过使用 Citrix 机器人管理,用户可以检测传入的机器人流量并缓解机器人攻击,从而保护用户 Web 应用程序。Citrix 机器人管理有助于识别恶意机器人并保护用户设备免受高级安全攻击。它可以检测好机器人和坏机器人并识别传入流量是否属于机器人攻击。通过使用机器人管理,用户可以缓解攻击并保护用户的 Web 应用程序。

Citrix ADC 机器人管理具有以下优势:

  • 防御机器人、脚本和工具包。使用基于签名的静态防御和设备指纹识别提供实时威胁缓解。

  • 中和自动基础和高级攻击。防止攻击,例如应用程序层 DDoS、密码喷洒、密码填充、价格抓取器和内容抓取器。

  • 保护用户 API 和投资。保护用户 API 免受不必要的滥用,并保护基础设施投资免受自动流量的影响。

用户可以通过使用 Citrix 机器人管理系统受益的一些用例包括:

  • 暴力登录。政府门户网站经常受到试图暴力用户登录的机器人的攻击。该组织通过查看 Web 日志来发现攻击,并通过使用字典攻击方法快速登录尝试和密码增加而反复看到特定用户受到攻击。根据法律,他们必须保护自己及其用户。通过部署 Citrix 机器人管理,他们可以使用设备指纹识别和速率限制技术停止暴力破解登录。

  • 阻止不良机器人和设备指纹未知机器人。一个 Web 实体每天获得 100000 个访问者。他们必须升级潜在的足迹,他们花了一大笔钱。在最近的审核中,该团队发现 40% 的流量来自机器人、抓取内容、挑选新闻、检查用户个人资料等。他们希望阻止此流量以保护用户并降低托管成本。使用机器人管理,他们可以阻止已知的坏机器人,并采集访问其站点的未知机器人的指纹。通过阻止这些机器人,他们可以将机器人流量减少 90%。

  • 允许使用优秀的机器人。“好”机器人旨在帮助企业和消费者。自20世纪90年代初开发出第一批用于爬网的搜索引擎机器人以来,它们就已经存在。没有它们,Google、Yahoo 和 Bing 就不会存在。其他优秀机器人(主要以消费者为中心)的例子包括:

    • 聊天机器人(又名聊天机器人、智能机器人、对话机器人、即时通讯机器人、社交机器人、对话机器人)通过文字或声音与人类互动。最早的短信用途之一是用于在线客户服务和短信应用程序,例如 Facebook Messenger 和 iPhone Messages。Siri、Cortana和Alexa都是聊天机器人;但移动应用程序也是如此,这些应用程序允许用户点咖啡然后告诉他们何时准备就绪,允许用户观看电影预告片并查找当地剧院的放映时间,或者在用户请求乘车服务时向他们发送汽车模型和车牌的照片。

    • Shopbots 在Internet上搜寻,寻找用户正在搜索的商品的最低价格。

    • 监控机器人检查网站的运行状况(可用性和响应能力)。Downdetector是一个独立站点的示例,该站点提供网站和其他类型的服务的实时状态信息,包括中断。有关向下探测器的更多信息,请参阅: 下探测器

机器人检测

使用 Citrix ADC GUI 配置机器人管理

用户可以通过首先在设备上启用 Citrix ADC 机器人管理功能来配置 Citrix ADC 机器人管理。一旦用户启用,他们就可以创建一个机器人策略,将传入流量作为机器人进行评估,并将流量发送到机器人配置文件。然后,用户创建一个机器人配置文件,然后将配置文件绑定到机器人签名。作为替代方案,用户还可以克隆默认的 bot 签名文件,然后使用签名文件配置检测技术。创建签名文件后,用户可以将其导入到机器人配置文件中。所有这些步骤都按以下顺序执行:

image-vpx-aws-appsecurity-deployment-78

  1. 启用机器人管理功能

  2. 配置机器人管理设置

  3. 克隆 Citrix 机器人默认签名

  4. 导入 Citrix 机器人签名

  5. 配置机器人签名设置

  6. 创建机器人资料

  7. 创建机器人策略

启用机器人管理功能

  1. 在导航窗格中,展开“系统”,然后单击“设置”

  2. 在“配置高级功能”页面上,选中“机器人管理”复选框。

  3. 单击“确定”,然后单击“关闭”。

image-vpx-aws-appsecurity-deployment-79

克隆机器人签名文件

  1. 导航到安全 > Citrix 机器人管理 > 签名

  2. Citrix 机器人管理签名页面中,选择默认的自动程序签名记录,然后单击克隆

  3. Clone Bot 签名页面中,输入名称并编辑签名数据。

  4. 单击创建

image-vpx-aws-appsecurity-deployment-80

导入机器人签名文件

如果用户有自己的签名文件,则可以将其导入为文件、文本或 URL。要导入机器人签名文件,请执行以下步骤:

  • 导航到安全>Citrix 机器人管理和签名

  • Citrix 机器人管理签名页面上,将文件导入为 URL、文件或文本。

  • 单击 继续

image-vpx-aws-appsecurity-deployment-81

  • 在“导入 Citrix 机器人管理签名”页面上,设置以下参数。

    • 名称。机器人签名文件的名称。

    • 评论。有关导入文件的简要说明。

    • 覆盖。选中该复选框可允许在文件更新期间覆盖数据。

    • 签名数据。修改签名参数

  • 单击完成

image-vpx-aws-appsecurity-deployment-82

IP 信誉

使用 Citrix ADC GUI 配置 IP 信誉

此配置是机器人 IP 信誉功能的先决条件。该检测技术使用户能够识别是否存在来自传入 IP 地址的恶意活动。作为配置的一部分,我们设置了不同的恶意机器人类别,并将机器人操作与每个类别相关联。

  • 导航到安全>Citrix 机器人管理和配置文件

  • Citrix Bot 管理配置文件页面上,选择签名文件,然后单击编辑

  • Citrix Bot 管理配置文件页面上,转到签名设置部分,然后单击IP 信誉

  • 在“IP 信誉”部分,设置以下参数:

    • 已启用。选中该复选框可在检测过程中验证传入的机器人流量。

    • 配置类别。用户可以对不同类别下的传入机器人流量使用 IP 信誉技术。根据配置的类别,用户可以丢弃或重定向机器人流量。单击“添加”以配置恶意机器人类别。

    • 在“配置 Citrix 机器人管理配置文件 IP 信誉绑定”页面中,设置以下参数:

      • Category(类别)。从列表中选择恶意机器人类别。根据类别关联机器人操作。

      • 已启用。选中该复选框以验证 IP 信誉签名检测。

      • 机器人动作。根据配置的类别,用户不能分配任何操作、丢弃、重定向或验证码操作。

      • 日志。选中该复选框以存储日志条目。

      • 日志消息。日志的简要说明。

      • 评论。关于机器人类别的简要说明。

  • 单击确定

  • 单击“更新”。

  • 单击完成

image-vpx-aws-appsecurity-deployment-83

自动更新机器人签名

机器人静态签名技术使用签名查找表,其中包含好的机器人和坏机器人的列表。机器人根据用户代理字符串和域名进行分类。如果传入机器人流量中的用户代理字符串和域名与查找表中的值匹配,则会应用配置的机器人操作。机器人签名更新托管在 AWS 云上,签名查找表与 AWS 数据库通信以进行签名更新。自动签名更新计划程序每 1 小时运行一次,以检查 AWS 数据库并更新 ADC 设备中的签名表。

用于配置签名的机器人签名映射自动更新 URL 为:机器人签名映射

注意:

用户还可以配置代理服务器,并通过代理定期将签名从 AWS 云更新到 ADC 设备。对于代理配置,用户必须在机器人设置中设置代理 IP 地址和端口地址。

配置 Bot 签名自动更新

要配置机器人签名自动更新,请完成以下步骤:

启用 Bot 签名自动更新

用户必须在 ADC 设备的自动程序设置中启用自动更新选项。

在命令提示符下,键入:

set bot settings –signatureAutoUpdate ON

使用 Citrix ADC GUI 配置机器人签名自动更新

要配置机器人签名自动更新,请完成以下步骤:

  • 导航到安全 > Citrix 机器人管理

  • 在详细信息窗格的“设置”下,单击“更改 Citrix 机器人管理设置”

  • 在“配置 Citrix 机器人管理设置”中,选中“自动更新签名”复选框。

image-vpx-aws-appsecurity-deployment-84

  • 单击“确定”,然后单击“关闭”。

有关使用 CLI 配置 IP 信誉的更多信息,请参阅: 使用 CLI 配置 IP 信誉功能

引用

有关使用 SQL 细粒度松弛的信息,请参阅: SQL 细粒度放宽

有关如何使用命令行配置 SQL 注入检查的信息,请参阅: HTML SQL 注入检查

有关如何使用 GUI 配置 SQL 注入检查的信息,请参阅: 使用 GUI 配置 SQL 注入安全检查

有关将 Learn 功能与 SQL 注入检查结合 使用的信息,请参阅:将 Learn 功能与 SQL 注入检查结合使用。

有关在 SQL 注入检查中使用日志功能的信息,请参阅: 将日志功能与 SQL 注入检查结合使用

有关 SQL 注入冲突的统计信息的信息,请参阅: SQL 注入冲突的统计信息

有关 SQL 注入检查亮点的信息,请参阅: 亮点

有关 XML SQL 注入检查的信息,请参阅: XML SQL 注入检查

有关使用跨站点脚本细粒度放松的信息,请参阅: SQL 细粒度放宽

有关使用命令行配置 HTML 跨站点脚本的信息,请参阅: 使用命令行配置 HTML 跨站点脚本检查

有关使用 GUI 配置 HTML 跨站点脚本的信息,请参阅: 使用 GUI 配置 HTML 跨站点脚本检查

有关将学习功能与 HTML 跨站点脚本检查结合 使用的信息,请参阅:将学习功能与 HTML 跨站点脚本检查结合使用。

有关在 HTML 跨站点脚本检查中使用日志功能的信息,请参阅: 将日志功能与 HTML 跨站点脚本检查结合使用

有关 HTML 跨站点脚本冲突的统计信息,请参阅: HTML 跨站点脚本违规的统计信息。

有关 HTML 跨站点脚本亮点的信息,请参阅: 亮点

有关 XML 跨站点脚本的信息,请访问: XML 跨站点脚本检查

有关使用命令行配置缓冲区溢出安全检查的信息,请参阅: 使用命令行配置缓冲区溢出安全检查

有关使用 GUI 配置缓冲区溢出安全检查的信息,请参阅: 使用 Citrix ADC GUI 配置缓冲区溢出安全检查

有关将日志功能与缓冲区溢出安全性检查结合 使用的信息,请参阅:将日志功能与缓冲区溢出安全性检查结合使用

有关缓冲区溢出违例的统计信息的信息,请参阅: 缓冲区溢出违例的统计信息

有关“缓冲区溢出安全检查要点”的信息,请参阅: 亮点

有关添加或移除签名对象的信息,请参阅: 添加或移除签名对象

有关从模板创建签名对象的信息,请参阅: 从模板创建签名对象

有关通过导入文件创建签名对象的信息,请参阅: 通过导入文件来创建签名对象

有关通过使用命令行导入文件来创建签名对象的信息,请参阅: 使用命令行导入文件来创建签名对象

有关使用 GUI 删除签名对象的信息,请参阅: 使用 GUI 删除签名对象

有关使用命令行删除签名对象的信息,请参阅: 使用命令行移除签名对象

有关配置或修改签名对象的信息,请参阅: 配置或修改签名对象

有关更新签名对象的更多信息,请参阅: 更新签名对象

有关使用命令行从源更新 Web 应用程序防火墙签名的信息,请参阅: 使用命令行从源更新 Web Application Firewall 签名

有关从 Citrix 格式文件更新签名对象的信息,请参阅: 从 Citrix 格式文件更新签名对象

有关从受支持的漏洞扫描工具更新特征码对象的信息,请参阅: 从支持的漏洞扫描工具更新特征码对象

关于 Snort 规则集成的信息,请参阅:Snort 规则集成

有关配置 Snort 规则的信息,请参阅:配置 Snort 规则

有关使用命令行配置机器人管理的信息,请参阅: 配置机器人管理

有关为设备指纹技术配置机器人管理设置的信息,请参阅: 为设备指纹技术配置机器人管理设置

有关使用 Citrix ADC GUI 配置机器人允许列表的信息,请参阅:使用 Cit rix ADC GUI 配置机器人白名单

有关使用 Citrix ADC GUI 配置机器人阻止列表的信息,请参阅:使用 Cit rix ADC GUI 配置机器人黑名单

有关配置 Bot 管理的更多信息,请参阅:配置机器人管理

必备条件

在尝试在 AWS 中创建 VPX 实例之前,用户应确保他们具备以下条件:

  • 用于在Amazon Web Services (AWS) 虚拟私有云 (VPC) 中启动 Citrix ADC VPX AMI 的 AWS 帐户。用户可以在Amazon Web Services 云科技免费创建 AWS 帐户: AWS

  • 一个 AWS Identity and Access Management (IAM) 用户帐户,用于安全地控制用户对 AWS 服务和资源的访问。有关如何创建 IAM 用户帐户的更多信息,请参阅主题: 创建 IAM 用户(控制台)

对于独立部署和高可用性部署,IAM 角色都是必需的。IAM 角色必须具有以下权限:

  • ec2:DescribeInstances

  • ec2:DescribeNetworkInterfaces

  • ec2:DetachNetworkInterface

  • ec2:AttachNetworkInterface

  • ec2:StartInstances

  • ec2:StopInstances

  • ec2:RebootInstances

  • ec2:DescribeAddresses

  • ec2:AssociateAddress

  • ec2:DisassociateAddress

  • ec2:AssignPrivateIpAddresses

  • autoscaling:*

  • sns:*

  • sqs:*

  • 云观察:*

  • iam:SimulatePrincipalPolicy

  • iam:GetRole

有关 IAM 权限的更多信息,请参阅: 适用于工作职能的 AWS 托管策略

如果使用 Citrix CloudFormation 模板,则会自动创建 IAM 角色。该模板不允许选择已创建的 IAM 角色。

注意:

当用户通过 GUI 登录 VPX 实例时,将显示一条提示,要求为 IAM 角色配置所需权限。如果已配置权限,请忽略提示。 注意:

使用 AWS 管理控制台通过终端程序提供的所有功能都需要 AWS CLI。有关更多信息,请参阅 AWS CLI 用户指南: 什么是 AWS 命令行界面?。用户还需要使用 AWS CLI 将网络接口类型更改为 SR-IOV。

有关 Citrix ADC 和 AWS 的更多信息,包括对 AWS 中的 Citrix Networking VPX 的支持,请参阅 Citrix ADC 和亚马逊云科技验证参考设计指南: Citrix ADC 和Amazon Web Services 科技验证参考设计

局限性与用法指南

在 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,因为它具有持久性,即使数据与实例分离后仍可用。

  • 不支持将 ENI 动态添加到 VPX。请重新启动 VPX 实例以应用更新。Citrix 建议用户停止独立或 HA 实例,连接新的 ENI,然后重新启动实例。主弹性网卡在部署后无法更改或附加到其他子网。在 VPX 停止时,可以根据需要分离和更改辅助 ENI。

  • 用户可以为一个 ENI 分配多个 IP 地址。每个 ENI 的最大 IP 地址数由 EC2 实例类型决定,请参阅弹性网络接口: 性网络接口中的“每个实例类型的每个网络接口的 IP 地址”部分。用户必须先在 AWS 中分配 IP 地址,然后才能将其分配给 ENI。有关更多信息,请参阅弹性网络接口: 弹性网络接口

  • Citrix 建议用户避免在 Citrix ADC VPX 接口上使用启用和禁用接口命令。

  • 默认情况下,Citrix ADC set ha node \<NODE\_ID\> -haStatus STAYPRIMARYset ha node \<NODE\_ID\> -haStatus STAYSECONDARY 命令处于禁用状态。

  • VPX 不支持 IPv6。

  • 由于 AWS 的限制,不支持以下功能:

    • 免费 ARP (GARP)

    • L2 模式(桥接)。对于与 SNIP 位于同一子网中的服务器,L2(MAC 重写)支持透明虚拟服务器。

    • 已标记的 VLAN

    • 动态路由

    • 虚拟 MAC

  • 要使 RNAT、路由和透明虚拟服务器正常工作,请确保对数据路径中的所有 ENI 禁用源/目标检查。有关更多信息,请参阅弹性网络接口: 性网络接口中的“更改源/目标检查”。

  • 在 AWS 上的 Citrix ADC VPX 部署中,在某些 AWS 区域,AWS 基础结构可能无法解析 AWS API 调用。如果通过 Citrix ADC VPX 实例上的非管理接口发出 API 调用,则会发生这种情况。解决方法为,将 API 调用限制为仅对管理接口。为此,请在 VPX 实例上创建 NSVLAN,然后使用相应的命令将管理接口绑定到 NSVLAN。

  • 例如:

    • set ns config <vlan id>-nsvlan-ifnum 1/1-标记为否

    • save config

  • 在提示符下重新启动 VPX 实例。

  • 有关配置 nsvlan 的更多信息,请参阅配置 NSVLAN: 配置 NSVLAN

  • 在 AWS 控制台中,Monitoring(监视)选项卡下显示的 VPX 实例的 vCPU 使用率可能很高(高达 100%),即使实际使用率要低得多亦如此。要查看实际 vCPU 使用率,请导航到 View all CloudWatch metrics(查看所有 CloudWatch 指标)。有关更多信息,请参阅: 使用 Amazon CloudWatch 监控您的实例。或者,如果不考虑低延迟和性能,则用户可以启用 CPU Yield 功能,允许数据包引擎在没有流量时空闲。请访问 Citrix 支持知识中心 ,了解有关 CPU 良率功能及其启用方法的更多详细信息。

技术要求

在用户启动《快速入门指南》开始部署之前,必须按照下表中的指定配置用户帐户。否则,部署可能会失败。

资源

如有必要,请登录用户的亚马逊帐户,并在此处请求提高以下资源的服务限制: AWS/登录。如果您已有使用这些资源的现有部署,并且您认为此部署可能会超出默认限制,则可能需要执行此操作。有关默认限制,请参阅 AWS 文档:AWS 服务配额中的 AWS 服务配额

AWS Trusted Advisor(可在此处找到:A WS/登录)提供服务限制检查,显示某些服务的某些方面的使用情况和限制。

资源 此部署使用
VPC 1
弹性 IP 地址 0/1(适用于堡垒主机)
IAM 安全组 3
IAM 角色 1
子网 6(3 个/可用区)
Internet 网关 1
路由表 5
WAF VPX 实例 2
堡垒主机 0/1
NAT 网关 2

区域

目前并非所有 AWS 区域都支持 AWS 上的 Citrix WAF。有关受支持区域的最新列表,请参阅 AWS 文档:AWS 服务终端节点中的 A WS 服务终端节点

有关 AWS 区域以及云基础设施为何如此重要的更多信息,请参阅: 全球基础设施

Key Pair(密钥对)

使用快速入门指南,确保用户计划部署的区域中的用户 AWS 帐户中至少存在一个 Amazon EC2 密钥对。记下密钥对名称。在部署期间,系统会提示用户输入此信息。要创建密钥对,请按照 AWS 文档:Amazon EC2 密钥对和 Linux 实例中有关 A mazon EC2 密钥对和 Linux 实例的说明进行操作。

如果用户部署快速入门指南是为了测试或概念验证,我们建议他们创建一个新的密钥对,而不是指定生产实例已经在使用的密钥对。

AWS 上的 Citrix ADC VPX 部署指南

在本文中