ADC

与 Citrix ADC 的在线设备集成

入侵防护系统 (IPS) 和下一代防火墙 (NGFW) 等安全设备可保护服务器免受网络攻击。这些设备以第 2 层串联模式部署,其主要功能是保护服务器免受网络攻击并报告网络上的安全威胁。

为了防止易受攻击的威胁并提供高级安全保护,Citrix ADC 设备与一个或多个串联设备集成。嵌入式设备可以是任何安全设备,例如 IPS、NGFW。

以下是一些使用串联设备与 Citrix ADC 设备集成的用例:

  • 检查加密的流量。大多数 IPS 和 NGFW 设备都会绕过加密流量,从而使服务器容易受到攻击。Citrix ADC 设备可以解密流量并将其发送到在线设备进行检查。它增强了客户的网络安全。
  • 从TLS/SSL处理中卸载内联设备。TLS/SSL 处理非常昂贵,如果对 IPS 或 NGFW 设备进行解密,该问题可能会导致 IPS 或 NGFW 设备中的系统 CPU 过高。随着加密流量的快速增长,这些系统无法解密和检查加密的流量。Citrix ADC 有助于将内联设备从 TLS/SSL 处理中卸载。它导致在线设备支持大量的流量检查。
  • 负载平衡内联设备。当流量大时,Citrix ADC 设备会对多个串联设备进行负载平衡。
  • 智能选择流量。流入设备的每个数据包都可能经过内容检查,例如下载文本文件。用户可以将 Citrix ADC 设备配置为选择特定流量(例如 .exe 文件)进行检查,并将流量发送到串联设备以处理数据

Citrix ADC 如何与串联设备集成

下图显示了 Citrix ADC 如何与内联安全设备集成。 在线设备集成

当您将串联设备与 Citrix ADC 设备集成时,组件将按以下方式进行交互:

  1. 客户端向 Citrix ADC 设备发送请求。
  2. 设备接收请求并根据策略评估将其发送到内联设备。 注意:如果有两个或更多内联设备,则设备会对设备进行负载平衡并发送流量。 如果传入流量是加密流量,则设备会解密数据并将其作为纯文本发送到内联设备进行内容检查。
  3. 内联设备检查数据是否存在威胁,并决定是删除、重置或将数据发回设备。
  4. 如果存在安全威胁,设备将修改数据并将其发送到设备。
  5. 反过来,Citrix ADC 会重新加密数据并将请求转发到后端服务器。
  6. 后端服务器将响应发送到 Citrix ADC 设备。
  7. 设备再次解密数据并将其发送到内联设备进行检查。
  8. 设备重新加密数据并将响应发送给客户端

软件许可

要部署内联设备集成,必须为您的 Citrix ADC 设备配置以下许可证之一:

  1. ADC 高级版
  2. 高级 ADC
  3. 電信高級公司
  4. 电信高级版
  5. SWG 许可证

配置内联设备集成

您可以通过三种不同的方式将 Citrix ADC 设备与串联设备进行配置。配置场景如下。

使用单个内联设备的场景 1

如果要在串联模式下集成安全设备(IPS 或 NGFW),则必须首先启用内容检查功能,然后在全局模式下启用 MBF(基于 MAC 的转发)中的 Citrix ADC(基于 MAC 的转发)。启用这些功能后,必须添加内容检查配置文件,添加内容检查操作,以便在线设备根据检查重置、阻止或丢弃流量。然后,为设备添加内容检查策略,以决定向嵌入式设备发送哪些流量子集。然后,将负载平衡虚拟服务器配置为在服务器上启用第 2 层连接。最后,将内容检查策略绑定到负载平衡虚拟服务器。

使用单内联设备

启用 MBF(基于 Mac 的转发)模式

如果您想将 Citrix ADC 设备集成到 IPS 或防火墙等内联设备,则必须启用此模式。有关 MBF 的更多信息,请参阅配置基于 MAC 的转发主题。

在命令提示符下,键入:

enable ns mode mbf

启用内容检查

如果您希望 Citrix ADC 设备解密,然后将内容发送到串联设备进行检查,则必须启用内容检查和负载平衡功能。

enable ns feature contentInspection LoadBalancing

添加第 2 层连接方法

为了处理内联设备生成的响应,设备使用 VLAN 通道作为与内联设备通信的第 2 层方法(L2ConnMethod)。

