简介
本文介绍有关邮件安全设备(ESA)上的邮件过滤器的最佳实践和实施。 邮件过滤器允许创建特殊规则,描述如何处理在ESA接收和处理符合特定条件的邮件。
先决条件
- 基本了解ESA过滤器操作
- 熟悉ESA上的命令行界面(CLI)
使用邮件过滤器的优点
与内容过滤器相比,使用邮件过滤器主要有两个优点:
- 它们将应用于接近工作队列处理管道开头的消息。因此,我们有可能在使用任何主要扫描引擎之前过滤消息,从而节省大量资源(即:反垃圾邮件、防病毒、AMP等)。
- 它们将对传入和传出流量执行操作,而对于内容过滤器,您需要为传入和传出分别创建一个过滤器。
此外,还有一些条件无法使用只能通过邮件过滤器执行的内容过滤器进行配置。
示例:如果需要基于ESA的发件人组定义条件,该选项仅在邮件过滤器中可用。
注意:非最终邮件过滤器操作是累积的。如果邮件与多个过滤器匹配,其中每个过滤器指定不同的操作,则所有操作都将累加并实施。但是,如果消息与指定相同操作的多个过滤器匹配,则覆盖之前的操作并执行最终的过滤器操作。
邮件过滤器的操作
当AsyncOS处理邮件过滤器时,AsyncOS扫描的内容、处理顺序和采取的操作基于以下几个因素:
- 邮件过滤器按配置顺序进行处理(从上到下Ka从上到下)
- 当邮件内容到达过滤器时,将对邮件内容处理邮件过滤器。
- 当匹配正则表达式时,可以配置“分数”以计算在执行过滤器操作之前必须出现的匹配次数。这允许您“权衡”不同术语的响应。
- 邮件过滤器的链接条件中的主要替代项为:(和/或/如果/其他)
创建邮件过滤器

首先,从CLI发出filters命令以进入邮件过滤器的配置模式。然后选项为:
- 新增:此选项将开始创建新过滤器。此选项选择后跟过滤器名称,然后是语法。
- DELETE :此选项将根据需要删除现有过滤器。发出此命令后,您可以输入要删除的序列号的过滤器名称
- 导入:您可以导入保存在设备目录中的过滤器相关文件。
- 导出:此选项允许导出过滤器的相关文件,以导入到另一个目标
- 设置:此选项允许我们将过滤器的状态从Active更改为Inactive,反之亦然
- 列表:此选项将显示ESA中存在的所有已创建的过滤器
- 详细信息:此选项允许我们查看所创建的过滤器的组件,例如所定义的条件和操作。
- 日志配置:此选项显示为具有定义为存档的操作的邮件过滤器创建的日志文件名称(“文件夹名称”)
- ROLLOVERNOW:通过此选项,可以滚动因邮件过滤器中定义的存档操作而创建的文件夹中存在的所有日志
可以在ESA的所有模式(例如集群、组或计算机模式)中创建过滤器。
ESA将对邮件应用过滤器的配置首选项条件如下所示:
第1个首选项:机器模式
第2个首选项:组模式
第三个首选项:集群模式
要创建邮件过滤器,我们需要结合使用语法来定义条件和操作:
示例:
if (recv-listener == 'InboundMail' or recv-int == 'notmain')
{
skip-filters();
}
else
{
quarantine(“Policy”);
}
.
上述过滤器描述如果接收侦听程序为“InboundMail”或接收接口为“notmain”,则操作是跳过任何剩余邮件过滤器。
如果条件不匹配,则隔离到Policy。这在其他部分之后定义。
有用提示
有时,在邮件过滤器中使用的语法可能会令人困惑,但内容过滤器可能是同样简单的参考点。
我们可以创建内容过滤器,并在邮件过滤器中包含所需的条件和操作。提交过滤器后,在下一页中,我们将在过滤器部分的顶部看到3个选项卡,即:

单击Rules选项卡时,该选项卡将显示过滤器使用的语法,可用于创建邮件过滤器。这是根据我们的要求缩小过滤条件语法范围的最简单方法。

消息过滤器中使用的正则表达式
- 卡拉(^):包含脱字符号(^)的规则仅与字符串的开头匹配。
示例:^我会配得上工程师
- 美元符号($):包含美元符号字符($)的规则仅与字符串的结尾匹配
示例:.com$将匹配google.com和yahoo.com
- 句点字符(.):包含句点字符(.)的规则与任何字符(新行除外)匹配。
示例:正则表达式^...admin$匹配字符串macadmin和字符串sunadmin,但不匹配win32admin。
- 星号(*)指令:包含星号(*)的规则与“上一个指令的零个或多个匹配项”匹配。 特别是,句点和星号(.*)的序列匹配任意字符序列(不包含新行)。
示例:正则表达式^P.*Piper$与以下所有字符串匹配:Piper、Peter Piper、P.Piper
- 反斜杠特殊字符(\):反斜杠字符转义特殊字符。因此,序列\.仅匹配文字句点,序列\$仅匹配文字美元符号,序列\^仅匹配文字脱字符号。
示例:正则表达式^ik\\.ac\\.uk$仅与字符串ik.ac.uk匹配
- 不区分大小写((?i)):指示正则表达式其余部分的令牌(?i)应在不区分大小写的模式下处理。
示例:正则表达式(?i)cisco与Cisco、CISCO以及cisco匹配
- 或(|):“或”运算符。如果A和B是正则表达式,则表达式“A|B”将匹配任何匹配“A”或“B”的字符串。
示例: 表达式“foo|bar”将匹配foo或bar,但不匹配foobar。
相关信息
思科邮件安全设备 — 最终用户指南