合规性

目录

概览

政府和行业法规要求IT企业遵守一些标准实践。为了符合 SOX、HIPAA、CISP、PCI、Sarbanes-Oxley 等法规,设备配置应符合规定的标准。标准可以是任何东西,确保某些字符串、命令或值的存在或不存在。Network Configuration Manager可帮助您自动检查是否符合所定义的规则,此外还会生成有关政策合规性和违规行为的详细报表。

合规性检查如何工作?

用户可以定义一组规则来指定强制性要求,例如配置应该包含什么和/或它不应该包含什么,这些规则可以分组并被定义为“合规策略”。每个设备或一组设备都可以与所需的一个或多个策略相关联。备份配置后,Network Configuration Manager将自动扫描配置是否符合已定义的策略并报告违规情况。用户还可以在任何给定实例上运行手动合规性检查,另外合规检查的运行可以基于每小时、每周和每月的不同时间进行安排。

合规检查对我有什么好处?

合规性检查通过自动化标准检查过程使网络管理员能够节省大量时间。此外它有助于,

  • 自动化流程,确保网络中的每个设备配置都符合重要的安全策略和最佳实践。

  • 确保配置符合标准实践,从而满足政府和行业法规。

  • 通过全面、直观的报表,简化了对标准合规审计的要求。

 

如何启用合规性检查?

启用合规性检查从创建合规性策略开始,该过程分为三个步骤:

 

1. 添加规则

定义在配置文件中要强制存在或不应该存在的行。规则的典型示例是检查访问列表配置或检查社区字符串。确定配置文件中存在特定行或一组行的违反程度。

添加规则,

  1. 点击合规性选项卡 >> 规则 >> "+"图标。

  2. 输入规则名称、描述和其他详细信息。

  3. 如果您的要求只是检查配置文件中是否存在单行或一组行,请选择“简单标准”。

  4. 如果要使用正则表达式指定更复杂的标准,请选择“高级标准”,然后在文本字段中输入该行。

  5. 如果要定义选择性合规检查所需配置块的开始和结束,请选择“高级自定义标准”,这只是“高级标准”的扩展。

 

如何选择所需的标准?

简单标准

高级标准

高级自定义标准

检查配置文件中是否存在单行或一组行。

 

例如:

 

检查该配置是否包含以下所有行:

 

snmp-server community public RO

snmp-server community private RW

 

Network Configuration Manager将针对配置文件逐个检查行(由您指定)。

 

 

使用正则表达式指定更复杂的条件。

 

例如:

 

检查是否配置了启用密钥。

 

启用密钥 5 $1$3Jcu$sB3。

 

在上面的示例中,启用密钥后面的单个数字和其他字符在每种情况下都会有所不同。因此此处不能使用简单的标准来检查启用密钥是否已正确配置。您需要使用高级标准。

 

 

定义选择性合规检查所需配置块的开始和结束。这只是“高级标准”的扩展。

 

例如:

 

检查是否为所有的接口块编写了描述。

 

interface FastEthernet0/0

description branch office 1 connectivity

ip address 192.168.118.32 255.255.255.0

service-policy output Stream

!

interface FastEthernet0/1

description branch office 2 connectivity

ip address 192.168.118.32 255.255.255.0

service-policy output Stream

!

 

设备配置中会有很多这样的接口块,并且每个块的接口名称和描述会有所不同。因此既不能使用简单标准也不能使用高级标准来创建合规规则。您需要使用“高级自定义标准”,这将有助于单独检查每个配置块。

 

 

 

简单标准

 

标准

描述

示例

应该包含所有行

要检查合规性的配置应包含您指定的所有行。即使没有找到单行,也会被认定为“违规”。Network Configuration Manager会针对配置文件逐一检查行(由您指定),这些行不必完全按照您指定的顺序出现。由于检查是逐行完成的,因此所有行都存在于配置中的任何位置就可以了。

标准:应包含所有的行。

要检查的配置行:

 

snmp-server community public RO

snmp-server community private RW

违反:

如果配置文件中不存在任何或所有行(与行存在的顺序无关)。

不应包含任何行

与上述正好相反。要检查合规性的配置不应包含您指定的任何行。即使找到了一行,也会被认定为“违规”。Network Configuration Manager会针对配置文件逐一检查行(由您指定),这些行的顺序并不重要。

标准:不应包含任何行。

要检查的配置行:

 

snmp-server community public RO

snmp-server community private RW

 

违反:

如果配置文件中存在任何或所有行(与行存在的顺序无关)。

应该包含精确的集合

这类似于“应该包含所有行”,但不同之处在于考虑了行的顺序。如果您指定了四行,Network Configuration Manager将检查所有四行是否按指定的顺序出现。如果这些行没有完全按照指定的方式出现,则将被宣布为违反规则。