在命令提示符下,键入:

set l4param -l2ConnMethod <l2ConnMethod>

示例 set l4param –l2ConnMethod VlanChannel

为服务添加内容检查配置文件

可以在名为“内容检查配置文件”的实体中指定 Citrix ADC 设备的内联设备配置。该配置文件包含一系列设置,用于说明如何与嵌入式设备集成。

在命令提示符下,键入:

add contentInspection profile <name> -type InlineInspection -egressInterface <interface_name> -ingressInterface <interface_name>[-egressVlan <positive_integer>] [-ingressVlan <positive_integer>]

示例

add contentInspection profile Inline_profile1 -type InlineInspection -ingressinterface “1/2” -egressInterface “1/3”

添加 IPS-TCP 监视器

如果要配置监视器,请添加用户定义的监视器。 注意:如果要配置监视器,则必须使用自定义监视器。添加显示器时,必须启用透明参数。

在命令提示符下,键入:

add lb monitor <monitorName> <type> [-destIP <ip_addr|ipv6_addr>] [-destPort <port>] [-transparent ( YES | NO )]

示例

add lb monitor ips_tcp TCP -destIP 192.168.10.2 -destPort 80 -transparent YES

添加服务

添加服务。指定不属于任何设备(包括内联设备)的虚拟 IP 地址。将 use source IP address (USIP) 设置为“是”。设置 useproxyport 为“否”。默认情况下,运行状况监视处于开启状态,将服务绑定到运行状况监视器,并将监视器中的 TRANSPARENT 选项设置为 ON。在命令提示符下,键入:

add service <Service_name> <IP> TCP * - contentinspectionProfileName <Name> -healthMonitor YES -usip ON –useproxyport OFF

示例

add service ips_service 192.168.10.2 TCP * -healthMonitor YES -usip YES -useproxyport NO -contentInspectionProfileName ipsprof

添加运行状况监视器

默认情况下,运行状况监视器处于打开状态,如有必要,您还可以选择将其禁用。在命令提示符下,键入:

add lb monitor <name> TCP -destIP <ip address> -destPort 80 -transparent <YES, NO>

示例:

add lb monitor ips_tcp TCP -destIP 192.168.10.2 -destPort 80 -transparent YES

将服务绑定到运行状况监视器

配置运行状况监视器后,必须将服务绑定到运行状况监视器。在命令提示符下,键入:

bind service <name> -monitorName <name>

示例:

bind service ips_svc -monitorName ips_tcp

为服务添加内容检查操作

启用内容检查功能后,添加在线配置文件和服务后,必须添加内容检查操作来处理请求。根据内容检查操作,在线设备可以在检查数据后删除、重置或阻止操作。

如果 Inline 服务器或服务关闭,则可以在设备中配置 ifserverdown 参数以执行以下任一操作。

CONTINUE:如果用户希望在远程服务器关闭时绕过内容检查,则可以选择“CONTINUE”(继续)作为默认操作。 RESET(默认):此操作通过关闭与 RST 的连接来响应客户端。 DROP:此操作以静默方式丢弃数据包,而不向用户发送响应。

在命令提示符下,键入:

