用例:基于 OWA 的垃圾邮件筛选

垃圾邮件筛选是动态阻止来自已知或可信来源或内容不当的电子邮件的能力。垃圾邮件筛选需要一个关联的业务逻辑,该逻辑指示特定类型的邮件是垃圾邮件。当 Citrix ADC 设备基于 HTTP 协议处理 Outlook Web 访问 (OWA) 邮件时,HTTP 标注可用于筛选垃圾邮件。

您可以使用 HTTP 标注提取传入邮件的任何部分,并与外部标注服务器进行检查,该服务器配置了用于确定邮件是合法还是垃圾邮件的规则。如果是垃圾邮件,出于安全原因,Citrix ADC 设备不会通知发件人该电子邮件被标记为垃圾邮件。

以下示例对电子邮件主题中列出的各种关键字进行非常基本的检查。这些检查在生产环境中可能更加复杂。

要实现此配置,您必须执行以下任务:

  1. 启用 Citrix ADC 设备上的响应程序功能。
  2. 在 Citrix ADC 设备上创建 HTTP 标注,并使用有关外部服务器和其他所需参数的详细信息对其进行配置。
  3. 创建响应程序策略以分析响应,然后全局绑定策略。
  4. 在远程服务器上创建标注代理。

启用响应程序

必须启用响应程序功能,才能在 Citrix ADC 设备上使用该功能。

使用 GUI 启用响应程序

  1. 请确保已安装响应程序许可证。
  2. 在配置实用程序中,展开 AppExpert,然后右键单击响应程序,然后单击启用响应程序功能。

在 Citrix ADC 设备上创建 HTTP 标注

使用下表中显示的参数设置创建 HTTP 标注 HTTP-Callout 4。有关创建 HTTP 标注的更多信息,请参阅 配置 HTTP 标注

有关更多信息,请参阅 HTTP-4 标注的参数和值 pdf。

创建响应程序操作

创建响应程序操作,“操作响应程序-4”。使用下表中显示的参数设置创建操作。

参数
名称 Action-Responder-4
类型 回复与
目标 "”HTTP/1.1 200 OK\r\nServer: Microsoft-IIS/6.0\r\nX-Powered-By: ASP.NET\r\nContent-Length: 0\r\nMS-WebStorage: 6.5.6944\r\nCache-Control: no-cache\r\n\r\n””

表 2. 操作响应-4 的参数和值

使用配置实用程序创建响应程序操作

  1. 导航至 AppExpert > 响应程序 > 操作

  2. 在详细信息窗格中,单击 Add(添加)。

  3. 在“创建响应程序操 作”对话框中的“名称”中,键入“操作响应程序-4”。

  4. 在类型中,单击 响应方式。

  5. 在“目标”中,键入:

    ""HTTP/1.1 200 OK\r\nServer: Microsoft-IIS/6.0\r\nX-Powered-By: ASP.NET\r\nContent-Length: 0\r\nMS-WebStorage: 6.5.6944\r\nCache-Control: no-cache\r\n\r\n""
    
  6. 单击 Create(创建),然后单击 Close(关闭)。

创建响应程序策略以调用 HTTP 标注

创建一个响应程序策略,即策略响应程序-4,该策略将检查请求正文,如果正文包含单词“ 主题”,则调用 HTTP 标注来验证电子邮件。使用下表中显示的参数设置创建策略。虽然您可以在策略子节点中创建响应程序 策略,然后使用 响应程序策略管理器将其全局绑定,但本演示使用 响应程序策略管理器创建响应程序策略并将其全局绑定。

参数
名称 Policy-Responder-4
操作 Action-Responder-4
Undefined-Result-Action -Global undefined-result action-
表达式 “HTTP.REQ.BODY(1000).CONTAINS(“urn:schemas:httpmail:subject”) && SYS.HTTP_CALLOUT(HTTP-Callout-4)”

使用配置实用程序创建响应程序策略

  1. 导航至应 AppExpert > 响应程序
  2. 在详细信息窗格的策略管理器下,单击响应程序策略管理器。
  3. 响应程序策略管理器对话框中,单击覆盖全局
  4. 单击插入策略,然后在策略名称列中单击新建策略
  5. 在“创建响应程序策略”对话框中,执行以下操作:
    1. 在“名称”中,键入 Policy-Responder-4

    2. 在“操作”中,单击“Action-Responder-4”。

    3. 在“未定义结果操作”中,单击“全局未定义结果操作”。

    4. 在“表达式”文本框中,键入:

      "HTTP.REQ.BODY(1000).CONTAINS("urn:schemas:httpmail:subject") && SYS.HTTP_CALLOUT(HTTP-Callout-4)"
      
    5. 单击 Create(创建),然后单击 Close(关闭)。

  6. 单击应用更改,然后单击关闭

在远程服务器上创建 HTTP 标注代理

您现在需要在远程标注服务器上创建 HTTP 标注代理。HTTP 标注代理接收来自 Citrix ADC 设备的标注请求并相应地响应。标注代理是每个部署都不同的脚本,编写时必须考虑到服务器规范,例如数据库类型和支持的脚本语言。

以下伪代码提供了有关创建标注代理的说明,该代理检查通常被理解为表示垃圾邮件的单词列表。代理可以用您选择的任何编程语言实现。伪代码只能用作开发标注代理的指南。您可以在程序中构建其他功能。

使用伪代码识别垃圾邮件

  1. 接受 Citrix ADC 设备提供的电子邮件主题。
  2. 连接到包含检查电子邮件主题所依据的所有术语的数据库。
  3. 根据垃圾邮件字列表检查电子邮件主题中的单词。
  4. 根据 HTTP 标注的要求设置响应格式。
  5. 将响应发送到 Citrix ADC 设备。