标准:应该包含精确的集合。

要检查的配置行:

snmp-server enable traps hsrp

snmp-server enable traps config

snmp-server enable traps entity

 

违反:

如果所有的行都未按照指定的相同顺序(和相同的集合)出现在配置文件中。

不应包含精确的集合

与上述正好相反。这类似于“不应包含任何行”,但不同之处在于考虑了行的顺序。如果您指定了四行,Network Configuration Manager将检查配置是否按指定的顺序包含所有四行。如果这些行完全按照指定的方式出现,则将被宣布为违反规则。

标准:不应包含精确的集合。

要检查的配置行:

snmp-server enable traps hsrp

snmp-server enable traps config

snmp-server enable traps entity

 

违反:

如果所有的行都按照指定的相同顺序(和相同的集合)出现在配置文件中。

 

 

simple-criteria-v12  simple-criteria-new-rule-v12

 

高级标准

您可以使用某些正则表达式来提供检查配置是否符合合规性的标准。以下是以下几个例子:

正则表达式的模式以及描述

匹配特定的字符

 

方括号内的字符可用于匹配其中提到的任何字符。

例如:

[abc] - 这是查找任何字符a、b或c。匹配区分大小写。

 

匹配一系列字符或数字

 

方括号内的字符范围可用于匹配其中指定范围内的任何字符。 字符范围可以是字母或数字。 匹配区分大小写。

例如:

[a-zA-Z] - 这将匹配任何字符a到z或A到Z

[0-9] - 这将匹配从0到9的任何数字

 

其他特定匹配项

. 点可用于匹配任何单个字符,包括空格。

d 匹配从0到9的任何数字。

D 匹配除数字以外的任何字符(0-9)。

s 匹配单个空格字符。

S 匹配除空格以外的任何字符。

X? 问号前面有一个字符,这个字符(在此示例中为'X')最多可以出现一次或根本不出现。

X* 星号前面有一个字符,这个字符(在此示例中为'X')可以出现任意次数或根本不出现。

X+ 加号前面有一个字符,这个字符(在此示例中为'X')必须至少出现一次。

X|Y 字符由竖线符号分隔。这是匹配第一个字符或下一个字符。在此处的示例中,这是匹配X或Y。

 

更多详细信息,请参阅Java教程的"正则表达式教程"。

更多示例:

描述

正则表达式模式

检查是否配置了启用密钥。

 

enable secret d S+ - 匹配包含文本“enable secret”的任何行,后面跟着从0到9的任何单个数字以及除空格以外的任何字符至少出现一次。

检查配置中是否存在'public'社区。

snmp-server community public RO|RW - 匹配包含文本"snmp-server community public"后面跟着"RO"或者"RW"的任何行。

检查是否已配置了将日志记录到syslog服务器。

logging S+ - 匹配包含文本"logging"后面跟着ip地址的任何行。

 

 

 

 

标准

描述

示例

应该包含

要检查合规性的配置应包含与您指定的RegEx模式相匹配的行。

标准:应包含根据RegEx模式定义的行。

要检查的配置行:

snmp-server community public RO|RW

违规:如果“snmp-server community public”行后跟“RO”或“RW”,则表明它不存在。

应该不包含

要检查的配置不应该包含与您指定的RegEx模式匹配的行。

标准:不应包含根据RegEx模式定义的行。

要检查的配置行:

snmp-server community public RO|RW

违规:如果存在,那么“snmp-server community public”行后跟“RO”或“RW”。

AND/OR条件的使用

为“应该包含”或“不应包含”定义的两个或多个RegEx模式可以通过AND/OR条件组合。

--

 

advanced-criteria-v12  advanced-criteria-new-rule-v12

 

高级自定义标准

如上所述,“高级自定义标准”只是“高级标准”的扩展,它有助于定义选择性合规检查所需配置块的开始和结束。“简单标准”和“高级标准”都用于检查设备的整个配置是否符合规则。可能需要检查配置的特定部分是否符合规则。

例如,假设在某些Cisco交换机中,管理员想要检查是否为所有接口块编写了描述。因此必须检查每个接口块是否符合此规则,但设备配置将有许多具有不同名称的接口块。所以您无法使用前两个标准选项定义合适的合规性规则来检查所有接口块。它们只会帮助定义一个常量规则来检查一次整个配置,而不是每个接口块。

在这种情况下,管理员可以使用“高级自定义标准”来实现此目的。他可以简单地定义接口块的开始和结束,并创建一个高级自定义标准。完成此操作后,Network Configuration Manager会将配置拆分为配置块并检查是否符合合规性。每个区块的合规结果都有单独的报表。然后管理员很容易找到哪些配置块没有启用全双工连接并相应地采取补救措施。

