合规策略与规则
探索我们 NCM 工具中提供的默认合规规则,并验证违规判定标准。同时查看合规策略及其关联的规则。
策略
CIS Cisco IOS 策略
| 描述 | 配置类型 | 策略违规判定标准 |
| Cisco IOS 设备的 CIS 标准 | 运行中 | 仅当本策略中的严重或主要规则被违反时 |
CIS Cisco IOS 策略中的合规规则
| 合规规则名称 | 描述 | 严重性 | 标准 | 条件 | 模式 |
| Set 'logging source interface' | 检查系统日志数据包的源 IPv4 或 IPv6 地址。 | 主要 | 简单 | should contain all lines; any time(s) | ^logging source.*$ |
| Set 'service timestamps debug datetime' | 验证调试消息或系统日志消息的时间戳。 | 主要 | 简单 | should contain all lines; any time(s) | ^service timestamps debug datetime.* |
| Set 'login success/failure logging' | 检查是否存在登录日志。若不生成符合组织安全和业务需求的审计记录,将难以建立、关联和调查与事件相关的活动,或确定责任人。 | 主要 | 高级 | should contain; any time(s) | \s*login on-failure log.* (and) \s*login on-success log.* |
| Set 'logging console critical' | 验证是否已启用设备控制台日志记录,并将其限制在合理的严重性级别,以免影响系统性能和管理。 | 主要 | 简单 | should contain all lines; any time(s) | \s*logging console critical.* |
| Set 'buffer size' for 'logging buffered' | 检查是否已启用将系统消息记录到本地缓冲区的功能。 | 主要 | 简单 | should contain all lines; any time(s) | \s*logging buffered \d+.* |
| Set 'logging trap informational' | 检查是否存在根据严重性级别记录到 syslog 服务器的消息。 | 主要 | 简单 | should contain all lines; any time(s) | ^logging trap informational.* |
| Set IP address for 'logging host' | 检查是否已启用将系统日志消息和调试输出发送到远程主机的功能。 | 主要 | 简单 | should contain all lines; any time(s) | \s*logging host\s(ipv6\s)?[\d+|\w+|\.|:]+.* |
| Set 'no ip proxy-arp' | 检查是否已在所有接口上禁用代理地址解析协议(ARP)。 | 主要 | 自定义 | Parse as: Multi Line Block | Configuration Block Start: interface Configuration Block End: ! Configuration Block: none Condition: should contain; Pattern: no ip proxy-arp; any time(s) |
| Set 'ip verify unicast source reachable-via' | 检查配置块,判断源地址是否在转发信息库(FIB)中,并仅在源地址可通过接收数据包的接口到达时才允许通过,这有时被称为严格模式。 | 主要 | 自定义 | Parse as: Multi Line Block | Configuration Block Start: interface Configuration Block End: ! Configuration Block: none Condition: should contain; Pattern: ip verify \S+ source; any time(s) |
| Set 'no interface tunnel' | 验证是否未定义任何隧道接口。 | 主要 | 自定义 | Parse as: Multi Line Block | Configuration Block Start: interface Configuration Block End: ! Configuration Block: none Condition: should not contain; Pattern: tunnel; any time(s) |
| Set AAA 'source-interface' | 验证是否已为所有出站 AAA 数据包强制使用指定接口的 IP 地址。 | 主要 | 简单 | should contain all lines; any time(s) | .*(radius|tacacs) source-interface.* |
| Create a single 'interface loopback' | 验证是否已配置单个环回接口。 | 主要 | 简单 | should contain all lines; any time(s) | \s*interface [Ll]oopback\S+.* |
| Set 'ip tftp source-interface' to the Loopback Interface | 验证是否已将某接口的 IP 地址指定为 TFTP 连接的源地址。 | 主要 | 简单 | should contain all lines; any time(s) | \s*tftp source-interface.* |
| Set 'ntp source' to Loopback Interface | 检查 NTP 数据包中是否使用了特定的源地址。 | 主要 | 简单 | should contain all lines; any time(s) | \s*ntp source.* |
| Set the 'banner-text' for 'banner login' | 在 banner login 命令后跟一个或多个空格及您选择的分隔符,然后输入一行或多行文本,并以分隔符的第二次出现结束消息。 | 主要 | 高级 | should contain; any time(s) | banner login |
| Set the 'banner-text' for 'banner exec' | 此命令指定在创建 EXEC 进程时显示的消息。在此命令后跟一个或多个空格及您选择的分隔符,然后输入一行或多行文本,并以分隔符的第二次出现结束消息。 | 主要 | 高级 | should contain; any time(s) | banner exec |
| Set the 'banner-text' for 'webauth banner' | 此横幅将显示给所有已连接的终端,可用于发送影响所有用户的消息,例如即将进行的系统关机通知。使用 no exec-banner 或 no motd-banner 命令可在某一线路上禁用横幅。no exec-banner 命令同时也会禁用该线路上的 EXEC 横幅。 | 主要 | 高级 | should contain; any time(s) | ip admission auth-proxy-banner http |
| Set the 'banner-text' for 'banner motd' | 检查是否存在 MOTD 横幅。MOTD 横幅将显示给所有已连接的终端,可用于发送影响所有用户的消息,例如即将进行的系统关机通知。使用 no exec-banner 或 no motd-banner 命令可在某一线路上禁用 MOTD 横幅。no exec-banner 命令同时也会禁用该线路上的 EXEC 横幅。 | 主要 | 高级 | should contain; any time(s) | banner motd |
| Set 'transport input none' for 'line aux 0' | 检查某条线路上是否仅存在出站连接。 | 主要 | 自定义 | Parse as: Multi Line Block | Configuration Block Start: line Configuration Block End: Configuration Block: should contain: aux Condition: should contain; Pattern: ip verify \S+ source; any time(s) |
| Set 'exec-timeout' to less than or equal to 10 minutes 'line vty' | 检查 exec-timeout 命令是否小于或等于十分钟。若在此间隔内未检测到输入,EXEC 功能将恢复当前连接;若不存在连接,EXEC 功能将使终端返回空闲状态并断开入站会话。 | 主要 | 自定义 | Parse as: Multi Line Block | Configuration Block Start: line Configuration Block End: Configuration Block: should contain: vty Condition: should contain; Pattern: ^\s*(exec-timeout)\s*((10)|([0-9]))\s*[\d+]*\s*$; any time(s) |
| Set 'exec-timeout' to less than or equal to 10 min on 'ip http' | 检查 HTTP 上的超时时间是否小于或等于十分钟。若在此间隔内未检测到输入,EXEC 功能将恢复当前连接;若不存在连接,EXEC 功能将使终端返回空闲状态并断开入站会话。 | 主要 | 简单 | should contain all lines; any time(s) | ip http timeout-policy |
| Do not set 'RW' for any 'snmp-server community' | 指定读写访问权限。授权的管理站既可检索也可修改 MIB 对象。 | 主要 | 简单 | should not contain any line; any time(s) | .*snmp-server community.* |
| Unset 'public' for 'snmp-server community' | 检查是否存在允许对所有对象进行只读访问的 SNMP 团体字符串。 | 主要 | 简单 | should not contain any line; any time(s) | .*snmp-server community public.* |
| Set 'priv' for each 'snmp-server group' using SNMPv3 | 检查使用 SNMPv3 时是否指定了带加密的数据包认证。 | 主要 | 简单 | should contain all lines; any time(s) | .*snmp-server group.*v3\s*priv |
| Unset 'private' for 'snmp-server community' | 检查是否存在允许对所有对象进行只读访问的 SNMP 团体字符串。 | 主要 | 简单 | should not contain any line; any time(s) | .*snmp-server community private.* |
| Set 'no snmp-server' to disable SNMP when unused | 检查简单网络管理协议(SNMP)的读写访问在不使用时是否已被禁用。 | 主要 | 简单 | should not contain any line; any time(s) | \s*snmp-server.* |
| Set 'no service dhcp' | 检查路由器上的动态主机配置协议(DHCP)服务器和中继代理功能是否已被禁用。 | 主要 | 简单 | should contain all lines; any time(s) | .*no service dhcp.* |
| Set 'no ip bootp server' | 检查路由设备上的引导协议 BOOTP 服务是否已被禁用。 | 主要 | 简单 | should contain all lines; any time(s) | .*ip dhcp bootp ignore.* |
| Set 'service tcp-keepalives-in' | 检查空闲入站网络连接上是否存在 keepalive 数据包。 | 主要 | 简单 | should contain all lines; any time(s) | .*service tcp-keepalives-in.* |
| Set 'no ip identd' | 检查是否存在 identd 标识服务器。 | 主要 | 简单 | should not contain any line; any time(s) | .*identd.* |
| Configure Login Block | 检查配置文件中的登录块。默认情况下应禁用所有登录参数。在使用任何其他登录命令之前,必须先执行 login block-for 命令以启用默认登录功能。 | 主要 | 简单 | should contain all lines; any time(s) | .*login block.* |
| Require 'aes 128' as minimum for 'snmp-server user' when using SNMPv3 | 检查使用 SNMPv3 时是否指定了最低使用 128 位 AES 算法进行加密。 | 主要 | 简单 | should contain all lines; any time(s) | .*snmp-server user.*v3 auth sha.*priv aes 128.* |
| Set 'no cdp run' | 检查是否已在设备级别禁用 Cisco 发现协议(CDP)服务。 | 主要 | 简单 | should contain all lines; any time(s) | .*no cdp run.* |
| Set the 'ip domain-name' | 检查是否已定义默认域名。Cisco IOS 软件使用该域名补全非完整限定主机名。 | 主要 | 简单 | should contain all lines; any time(s) | \s*p\s+domain(-|\s+)name\s+\S+ |
| Set 'logging enable' | 检查是否已启用系统消息的日志记录。 | 主要 | 简单 | should contain all lines; any time(s) | \s*logging host .* |
| Set 'no service pad' | 检查是否已禁用 X.25 分组装拆器(PAD)服务。 | 主要 | 简单 | should contain all lines; any time(s) | .*no service pad.* |
| Set 'service tcp-keepalives-out' | 检查空闲出站网络连接上是否已设置 keepalive 数据包。 | 主要 | 简单 | should contain all lines; any time(s) | .*service tcp-keepalives-out.* |
| Set version 2 for 'ip ssh version' | 检查是否已指定在路由器上运行的安全外壳(SSH)版本。 | 主要 | 简单 | should contain all lines; any time(s) | .*ip\sssh\sversion\s2.* |
| Set 'exec-timeout' to less than or equal to 10 minutes 'line console 0' | 检查 'exec-timeout' 是否小于或等于 10 分钟('line console 0')。 | 主要 | 自定义 | Parse as: Multi Line Block | Configuration Block Start: line Configuration Block End: Configuration Block should contain: console Condition: should contain; Pattern: ^\s*(exec-timeout)\s*((10)|([0-9]))\s*[\d+]*\s*$; any time(s) |
| Set 'exec-timeout' to less than or equal to 10 minutes for 'line aux 0' | 检查 'exec-timeout' 是否小于或等于十分钟。若在此间隔内未检测到输入,EXEC 功能将恢复当前连接;若不存在连接,EXEC 功能将使终端返回空闲状态并断开入站会话。 | 主要 | 自定义 | Parse as: Multi Line Block | Configuration Block Start: line Configuration Block End: Configuration Block: should contain: aux Condition: should contain; Pattern: ^\s*(exec-timeout)\s*((10)|([0-9]))\s*[\d+]*\s*$; any time(s) |
| Set 'ip address' for 'ntp server' | 检查系统是否被允许与指定的 NTP 服务器同步系统软件时钟。 | 严重 | 简单 | should contain all lines; any time(s) | \s*ntp server \S+.* |
| Set 'no ip source-route' | 检查是否已禁用对带有源路由头选项的 IP 数据报的处理。 | 严重 | 简单 | should contain all lines; any time(s) | \s*no ip source-route.* |
| Set inbound 'ip access-group' on the External Interface | 检查是否存在 ip access-group。此命令将路由器置于访问列表配置模式,您必须使用 deny 和 permit 命令定义拒绝或允许的访问条件。 | 严重 | 自定义 | Parse as: Multi Line Block | Configuration Block Start: interface Configuration Block End: ! Configuration Block: none Condition: should contain; Pattern: ip access-group\s*\d+\s*in; any time(s) |
| Set 'ip access-list extended' to Forbid Private Source Addresses from External Networks | 检查是否存在 ip access-list。此命令将路由器置于访问列表配置模式,您必须使用 deny 和 permit 命令定义拒绝或允许的访问条件。 | 严重 | 简单 | should contain all lines; any time(s) | .*ip access-list \S+.* |
| Set 'http Secure-server' limit | 检查是否已为连接数设置最大限制。设备管理包括控制管理设备的管理员数量和管理会话数的能力。根据账户类型、角色或访问类型限制允许的管理员数量和每个管理员的会话数,有助于降低拒绝服务(DoS)攻击的风险。 | 严重 | 高级 | should contain; any time(s) | ip http secure-server (and) ip http max-connections \d+ |
| Set 'snmp-server enable traps snmp' | 检查是否可以将 SNMP 通知以 trap 形式发送到授权管理系统。 | 严重 | 简单 | should contain all lines; any time(s) | .*snmp-server enable traps snmp.* |
| Enable 'service password-encryption' | 检查是否已启用密码加密,以及在输入 system:running-config 命令时是否显示密码的加密形式。 | 严重 | 高级 | should contain; any time(s) | service password-encryption |
| Set 'password' for 'enable secret' | 检查是否已启用 secret 密码。 | 严重 | 高级 | should contain; any time(s) | enable secret |
| AutoSecure | 检查是否存在 AutoSecure。AutoSecure 功能通过单条 CLI 命令禁用可被网络攻击利用的常见 IP 服务,从而保护路由器安全。同时启用有助于在受攻击时保护网络的 IP 服务和功能,并简化和加固路由器的安全配置。 | 严重 | 简单 | should contain all lines; any time(s) | .*auto secure.* |
| 路由器在断开未完成的登录尝试前等待 SSH 客户端响应的时间间隔。 | 检查是否存在超时设置。 | 严重 | 简单 | should contain all lines; any time(s) | \s*ip\sssh\stime(-|\s*)out\s(60|[1-5][0-9]|[1-9]) |
| Set maximum value for 'ip ssh authentication-retries' | 检查 SSH 登录会话断开前的重试次数是否少于三次。 | 严重 | 简单 | should contain all lines; any time(s) | \s*ip\sssh\sauthentication\Sretries\s[1-3]\s* |
| Set the 'hostname' | 检查是否已设置 'hostname'。 | 严重 | 简单 | should contain all lines; any time(s) | \s*hostname\s*\S+ |
| Set 'login authentication for 'ip http' | 检查是否存在 IP 认证。若账户管理功能未被自动执行,攻击者可能获得对网络安全架构关键要素的特权访问。 | 严重 | 简单 | should contain all lines; any time(s) | \s*ip\s+http\s+authentication(\s+\S+)? |
| Set 'login authentication for 'line vty' | 检查是否存在登录认证。 | 严重 | 自定义 | Parse as: Multi Line Block | Configuration Block Start: line vty Configuration Block End: Configuration Block: none Condition: should contain; Pattern: login authentication; any time(s) |
| Set 'aaa accounting connection' | 检查是否存在 'aaa accounting connection'。 | 严重 | 简单 | should contain all lines; any time(s) | aaa accounting connection |
| Set 'aaa accounting' to log all privileged use commands using 'commands 15' | 检查是否存在 'aaa accounting' 命令。该命令对指定特权级别的所有命令执行计费。 | 严重 | 简单 | should contain all lines; any time(s) | aaa accounting commands \d+ |
| Enable 'aaa new-model' | 检查是否存在 'aaa new-model'。此命令用于启用 AAA 访问控制系统。 | 严重 | 简单 | should contain all lines; any time(s) | aaa new-model |
| Enable 'aaa authentication enable default' | 检查是否存在 'aaa authentication enable'。该命令用于对通过 enable 命令访问特权 EXEC 模式的用户进行认证。 | 严重 | 简单 | should contain all lines; any time(s) | aaa authentication enable |
| Enable 'aaa authentication login' | 检查是否存在 'aaa authentication login'。在登录时设置认证、授权和计费(AAA)认证。 | 严重 | 简单 | should contain all lines; any time(s) | ^\s*aaa\s+authentication\s+login(\s+.*)?$ |
| Set 'access-class' for 'line vty' | 检查是否为 line vty 设置了 access-class。'access-class' 设置限制了特定 vty 进入 Cisco 设备与访问列表中地址关联的网络设备之间的入站和出站连接。 | 严重 | 自定义 | Parse as: Multi Line Block | Configuration Block Start: line vty Configuration Block End: Configuration Block: none Condition: should contain; Pattern: access-class; any time(s) |
| Set 'no exec' for 'line aux 0' | 检查是否存在 'no exec' 行。'no exec' 命令将某条线路限制为仅允许出站连接。 | 严重 | 自定义 | Parse as: Multi Line Block | Configuration Block Start: line Configuration Block End: Configuration Block: should contain: no exec Condition: should contain; Pattern: no exec; any time(s) |
| Set 'aaa accounting network' | 检查是否存在 'aaa accounting network'。 | 严重 | 简单 | should contain all lines; any time(s) | aaa accounting network |
| Set 'aaa accounting exec' | 检查是否存在 'aaa accounting exec'。 | 严重 | 简单 | should contain all lines; any time(s) | aaa accounting exec |
| Set 'transport input ssh' for 'line vty' connections | 检查 line vty 中是否存在 'transport input ssh'。选择 SSH 协议。 | 严重 | 自定义 | Parse as: Multi Line Block | Configuration Block Start: line vty Configuration Block End: Configuration Block: none Condition: should contain; Pattern: transport input ssh; any time(s) |
| Set 'aaa accounting system' | 检查是否存在 'aaa accounting system'。 | 严重 | 简单 | should contain all lines; any time(s) | aaa accounting system |
SOX 策略
| 描述 | 配置类型 | 策略违规判定标准 |
| SOX 合规策略 | 运行中 | 仅当本策略中的严重或主要规则被违反时 |
SOX 策略中的合规规则
| 合规规则名称 | 描述 | 严重性 | 标准 | 条件 | 模式 |
| NoPublicCommunity | 检查配置文件中是否存在 public 团体字符串。 | 主要 | 简单 | should not contain any line; any time(s) | snmp-server community public RO snmp-server community public RW |
| SrPasswordEncryptionEnabled | 检查是否已启用服务密码加密。 | 严重 | 简单 | should contain all lines; any time(s) | service password-encryption |
| EnableSecretConfigured | 检查是否已配置 enable secret 规则。 | 严重 | 高级 | should contain; any time(s) | enable secret \d \S+ |
| ConsoleTimeOut | 检查是否已设置控制台空闲超时。 | 严重 | 简单 | should contain all lines; any time(s) | exec-timeout (([1-9][\d]* ?[\d]*)|([\d]* [1-9][\d]*)) |
| EnableLoginFailureLogs | 检查是否已配置登录失败尝试日志。 | 严重 | 简单 | should contain all lines; any time(s) | security authentication failure rate \d+ log \S* |
| SrPasswordLengthEnabled | 检查是否已启用服务密码最小长度要求。 | 警告 | 简单 | should contain all lines; any time(s) | security passwords min-length \d+ \S* |
HIPAA 策略
| 描述 | 配置类型 | 策略违规判定标准 |
| HIPAA 合规策略 | 运行中 | 仅当本策略中的严重或主要规则被违反时 |
HIPAA 策略中的合规规则
| 合规规则名称 | 描述 | 严重性 | 标准 | 条件 | 模式 |
| NBAREnabled | 检查是否使用了 NBAR。 | 主要 | 简单 | should contain all lines; any time(s) | ip nbar protocol-discovery |
| NoPublicCommunity | 检查配置文件中是否存在 public 团体字符串。 | 主要 | 简单 | should not contain any line; any time(s) | snmp-server community public RO snmp-server community public RW |
| NATEnabled | 检查是否使用了 NAT。 | 严重 | 简单 | should contain all lines; any time(s) | ip nat |
| SrPasswordEncryptionEnabled | 检查是否已启用服务密码加密。 | 严重 | 简单 | should contain all lines; any time(s) | service password-encryption |
| EnableLoginFailureLogs | 检查是否已配置登录失败尝试日志。 | 严重 | 简单 | should contain all lines; any time(s) | security authentication failure rate \d+ log \S* |
| SrPasswordLengthEnabled | 检查是否已启用服务密码最小长度要求。 | 警告 | 简单 | should contain all lines; any time(s) | security passwords min-length \d+ \S* |
CIS Cisco ASA 策略
| 描述 | 配置类型 | 策略违规判定标准 |
| Cisco ASA 设备的 CIS 标准 | 运行中 | 仅当本策略中的严重或主要规则被违反时 |
CIS Cisco ASA 策略中的合规规则
| 合规规则名称 | 描述 | 严重性 | 标准 | 条件 | 模式 | |
| Ensure 'Master Key Passphrase' is set | 检查用于加密配置文件中应用程序密钥的主密钥口令(适用于 8.3(1) 及以上版本)。 | 主要 | 高级 | should contain all lines; any time(s) | [vV]ersion\s*9.[0-9] (and) key 6 | |
| Ensure 'Password Recovery' is disabled | 检查密码恢复功能是否已被禁用。 | 主要 | 高级 | should contain; any time(s) | password.*recovery | |
| Ensure 'Password Policy' is enabled | 检查是否通过设置符合要求的本地密码策略来强制执行安全设备的密码策略。 | 主要 | 高级 | should contain; any time(s) | password-policy lifetime (\d+) (and) password-policy minimum-changes (\d+) (and) password-policy minimum-uppercase (\d+) (and) password-policy minimum-lowercase (\d+) (and) password-policy minimum-numeric (\d+) (and) password-policy minimum-special (\d+) (and) password-policy minimum-length (\d+) | |
| Ensure 'Domain Name' is set | 检查安全设备的域名是否已设置。 | 主要 | 高级 | should contain; any time(s) | domain-name | |
| Ensure 'Host Name' is set | 验证设备的默认主机名是否已更改。 | 主要 | 高级 | should contain; any time(s) | hostname\s+\S+ | |
| Ensure 'Failover' is enabled | 验证是否已启用安全设备与另一安全设备之间的高可用性故障转移。 | 主要 | 高级 | should contain; any time(s) | failover | |
| Ensure 'aaa local authentication max failed attempts' is set to less than or equal to '3' | 验证是否已设置本地用户在被锁定前可输入错误密码的最大次数限制。 | 主要 | 简单 | should contain all lines; any time(s) | \s*aaa local authentication attempts max-fail (\d+).* | |
| Ensure 'local username and password' is set | 检查是否已设置本地用户名和密码。 | 主要 | 简单 | should contain all lines; any time(s) | \s*username.*password.*encrypted.* | |
| Ensure known default accounts do not exist | 验证是否存在已知的默认账户配置。 | 主要 | 简单 | should contain all lines; any time(s) | \s*username (\S*admin|\S*asa|\S*cisco|\S*pix|\S*root).* | |
| Ensure 'TACACS+/RADIUS' is configured correctly | 验证是否已指定 AAA 服务器组及使用 TACACS+ 或 RADIUS 协议的各个服务器。 | 主要 | 高级 | should contain; any time(s) | aaa-\S*[Ss]erver.*protocol (and) aaa-\S*[Ss]erver.*host | |
| Ensure 'aaa authentication enable console' is configured correctly | 检查通过 'enable' 命令访问 Enable 模式(特权 EXEC 模式)的用户是否已通过认证。 | 主要 | 简单 | should not contain any line; any time(s) | \s*aaa authentication enable console.* | |
| Ensure 'aaa authentication secure-http-client' is configured correctly | 检查是否提供了安全方法,以防止用户名和密码以明文形式发送。 | 主要 | 简单 | should not contain any line; any time(s) | \s*aaa authentication secure-http-client.* | |
| Ensure 'aaa authentication serial console' is configured correctly | 检查通过串行控制台端口访问安全设备的用户是否已通过认证。 | 主要 | 简单 | should not contain any line; any time(s) | \s*aaa authentication serial console.* | |
| Ensure 'aaa authentication ssh console' is configured correctly | 检查通过 SSH 访问设备的用户是否已通过认证。 | 主要 | 简单 | should not contain any line; any time(s) | \s*aaa authentication ssh console.* | |
| Ensure 'aaa command authorization' is configured correctly | 检查管理员用户输入命令的授权来源是否正确配置。 | 主要 | 简单 | should not contain any line; any time(s) | \s*aaa authorization command.* | |
| Ensure 'aaa authorization exec' is configured correctly | 检查对特权 EXEC 模式的访问是否已受到限制。 | 主要 | 简单 | should not contain any line; any time(s) | \s*aaa authorization exec authentication-server.* | |
| Ensure 'aaa accounting command' is configured correctly | 检查是否通过指定记录管理员输入的每条命令(或指定特权级别及以上的命令)并发送到计费服务器来实现管理访问计费。 | 主要 | 简单 | should not contain any line; any time(s) | \s*aaa accounting command.* | |
| Ensure 'aaa accounting for SSH' is configured correctly | 检查是否已通过指定 SSH 会话的开始和结束来启用管理访问计费。 | 主要 | 简单 | should not contain any line; any time(s) | \s*aaa accounting ssh console.* | |
| Ensure 'aaa accounting for Serial console' is configured correctly | 检查是否已通过指定串行控制台会话的开始和结束来启用管理访问计费。 | 主要 | 简单 | should not contain any line; any time(s) | \s*aaa accounting serial console.* | |
| Ensure 'aaa accounting for EXEC mode' is configured correctly | 检查是否已通过指定 EXEC 会话的开始和结束来启用管理访问计费。 | 主要 | 简单 | should not contain any line; any time(s) | \s*aaa accounting enable console.* | |
| Ensure 'ASDM banner' is set | 检查 ASDM 访问的横幅消息。 | 主要 | 高级 | should contain; any time(s) | banner asdm | |
| Ensure 'SSH source restriction' is set to an authorized IP address | 检查允许通过 SSH 连接到安全设备的客户端 IP 地址。 | 主要 | 高级 | should contain; any time(s) | ssh\s+[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\s+[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} | |
| Ensure 'SSH version 2' is enabled | 检查 SSH 版本是否已设置为 2。 | 主要 | 高级 | should contain; any time(s) | ssh version 2 | |
| Ensure 'SCP protocol' is set to Enable for files transfers | 检查是否已启用安全复制协议(SCP)。 | 主要 | 高级 | should contain; any time(s) | ssh [s]*copy enable | |
| Ensure 'Telnet' is disabled | 检查在已配置 Telnet 的情况下,是否已禁用对安全设备的 Telnet 访问。 | 主要 | 高级 | should not contain; any time(s) | telnet [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} \S* | |
| Ensure 'HTTP source restriction' is set to an authorized IP address | 检查允许通过 HTTP 连接到安全设备的客户端 IP 地址。 | 主要 | 高级 | should contain; any time(s) | http [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} [0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} \S* | |
| Ensure 'TLS 1.2' is set for HTTPS access | 检查 SSL 服务器版本是否已设置为 TLS 1.2。 | 主要 | 高级 | should contain; any time(s) | ssl (encryption|cipher) \S+ | |
| Ensure 'SSL AES 256 encryption' is set for HTTPS access | 检查 SSL 加密算法是否已设置为 AES 256。 | 主要 | 高级 | should contain; any time(s) | ssl cipher tlsv1.2Custom AES256-SHA | |
| Ensure 'console session timeout' is less than or equal to '5' minutes | 检查是否已为控制台会话设置空闲超时,以便安全设备在超时后终止会话。 | 主要 | 高级 | should contain; any time(s) | console timeout (\d+) | |
| Ensure 'SSH session timeout' is less than or equal to '5' minutes | 检查是否已为 SSH 会话设置空闲超时,以便安全设备在超时后终止会话。 | 主要 | 高级 | should contain; any time(s) | ssh timeout (\d+) | |
| Ensure 'HTTP idle timeout' is less than or equal to '5' minutes | 检查是否已为 HTTP 会话设置空闲超时,以便安全设备在超时后终止会话。 | 主要 | 高级 | should contain; any time(s) | http server idle-timeout (\d+) | |
| Ensure 'NTP authentication' is enabled | 检查是否已启用 NTP 认证,以便仅从可信来源接收时间信息。 | 主要 | 高级 | should contain; any time(s) | ntp authenticate | |
| Ensure 'NTP authentication key' is configured correctly | 检查用于认证 NTP 服务器的密钥是否已设置。 | 主要 | 高级 | should contain; any time(s) | ntp authentication-key.*md5.* | |
| Ensure 'trusted NTP server' exists | 检查 NTP 服务器中是否已启用认证以接收时间信息。 | 主要 | 高级 | should contain; any time(s) | ntp \S*[Ss]erver.*key.* | |
| Ensure 'local timezone' is properly configured | 检查是否已设置本地时区信息,以使 ASA 显示的时间对查看者更具参考意义。 | 主要 | 高级 | should contain; any time(s) | clock timezone | |
| Ensure 'logging' is enabled | 检查是否已启用日志记录。 | 主要 | 高级 | should contain; any time(s) | logging enable | |
| Ensure 'logging to Serial console' is disabled | 检查是否已禁用向串行控制台的日志记录。 | 主要 | 高级 | should not contain; any time(s) | logging console | |
| Ensure 'logging to monitor' is disabled | 检查是否已禁用向监视器的日志记录。 | 主要 | 高级 | should not contain; any time(s) | logging monitor | |
| Ensure 'logging with the device ID' is configured correctly | 检查生成的日志中是否包含设备 ID。 | 主要 | 高级 | should contain; any time(s) | logging device-id | |
| Ensure 'logging history severity level' is set to greater than or equal to '5' | 检查日志历史的严重性级别是否大于或等于 5。 | 主要 | 高级 | should contain; any time(s) | logging history ([5-9]|\d{2,}) | |
| Ensure 'logging with timestamps' is enabled | 检查生成的日志中是否存在时间戳。 | 主要 | 高级 | should contain; any time(s) | logging timestamp | |
| Ensure 'logging buffer size' is greater than or equal to '524288' bytes (512kb) | 检查用于存储日志的本地缓冲区大小是否超过 512KB,以便管理员查看。 | 主要 | 高级 | should contain; any time(s) | logging buffer-size ([5-9]\d{5,}) | |
| Ensure 'logging buffered severity level' is greater than or equal to '3' | 检查存储在本地缓冲区中的日志严重性级别是否大于 3。 | 主要 | 高级 | should contain; any time(s) | logging buffered ([3-9]\d{2,}) | |
| Ensure 'logging trap severity level' is greater than or equal to '5' | 确定应将哪些 syslog 消息发送到 syslog 服务器。 | 主要 | 高级 | should contain; any time(s) | logging trap ([5-9]|\d{2,}) | |
| Ensure email logging is configured for critical to emergency | 为严重至紧急级别的日志启用向电子邮件收件人发送日志的功能。 | 主要 | 高级 | should contain; any time(s) | logging mail critical | |
| Ensure 'snmp-server user' is set to 'v3 auth SHA' | 检查 SNMP v3 用户是否使用了 SHA 认证和 AES-256 加密。 | 主要 | 高级 | should contain; any time(s) | snmp-server user.*v3 auth sha.*priv aes 256 | |
| Ensure 'snmp-server host' is set to 'version 3' | 检查 SNMP 服务器主机是否为版本 3。 | 主要 | 高级 | should contain; any time(s) | snmp-server host .* version 3 \S+ | |
| Ensure 'SNMP community string' is not the default string | 检查是否已设置与默认值不同的 SNMP 团体字符串。 | 主要 | 高级 | should not contain; any time(s) | snmp-server community public | |
| Ensure 'RIP authentication' is enabled | 检查在从 RIPv2 邻居接收路由信息之前是否已启用邻居认证。 | 主要 | 高级 | should not contain; any time(s) (OR) | router rip | |
| should contain; any time(s) | router rip (AND) rip authentication key | |||||
| Ensure 'OSPF authentication' is enabled | 检查在从 OSPF 邻居接收路由信息之前是否已启用邻居认证。 | 主要 | 高级 | should not contain; any time(s) (OR) | router ospf | |
| should contain; any time(s) | router ospf (AND) ospf authentication key (AND) ospf message-digest-key | |||||
| Ensure 'EIGRP authentication' is enabled | 检查在从 EIGRP 邻居接收路由信息之前是否已启用邻居认证。 | 主要 | 高级 | should not contain; any time(s) (OR) | router eigrp | |
| should contain; any time(s) | router eigrp (AND) authentication key eigrp | |||||
| Ensure 'DNS Guard' is enabled | 检查是否已启用针对 DNS 缓存投毒攻击的防护。 | 主要 | 高级 | should contain; any time(s) | dns-guard | |
| Ensure DNS services are configured correctly | 检查是否已配置设备用于执行 DNS 查询的 DNS 服务器。 | 主要 | 高级 | should contain; any time(s) | dns domain-lookup (AND) name-server | |
| Ensure non-default application inspection is configured correctly | 检查是否可对不在默认全局策略应用程序检查中的应用程序进行检查。 | 主要 | 高级 | should contain; any time(s) | inspect dns (AND) inspect ftp (AND) inspect tftp (AND) inspect http | |
| Ensure 'threat-detection statistics' is set to 'tcp-intercept' | 检查是否存在 TCP 拦截功能所阻止的攻击的威胁检测统计信息。 | 主要 | 简单 | should not contain any line; any time(s) | \s*threat-detection statistics tcp-intercept.* | |
| Ensure 'security-level' is set to '0' for Internet-facing interface | 检查面向互联网的接口的安全级别是否设置为 0。 | 主要 | 自定义 | Parse as: Multi Line Block | Configuration Block Start: interface Configuration Block End: ! Configuration Block: none Condition: should contain; Pattern: ip security-level 0; any time(s) | |
| Ensure ActiveX filtering is enabled | 检查是否已启用 ActiveX 过滤。ActiveX 控制安全设备接收的 HTTP 回复流量。 | 主要 | 高级 | should contain; any time(s) | filter activex | |
| Ensure Java applet filtering is enabled | 检查是否已启用 Java applet 过滤。从经过安全设备的 HTTP 回复流量中删除 Java applet。 | 主要 | 高级 | should contain; any time(s) | filter java | |
| Ensure explicit deny in access lists is configured correctly | 检查每个访问列表是否包含显式拒绝语句。 | 主要 | 自定义 | Parse as: Multi Line Block | Configuration Block Start: access-list Configuration Block End: ! Configuration Block: none Condition: should contain; Pattern: deny; any time(s) | |
| Ensure 'Logon Password' is set | 检查默认登录密码是否已更改。 | 严重 | 高级 | should contain; any time(s) | passwd\s+\S+\s+encrypted | |
| Ensure 'Enable Password' is set | 检查用户在运行 enable 命令访问特权 EXEC 模式时所需的密码是否已设置。 | 严重 | 高级 | should contain all lines; any time(s) | enable password\s*\S+\s*encrypted | |
| Ensure 'aaa authentication http console' is configured correctly | 对通过 HTTP 访问安全设备的 ASDM 用户进行认证。 | 主要 | 简单 | should not contain any line; any time(s) | \s*aaa authentication http console.* | |
