简介
本文探讨有关邮件安全设备(ESA)上的邮件过滤器的最佳实践和实施。邮件过滤器允许创建特殊规则,说明如何处理ESA接收和处理符合特定条件的邮件。
先决条件
- 基本了解ESA过滤器操作
- 熟悉ESA上的命令行界面(CLI)
使用邮件过滤器的优点
与内容过滤器相比,使用邮件过滤器有两个主要优势:
- 它们将应用于工作队列处理管道开始处的消息。因此,在使用任何主要扫描引擎(例如,反垃圾邮件、防病毒、AMP等)之前,我们可以通过过滤邮件来节约大量资源。
- 它们将对传入和传出流量执行操作,而对于内容过滤器,您需要为传入和传出创建一个过滤器。
此外,还有一些条件无法使用只能通过邮件过滤器完成的内容过滤器进行配置。
示例:如果需要基于ESA的发件人组定义条件,则此选项仅在邮件过滤器中可用。
注意:非最终邮件过滤器操作是累积的。如果邮件与多个过滤器匹配,其中每个过滤器指定了不同的操作,则所有操作都将累加并执行。但是,如果邮件与指定相同操作的多个过滤器匹配,则覆盖先前的操作并执行最终过滤器操作。
邮件过滤器的操作
当AsyncOS处理邮件过滤器时,AsyncOS扫描的内容、处理顺序和采取的操作基于以下几个因素:
- 邮件过滤器按配置顺序处理(从上到下Ka先到后)
- 当邮件内容到达过滤器时,将对邮件内容处理邮件过滤器。
- 匹配正则表达式时,可以配置“得分”以记录在执行过滤器操作之前必须执行的匹配次数。这允许您“权衡”对不同术语的回答。
- 邮件过滤器的链接条件的主要替代项为: (和/或/IF/ELSE)
创建邮件过滤器
首先,我们从CLI发出命令filters以进入消息过滤器的配置模式。然后选项为:
- NEW:此选项将开始创建新过滤器。此选项选择后跟过滤器名称,然后是语法。
- DELETE:该选项用于根据需要删除现有过滤器。发出此命令后,您可以输入要删除的序列号的过滤器名称
- 导入:您可以导入保存在设备目录中的过滤器相关文件。
- EXPORT:此选项允许导出过滤器的相关文件,以便导入到其他目标
- SET:此选项允许我们将过滤器的状态从Active更改为Inactive,反之亦然
- LIST:此选项将显示ESA中存在的所有创建的过滤器
- DETAIL:通过此选项,我们可以查看所创建的过滤器的组件,例如条件和定义的操作。
- LOGCONFIG:此选项显示为具有定义为存档的操作的邮件过滤器创建的日志文件名称(“文件夹名称”)
- ROLLOVERNOW:此选项允许滚动更新由于邮件过滤器中定义的存档操作而创建的文件夹中存在的所有日志
可以在ESA的所有模式(如集群、组或计算机模式)下创建过滤器。
ESA对邮件应用过滤器的配置首选项标准如下所示:
第1个首选项:计算机模式
第2个首选项:组模式
第三方案首选项:集群模式
要创建邮件过滤器,我们需要将语法组合起来来定义条件和操作(例如,在邮件过滤器中):
示例:
if (recv-listener == 'InboundMail' or recv-int == 'notmain')
{
skip-filters();
}
else
{
quarantine(“Policy”);
}
.
上述过滤器描述如果接收侦听程序为“InboundMail”或接收接口为“notmain”,则操作是跳过任何剩余的邮件过滤器。
如果条件不匹配,则隔离至Policy。此值在其他值之后定义。
有用提示
有时,邮件过滤器中使用的语法可能会令人困惑,但内容过滤器可能是同样简单的参考点。
我们可以创建内容过滤器,并在邮件过滤器中包含所需的条件和操作。提交过滤器后,在下一页中,我们会在过滤器部分的顶部看到3个选项卡,即:
当我们单击Rules选项卡时,该选项卡将显示过滤器使用的语法,也可以用于创建邮件过滤器。这是根据我们的要求缩小过滤条件语法范围的最简单方法。
邮件过滤器中使用的正则表达式
- Carat (^):包含脱字符号(^)的规则仅与字符串的开头匹配。
示例: ^我将匹配我是一名工程师
- 美元符号($):包含美元符号字符($)的规则仅与字符串的结尾匹配
示例: .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。
相关信息
思科邮件安全设备-最终用户指南