此外,您还可以通过“附加块标准”指定一些额外的条件。这使您可以选择排除上面指定的接口块内的任何配置块,从而进行合规性检查。(请参阅下面的示例以便您更好的理解)。

在这种情况下定义标准与“高级标准”完全相同。因此“高级标准”和“高级自定义标准”之间的唯一区别是用户可以定义所需配置块的开始和结束,从而进行选择性合规检查。


指定配置的开始和结束

 

考虑Cisco交换机中的以下配置块:

 

interface FastEthernet0/0

description branch office 1 connectivity

ip address 192.168.118.32 255.255.255.0

service-policy output Stream

!

interface FastEthernet0/1

description branch office 2 connectivity

ip address 192.168.118.32 255.255.255.0

service-policy output Stream

!

 

如果要检查是否所有接口块都配置了描述,则需要在文本字段中将“配置块开始”指定为接口。同样地,对于“配置块结束”,您可以输入!在文本字段中。

您可以按照上面“高级标准”的说明来定义规则的条件。对于检查配置块描述的特定示例,该规则将如下面的屏幕截图所示。

如果您想排除已关闭的接口执行合规性检查,您可以包括“附加块标准”。在“高级块标准”的下拉列表中,选择条件“不应包含”并在文本字段中输入“shutdown”一词。当您这样做时,在检查所有接口块是否包含描述时,关闭块将被排除在合规性检查之外。

 

advanced-custom-criteria-v12  advanced-custom-criteria-new-rule-v12

 

Network Configuration Manager如何检查合规性?

当您按上述方式指定时,配置中的所有块都以单词“interface”开头并以 ! 将测试是否符合定义的标准。每个此类配置块的合规性结果将单独呈现。总体结果将基于所有单个结果的'AND'来呈现。即使只有一个配置块显示违规,总体结果也将是“违规”。您可以深入挖掘报表,分析单个结果并找出违规行为的问题所在。

  • 最后指定违规的严重性。如果有过补救配置命令请选择,并提供补救描述。

  • 点击"保存"。

 

2. 将规则分组

您可以创建许多规则来满足特定要求。“规则组”是指规则的集合,通过选择所需的规则创建一个“规则组”。

创建规则组,

  1. 点击合规性选项卡 >> 规则组 >> "+"。输入规则组名称、描述和其他详细信息。

  2. 选择要添加到该组的规则。点击“保存”。

 

3. 创建策略

创建规则组后,您可以通过选择所需的规则组继续创建所需的合规性策略。 对与设备关联的所有策略进行合规性检查。

创建策略,

  1. 点击合规性选项卡 >> 策略 >> "+",之后请输入策略名称、描述和其他详细信息。

  2. 指定应检查此策略中规则的配置文件类型(运行/启动)。 例如,如果您选择“运行”,则只会检查设备的当前运行配置是否符合此策略。

  3. 选择“违反策略标准”——即指定违反策略的程度,您的策略可能包含具有不同严重性的不同规则;您可以在此处指定为违规

    • 如果发现任何规则违规(无论严重程度如何)。(或者)
    • 仅违反关键或主要规则。
  4. 选择所需的规则组,然后点击“保存”。

 

4. 将设备与合规性策略相关联

创建策略后,您需要将其与所需的设备/设备组关联。

将策略与设备关联,

  1. 点击合规性 >> 策略。点击根据该策略显示的“关联设备”链接。

  2. 选择设备/设备组,然后点击“保存”。

 

运行合规性检查

将策略与设备或设备组关联后,您就可以运行合规性检查了。

对单个设备运行合规性检查,

  1. 进入特定设备的“设备详细信息”页面。

  2. 点击“更多操作”下的“运行合规性检查”。您甚至可以在未来某个时间点添加一个执行合规检查计划。要安排此计划,请进入设置 >> NCM >> 所有计划 >> "计划合规性检查",之后填写详细信息。当您安排合规检查时,您可以选择通过电子邮件将违反策略的情况通知给所需的收件人。

对设备组运行合规性检查,

  1. 进入"资源清单" >> "设备组"页面,然后点击必须对其运行合规检查的设备组。

  2. 点击“更多操作”下的“运行合规性检查”。您甚至可以在未来某个时间点添加一个执行合规检查计划。要安排此计划,请进入设置 >> NCM >> 所有计划 >> "计划合规性检查",之后填写详细信息。当您安排合规检查时,您可以选择通过电子邮件将违反策略的情况通知给所需的收件人。

 

运行临时测试

在合规策略创建的任何阶段(规则创建、规则组创建和策略创建),您都可以执行临时检查以测试您添加的规则/规则组/策略的有效性。临时测试描述了当时的结果。添加规则后,您可以通过点击合规性选项卡 >> 规则中的“临时测试”按钮对设备/设备组执行临时测试。或者您也可以从合规性选项卡 >> 规则组GUI和合规性策略 >> 策略GUI。