add contentInspection action <name> -type <type> (-serverName <string> [-ifserverdown <ifserverdown>] [-reqTimeout <positive_integer>] [-reqTimeoutAction <reqTimeoutAction>]

add ContentInspection action <action_name> -type InlineINSPECTION -serverName Service_name/Vserver_name>

示例

add ContentInspection action <Inline_action> -type InlineSPECTION –serverName Inline_service1

添加内容检查策略以进行检查

创建“内容检查”操作后,必须添加内容检查策略以评估检查请求。策略基于由一个或多个表达式组成的规则。策略根据规则评估并选择要检查的流量。

在命令提示符处,键入以下内容:

add contentInspection policy <policy_name> –rule <Rule> -action <action_name>

示例 add contentInspection policy Inline_pol1 –rule true –action Inline_action

添加 HTTP/SSL 类型的内容交换或负载平衡虚拟服务器

要接收 Web 流量,必须添加负载平衡虚拟服务器。此外,您必须在虚拟服务器上启用 layer2 连接。

在命令提示符下,键入:

add lb vserver <name> <vserver name> -l2Conn ON

示例

add lb vserver HTTP_vserver HTTP 10.102.29.200 8080 –l2Conn ON

将内容检查策略绑定到 HTTP/SSL 类型的内容交换虚拟服务器或负载平衡虚拟服务器

将 HTTP/SSL 类型的负载平衡虚拟服务器或内容交换虚拟服务器绑定到内容检查策略。 在命令提示符处,键入以下内容:

bind lb vserver <vserver name> -policyName < policy_name > -priority < priority > -type <REQUEST>

示例

bind lb vserver HTTP_vserver -policyName Inline_pol1 -priority 100 -type REQUEST

场景 2:使用专用接口对多个内联设备进行负载平衡

如果您使用两个或更多内联设备,则必须在专用 VLAN 设置中使用不同的内容检查服务对设备进行负载平衡。在这种情况下,Citrix ADC 设备除了通过专用接口向每台设备发送部分流量外,还会对设备进行负载平衡。 有关基本配置步骤,请参阅场景 1。

使用专用 VLAN 进行在线设备集成

为服务 1 添加内容检查配置文件 1

可以在名为内容检查配置文件的实体中指定 Citrix ADC 设备的内联配置。配置文件包含设备设置的集合。内容检查配置文件 1 是为内联服务 1 创建的,通信通过 1/2 和 1/3 专用接口进行。

在命令提示符下,键入:

add contentInspection profile <name> -type InlineInspection -egressInterface <interface_name> -ingressInterface <interface_name>[-egressVlan <positive_integer>] [-ingressVlan <positive_integer>]

示例

add contentInspection profile Inline_profile1 -type InlineInspection -ingressinterface “1/2” -egressInterface “1/3”

为服务2添加内容检查配置文件2

为 service2 添加了内容检查配置文件2,内联设备通过 1/41/5 专用接口与设备通信。 在命令提示符下,键入:

add contentInspection profile <name> -type InlineInspection -egressInterface <interface_name> -ingressInterface <interface_name>[-egressVlan <positive_integer>] [-ingressVlan <positive_integer>]

示例

add contentInspection profile Inline_profile2 -type InlineInspection -ingressinterface “1/4” -egressInterface “1/5”

为内联设备 1 添加服务 1

启用内容检查功能并添加内联配置文件后,必须为内联设备 1 添加内联服务 1 才能成为负载平衡设置的一部分。您添加的服务提供所有内联配置详细信息。

在命令提示符下,键入:

add service <Service_name_1> <Pvt_IP1> TCP * -contentInspectionProfileName <Inline_Profile_1> -healthmonitor OFF –usip ON –useproxyport OFF

示例

add service Inline_service1 10.102.29.200 TCP 80 -contentInspectionProfileName Inline_profile1 -healthmonitor OFF -usip ON -useproxyport OFF

为内联设备 2 添加服务 2

启用内容检查功能并添加内联配置文件后,必须为内联设备 2 添加内联服务 2。您添加的服务提供所有内联配置详细信息。

在命令提示符下,键入:

add service <Service_name_1> <Pvt_IP1> TCP * -contentInspectionProfileName <Inline_Profile_2> -healthmonitor OFF –usip ON –useproxyport OFF

示例

add service Inline_service1 10.29.20.205 TCP 80 -contentInspectionProfileName Inline_profile2 -healthmonitor OFF -usip ON -useproxyport OFF

添加负载平衡虚拟服务器

添加内联配置文件和服务后,必须添加负载平衡虚拟服务器以对服务进行负载平衡。

在命令提示符下,键入:

add lb vserver <vserver_name> TCP <Pvt_IP3> <port>

示例

add lb vserver lb-Inline_vserver TCP *

将服务 1 绑定到负载平衡虚拟服务器

添加负载平衡虚拟服务器后,现在将负载平衡虚拟服务器绑定到第一个服务。

在命令提示符下,键入:

bind lb vserver <Vserver_name> <Service_name_1>

示例

bind lb vserver lb-Inline_vserver Inline_service1

将服务 2 绑定到负载平衡虚拟服务器

添加负载平衡虚拟服务器后,现在将该服务器绑定到第二个服务。

在命令提示符下,键入:

bind lb vserver <Vserver_name> <Service_name_1>

示例

bind lb vserver lb-Inline_vserver Inline_service2

为服务添加内容检查操作

启用内容检查功能后,必须添加“内容检查”操作来处理内联请求信息。根据所选操作,内联设备在检查给定的流量子集后丢弃、重置或阻塞。

在命令提示符下,键入:

add contentInspection action <name> -type <type> (-serverName <string> [-ifserverdown <ifserverdown>] [-reqTimeout <positive_integer>] [-reqTimeoutAction <reqTimeoutAction>]

add ContentInspection action < action_name > -type InlineINSPECTION -serverName Service_name/Vserver_name>

示例

add ContentInspection action Inline_action -type InlineINSPECTION –serverName lb-Inline_vserver

添加内容检查策略以进行检查

创建内容检查操作后,必须添加内容检查策略以评估服务请求。策略基于由一个或多个表达式组成的规则。该规则与内容检查操作相关联,如果请求与规则相匹配,则该操作与该操作相关联。

在命令提示符处,键入以下内容:

add contentInspection policy <policy_name> –rule <Rule> -action <action_name>

示例

add contentInspection policy Inline_pol1 –rule true –action Inline_action

添加 HTTP/SSL 类型的内容交换或负载平衡虚拟服务器

添加内容交换或负载平衡虚拟服务器以接受 Web 流量。此外,您必须在虚拟服务器上启用 layer2 连接。 有关负载平衡的更多信息,请参阅负载平衡的工作原理主题。

在命令提示符下,键入:

add lb vserver <name> <vserver name> -l2Conn ON

示例

add lb vserver http_vserver HTTP 10.102.29.200 8080 –l2Conn ON

将内容检查策略绑定到 HTTP/SSL 类型的负载平衡虚拟服务器

您必须将 HTTP/SSL 类型的内容交换或负载平衡虚拟服务器绑定到内容检查策略。

在命令提示符处,键入以下内容:

bind lb vserver <vserver name> -policyName < policy_name > -priority <> -type <L7InlineREQUEST | L4Inline-REQUEST>

示例

bind lb vserver http_vserver -policyName Inline_pol1 -priority 100 -type REQUEST

场景 3:使用共享接口对多个内联设备进行负载平衡

如果您使用多个内联设备,并且想要在共享 VLAN 接口中使用不同的服务对设备进行负载平衡,则可以参考此配置。此使用共享 VLAN 接口的配置与用例 2 类似。有关基本配置,请参阅场景 2。

使用共享 VLAN 对多个内联设备进行负载平衡

在启用共享选项的情况下绑定 VLAN A

在命令提示符处,键入以下内容:

bind vlan <id> -ifnum <interface> -tagged

示例

bind vlan 100 –ifnum 1/2 tagged

在启用共享选项的情况下绑定 VLAN B

在命令提示符处,键入以下内容:

bind vlan <id> -ifnum <interface> -tagged

示例

bind vlan 200 –ifnum 1/3 tagged

在启用共享选项的情况下绑定 VLAN C

在命令提示符处,键入以下内容:

bind vlan <id> -ifnum <interface> -tagged

示例

bind vlan 300 –ifnum 1/2 tagged

在启用共享选项的情况下绑定 VLAN D

在命令提示符处,键入以下内容:

bind vlan <id> -ifnum <interface> -tagged

示例

bind vlan 400 –ifnum 1/3 tagged

为服务 1 添加内容检查配置文件 1

可以在名为内容检查配置文件的实体中指定 Citrix ADC 设备的内联配置。配置文件包含设备设置的集合。内容检查配置文件是为内联服务 1 创建的,通信通过 1/2 和 1/3 专用接口进行。

在命令提示符下,键入:

add contentInspection profile <name> -type InlineInspection -egressInterface <interface_name> -ingressInterface <interface_name>[-egressVlan <positive_integer>] [-ingressVlan <positive_integer>]

示例

add contentInspection profile Inline_profile1 -type InlineInspection -ingressinterface “1/2” -egressInterface “1/3” –egressVlan 100 -ingressVlan 300

为服务2添加内容检查配置文件2

为 service2 添加了内容检查配置文件2,内联设备通过 1/21/3 专用接口与设备通信。

在命令提示符下,键入:

add contentInspection profile <name> -type InlineInspection -egressInterface <interface_name> -ingressInterface <interface_name>[-egressVlan <positive_integer>] [-ingressVlan <positive_integer>]

示例

add contentInspection profile Inline_profile2 -type InlineInspection -ingressinterface “1/2” -egressInterface “1/3” –egressVlan 200 -ingressVlan 400

使用 Citrix ADC GUI 配置内联服务集成

  1. 登录 Citrix ADC 设备并导航到“配置”选项卡页面。
  2. 导航到“系统”>“设置”>“配置模式”。
  3. 在“配置模式”页面中,选择“基于 Mac 的转发”。
  4. 单击“确定”关闭
  5. 导航到 系统 > 设置 > 配置高级功能
  6. 在“配置高级功能”页面中,选择“内容检查”。
  7. 单击“确定”关闭
  8. 导航到“安全”>“内容检查”>“内容检查配置文件”。
  9. 在“内容检查配置文件”页面中,单击“添加”。
  10. 在“创建内容检查配置文件”页面中,设置以下参数。
    1. 配置文件名称。内容检查配置文件的名称。
    2. 类型。将配置文件类型选择为“联机检查”。
    3. 出口接口。设备通过该接口将流量从 Citrix ADC 发送到串联设备。
    4. 入口接口。设备通过该接口接收从串联设备到 Citrix ADC 的流量。
    5. 出口 VLAN。将流量发送到内联设备的接口 VLAN ID。
    6. 入口 VLAN。设备通过接口 VLAN ID 接收从 Inline 到 Citrix ADC 的流量(如果已配置)。
  11. 单击创建关闭
  12. 导航到 流量管理 > 负载平衡 > 服务 ,然后单击 添加
  13. 在“服务”页面中,设置以下参数:

    1. 服务名称。负载平衡服务的名称。
    2. IP 地址。使用虚拟 IP 地址。注意:任何设备都不能拥有 IP 地址。
    3. 协议。选择协议类型为 TCP。
    4. Port(端口)。输入 *
    5. 健康监测。清除此选项并仅在要将服务绑定到 TCP 类型监视器时才启用它。如果要将监视器绑定到服务,则监视器中的 TRANSPARENT 选项必须处于开启状态。有关如何添加监视器以及如何将其绑定到服务的步骤 14。
    6. 单击确定
  14. 在“设置”部分中,编辑以下内容并单击“确定”

    1. 使用代理端口:将其关闭
    2. 使用源 IP 地址:将其打开
  15. 在“高级设置”部分中,单击“配置文件”。
  16. 转到“配置文件”部分,添加内联内容检查配置文件,然后单击“确定”。
  17. 转至“监视器”部分, 添加绑定 > 选择监视器 > 添加

    1. 名称:显示器的名称
    2. 类型:选择 TCP 类型
    3. 目标 IP,端口:目标 IP 地址和端口。
    4. 透明:开启

    注意:监视数据包必须流经嵌入式设备才能监视内联设备状态。

  18. 单击 Create(创建)。
  19. 单击 Done(完成)。
  20. 导航到流量管理 > 负载平衡 > 虚拟服务器。添加 HTTP 或 SSL 类型的虚拟服务器。
  21. 输入服务器详细信息后,单击“确定”,然后再次单击“确定”
  22. 在负载平衡虚拟服务器的 流量设置 部分中,打开第 2 层参数。
  23. 在“高级设置”部分中,单击“策略”。
  24. 转到“策略”部分,然后单击“+”图标以配置内容检查策略。
  25. 在“选择策略”页面上,选择“内容检查”。单击继续
  26. 在“策略绑定”部分中,单击“ 加”以添加内容检查策略。
  27. 在“创建内容检查策略”页面中,输入内联内容检查策略的名称。
  28. 在“操作”字段中,单击“添加”以创建内联内容检查操作。
  29. 创建 CI 操作 页面中,设置以下参数:

    1. 名称。内容检查内联策略的名称。
    2. 类型。选择类型为“联机检查”。
    3. 服务器。选择服务器/服务作为内联设备。
    4. 如果服务器关闭。如果服务器出现故障,请选择一个操作。
    5. 请求超时。选择一个超时值。您可以使用默认值。
    6. 请求超时操作。选择超时操作。您可以使用默认值。
  30. 单击 Create(创建)。
  31. 创建 CI 策略 页面中,输入其他详细信息:
  32. 单击“确定”关闭
与 Citrix ADC 的在线设备集成