ADC

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

垃圾邮件筛选是一种动态屏蔽来自未知或可信来源或包含不当内容的电子邮件的功能。垃圾邮件筛选需要关联的业务逻辑,以表明特定类型的邮件是垃圾邮件。当 NetScaler 设备基于 HTTP 协议处理 Outlook Web Access (OWA) 消息时,HTTP 标注可用于过滤垃圾邮件。

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

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

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

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

启用响应程序

必须先启用响应程序功能,然后才能在 NetScaler 设备上使用。

使用 GUI 启用响应程序

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

在 NetScaler 设备上创建 HTTP 标注

使用下表所示的参数设置创建 HTTP 标注(HTTP 标注 4)。有关创建 HTTP 标注的更多信息,请参阅 配置 HTTP 标注

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

创建响应程序操作

创建响应程序操作,即 Action-Responder-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. Action-Responder-4 的参数和值

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

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

  2. 在详细信息窗格中,单击“添加”。

  3. 在“创建响应程序操作”对话框的“名称”中,键入 Action-Responder-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""
    <!--NeedCopy-->
    
  6. 单击“创建”,然后单击“关闭”。

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

创建响应者策略 Policy-Responder-4,该策略将检查请求正文,如果请求正文包含“ 主题”一词,则调用 HTTP 调用以验证电子邮件。使用下表所示的参数设置创建策略。虽然您可以在“ 策略”子节点中创建响应者策略,然后使用 Responder Policy Manager 将其全局绑定,但此演示使用 Responder Policy Manager 创建响应者策略并将其全局绑定。

参数
名称 Policy-Responder-4
操作 Action-Responder-4
未定义的结果操作 -全局未定义结果操作-
表达式 “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)"
      <!--NeedCopy-->
      
    5. 单击“创建”,然后单击“关闭”。
  6. 单击“应用更改”,然后单击“关闭”。

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

现在,您需要在远程呼出服务器上创建 HTTP 调用代理。HTTP 呼出代理接收来自 NetScaler 设备的呼出请求并做出相应的响应。callout 代理脚本因部署而异,在编写时必须考虑服务器规格,例如支持的数据库类型和脚本语言。

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

使用伪代码识别垃圾邮件

  1. 接受 NetScaler 设备提供的电子邮件主题。
  2. 连接到包含检查电子邮件主题所依据的所有术语的数据库。
  3. 根据垃圾邮件单词列表检查电子邮件主题中的单词。
  4. 按照 HTTP 调用的要求格式化响应。
  5. 将响应发送到 NetScaler 设备。
用例:基于 OWA 的垃圾邮件筛选