网络基础设施安全指南(下)

推荐阅读:网络基础设施安全指南(上)

六、远程日志与监控

日志是记录设备活动、跟踪网络安全事件的重要机制,管理员可以通过查看日志发现可疑活动并调查事件。设备上的日志配置若不完整,可能会导致信息丢失或不准确,难以关联设备或网络上发生的事件。正常的日志活动包括将日志发送到多个远程日志服务器,将时钟同步到多个经过认证的时间源,以及实施日志管理策略和过程。安全信息与事件管理(SIEM)系统可用于汇总和分析远程日志服务器接收的日志。应按照行政管理和预算局(OMB)备忘录M-21-31的建议保留日志。
6.1 启用日志
只有在启用日志后,才会在网络设备上生成日志消息。应将设备配置为同时向本地日志缓冲区和中央日志服务器发送日志消息。NSA建议,启用Syslog日志,将本地日志缓冲区设置为16MB或更大,建立程序来验证是否定期接收和审查了日志。大多数设备应能够支持更大的缓冲区,但如果内存不足,可以针对特定设备设置较小的日志缓冲区空间。使用以下配置命令启用Syslog日志:logging on

使用以下配置命令提高本地日志缓冲区最大值:

logging buffered 16777216 informational

注意:该命令同时会将日志级别更改为信息(Informational)级别,因为这两个值必须同时设置。

6.2 建立中央远程日志服务器
日志消息发送到远程日志服务器后不易被泄露或删除,在设备被入侵、重启或本地日志缓冲区已满时不会受到影响。多个日志服务器对于防御DoS和减少单点故障至关重要。NSA建议,建立至少两个远程中央日志服务器,实现冗余,对日志进行监控,确保设备日志消息的可用性。尽可能对传输中日志消息进行加密,防止非法泄露敏感信息。对于思科IOS设备来说,出站Syslog消息只能通过在设备和远程Syslog服务器之间创建IPsec隧道加密,如2.6 限制和加密虚拟专用网络(VPN)所述。使用以下配置命令配置至少两个远程日志服务器:logging host

logging host

6.3 获取必要日志信息
设备日志中配置了足够信息的话,管理员可获取必要信息分析与安全事故相关的事件,包括关联多个事件或其他设备上发生的事件。NSA建议,将所有设备的Trap和缓冲区日志至少设置为“信息”级别(代码6)以收集所有必要信息。设备可以配置为“调试”(代码7),但生成的消息数量会大幅增加,进而降低日志审查速度。使用以下配置命令将Trap和缓冲区日志设置为“信息”级别:logging trap informationallogging buffered 16777216 informational

注意:该命令还会设置本地日志缓冲区的最大值,因为这两个值必须同时设置。

还可以分别使用console和monitor关键字在控制台和VTY线路上启用日志。这些方法会立即通知登录的管理员,但不会保留消息。除非管理员需要,否则没有必要为这些方法启用日志。可以使用以下配置命令禁用日志:

no logging console

no logging monitor

NSA还建议对时区使用协调世界时(UTC),尤其是当网络跨越多个时区时。所有日志消息都应包含正确配置的时间戳,标明完整日期(包括年份)、时间(包括秒和毫秒)以及时区。确保时区设置正确,使用以下配置命令启用上面列出的所有特性:

clock timezone UTC 0 0

service timestamps log datetime msec localtime show-timezone year

service timestamps debug datetime msec localtime show-timezone year

最后,NSA还建议,配置日志消息记录用户成功或不成功登录到系统的时间。即使正确配置了记账且集中式AAA服务器记录了这些事件,本地缓冲区也不会记录这些信息。使用以下配置命令记录这些事件:

login on-failure log

login on-success log

6.4 同步时钟
网络时间协议(NTP)用于同步全球的设备时钟,确保日志消息中包含的时间戳准确无误。为了保证可靠性,每个设备应与至少两个可信时间源同步。这种准确性可以确保日志消息时间戳在不同时区间轻松进行关联,方便在设备间跟踪网络事件,因而至关重要。NSA建议,每台设备和远程日志服务器至少使用两个可信且可靠的时间服务器,确保信息的准确性和可用性。应将内部时间服务器设置为所有设备的主要时间源,随后应与权威的外部源同步。这种设计减少了外部请求的数量,确保在无法访问外部时间服务器时时间戳的一致性。在网络上部署时间服务器时,管理员应确认设备能够访问时间服务器,且在应用配置后时钟已同步。NSA还建议,在所有设备上启用NTP身份认证以防止时钟被篡改,并在设备及其指定时间源之间配置唯一的NTP强认证密钥。使用以下配置命令创建可信NTP密钥并启用NTP身份认证:

ntp authentication-key <#1> md5

ntp trusted-key <#1>

ntp authentication-key <#2> md5

ntp trusted-key <#2>

ntp authenticate

可设置任意数量的可信密钥。注意,NTP身份认证密钥将作为7类密码存储在配置中。NTP身份认证不支持6类AES加密密码。

使用以下配置命令将设备与至少两个不同的NTP服务器同步:

ntp server key <#1>

ntp server key <#2>

注意:每条命令末尾的数字代表验证特定服务器的可信NTP密钥。

时钟同步后,使用以下exec命令验证NTP服务器的同步和状态:

show ntp status

show ntp associations

注意:每次更改NTP配置后,都需要验证时钟同步,正常的同步可能需要几个小时。

七、远程管理和网络服务

管理员可以通过各种服务远程管理网络设备。常见的网络服务包括SSH、超文本传输协议(HTTP)、SNMP和文件传输协议(FTP)。这些服务对管理员很有用,但也会被攻击者当做目标,以获得对设备的特权级别访问。所有服务都必须正确配置,以尽量避免被攻击。
7.1 禁用明文管理服务
明文协议通过网络传递未加密流量,因为它们是在加密广泛使用之前设计的。因此,使用这些协议远程管理关键设备可能会导致信息泄露,进而对设备和网络安全产生不利影响。攻击者会入侵网络,通过常见的信息检索技术(例如网络分析程序或抓包程序)收集用户名、密码、配置信息和其他敏感数据。NSA建议,使用加密服务来保护网络通信,并禁用所有明文管理服务(例如Telnet、HTTP、FTP、SNMP 1/2c)。这样,攻击者就无法通过对网络流量抓包轻松获取敏感信息。有关如何启用加密服务的详细信息,参见7.11网络服务配置。如果设备不支持加密协议,则将管理系统直接连接到控制台或管理口,或建立专用的带外管理网络,以降低攻击者捕获明文协议的可能性。使用以下配置命令禁用Telnet服务:line vty 0 4

transport input none

line vty 5 15

transport input none

根据设备的不同,可能还需要将类似配置应用于其他线路。如果特定设备上不存在VTY线路5到15,则无需执行这些命令。注意,这些命令还可能禁用线路上默认启用的其他服务,包括SSH。有关如何启用SSH的详细信息,参见7.11.1 SSH。

使用以下配置命令禁用HTTP服务:

no ip http server

有关如何启用安全HTTP的详细信息,参见7.11.2  HTTP。

使用以下配置命令删除已配置的团体名,禁用SNMPv1和v2c以及SNMP Trap服务:

no snmp-server community

no snmp-server host

有关如何启用SNMPv3的详细信息,参见7.11.3 SNMP。

使用以下配置命令删除线路,禁用简单文件传输协议(TFTP):

no tftp-server

FTP服务通常不作为侦听服务启用,但可用作客户端。使用以下配置命令删除FTP凭证:

no ip ftp username

no ip ftp password

7.2 确保足够的加密强度
有些加密服务需要生成公钥和私钥对,以便客户端连接到服务器进行认证。此外,加密连接的客户端和服务器可以共同为每一连接建立私有会话密钥。加密连接若使用弱算法或少量位,攻击者就能轻易破解私有会话密钥,解密连接期间传输的所有数据。NSA建议,非对称公私钥至少3072位,椭圆曲线加密(ECC)密钥384位,对称加密密钥256位。有些系统不支持3072位,可能需要使用4096位的密钥。对于密钥长度较小的设备,重新生成密钥对,并将加密协议配置为仅使用经批准的算法。较大的密钥长度会因为额外计算延长服务连接时间,但在大多数设备上这种延长可以忽略不计。有关如何配置加密服务的详细信息,参见7.11网络服务配置。
7.3 利用安全协议
几种常见的管理服务协议在信息的实现和交换中包含缺陷,可被攻击者利用。有些协议(如SSH)可以配置为向后兼容,不仅接受新协议,还接受不安全的老协议。老协议容易遭受中间人攻击,这种技术可能会在用户不知情的情况下迫使客户端和服务器协商较弱的算法。NSA建议,管理服务务必使用最新版本的协议,并充分启用适当的安全设置。SSH V2是远程访问设备的首选方法。加密的HTTP服务器应配置为仅接受传输层安全(TLS)1.2或更高版本。有关指定服务的特定协议版本的更多信息,参见7.11网络服务配置。
7.4 限制对服务的访问
如果允许大量设备连接到管理服务,则服务更容易受到攻击。NSA建议,将ACL配置为仅允许管理员系统连接到设备进行远程管理。无法支持ACL的设备应放置在单独的网络管理段(如VLAN)上。创建ACL后,将其应用于VLAN或入口路由器,限制对此网段的访问。可能需要在关键网段之前部署单独的防火墙,限制可连接到该VLAN的系统。考虑使用动态主机配置协议(DHCP)的替代方案;为管理员系统分配静态IP地址或使用较小的地址池。静态地址更容易定义ACL并限制对管理服务的管理访问。大多数管理服务只接受标准ACL。可添加行配置多个设备或网络,每行均使用permit关键字。即使每个ACL末尾都有一个隐含的deny语句,最好还是明确表述,以便记录被拒绝的连接请求。使用以下配置命令创建标准ACL,仅允许管理员IP地址访问:access-list permit logaccess-list deny any log

有关对特定管理服务应用ACL的详细信息,参见7.11网络服务配置。

NSA还建议,删除配置中的未使用ACL,以免误导管理员。确认标准ACL未应用后,使用以下配置命令将其删除:

no access-list

7.5 设置可接受的超时时间
设置空闲连接的超时时间后,会话会在规定的非活动时间后关闭。若超时时间未设置或过长,则空闲连接可能无限期持续,若设备上限制了并发连接数,还可能导致拒绝服务(DoS)。DoS状态会一直持续,直到达到空闲超时时间,若禁用了空闲超时,则DoS会无限期持续。超时时间越长,攻击者就越有可能在会话空闲时劫持会话。NSA建议,在所有远程设备上将管理连接的会话超时设置为5分钟或更短(例如,VTY 线路、SSH、控制台和辅助端口上的 exec-timeout)。不要将超时时间设置为0,因为大多数设备会用此设置禁用超时功能。有关对特定管理服务限制会话超时的详细信息,参见7.11网络服务配置。
7.6 启用传输控制协议(TCP)keep-alive
在给定时间段内未发生任何活动时,设备可通过收发TCP keep-alive消息判断连接状态。这些消息可用于检测意外的连接丢失,防护潜在网络攻击。某些设备上,缺少TCP keep-alive服务会导致已建立的TCP连接在一端意外丢失后保持连接状态,从而使会话面临劫持风险。此外,甚至可能未要求身份认证,特别是对于未加密连接,攻击者能够轻易恢复会话,可能获得特权级别的访问。NSA建议,使用以下配置命令为所有TCP连接的出入站消息启用TCP keep-alive设置:service tcp-keepalives-inservice tcp-keepalives-out

注意:某些设备不支持TCP keep-alive消息配置。

7.7 禁用出站连接
在通过管理端口在设备上进行身份认证后,用户通常能够通过支持的协议(如Telnet和SSH)远程连接到网络上的其他系统。如果攻击者入侵了设备或使用管理员账号获得用户级访问权限,则此出站连接可能会用于通过网络进一步行动。正确审查设备配置并利用ACL可以防止未授权系统访问网络资源。NSA建议,使用以下配置命令禁用出站连接,防止攻击者在网络中移动:line con 0transport output none

line vty 0 4

transport output none

line vty 5 15

transport output none

根据设备的不同,可能还需要将类似配置应用于其他线路。如果特定设备上不存在VTY线路5到15,则无需执行这些命令。需要注意的是,必须对控制台线路明确禁用此功能。

如果需要出站连接将文件复制到设备或从设备复制文件以进行维护或完整性验证,设置为仅使用SSH,并限制可以通过出站ACL访问的设备数量;任务完成后,恢复到上述配置。

7.8 删除SNMP读写团体名
SNMPv1或v2c读写团体名类似于密码,可用于访问或修改设备配置和操作系统文件。这些操作通常无法使用只读团体名完成。由于SNMP读写团体名以明文形式发送,可能会被攻击者利用并获得对网络设备的完全控制。NSA建议,删除所有SNMP读写团体名,并升级到具有加密和身份认证的SNMPv3。如果远程管理需要SNMPv1或v2c读写团体名,且该团体名无法删除,则建议将读写团体名与其他团体名显著区分,防止攻击者在获得只读团体名时猜出读写团体名。使用以下exec命令列出所有的SNMPv1和v2c团体名:show running-config | include snmp-server community

注意:读写团体名包括RW关键字,而只读团体名包含RO关键字。

使用以下配置命令禁用SNMP读写团体名:

no snmp-server community

7.9 禁用不必要的网络服务
在设备的初始安装过程中,默认情况下会启用多个TCP和UDP服务,即使正常操作不需要提供那么多的网络功能。这些服务可能会降低网络的安全性,为攻击者提供额外的入口来利用设备,进而使其面临未授权监视、信息收集和入侵风险。例如,Cisco Smart Install通常不必要,默认启用后,未经验证的远程攻击者可以使用此服务获取设备的配置文件,上载新配置或操作系统映像文件,或强制重启。思科的Cisco-sa-20170214-smi安全通告将此归为滥用协议,但安全界已观察到并公认这是一个严重漏洞,可被攻击者利用,通过互联网获取配置文件。NSA建议,禁用所有设备上的所有不必要服务。对于必要服务,若支持密码和ACL,请根据NSA的强密码指导创建密码(参见5.6 创建强密码),并利用ACL限制可以连接到该服务的必要系统。如果设备不支持ACL,则可以将其移动到单独的VLAN,将ACL应用于该VLAN。NSA还建议,立即使用以下配置命令在所有设备上禁用Cisco Smart Install服务:

no vstack

该服务是为交换机设计的,但路由器同样可以配置为Cisco Smart Install管理器(Director);因此,应在所有设备上明确禁用该服务,尤其是在首次配置时。

使用以下配置命令禁用不必要的TCP和UDP服务:

no service tcp-small-servers

no service udp-small-servers

no service finger

7.10 在特定接口上禁用发现协议
思科发现协议(CDP)和链路层发现协议(LLDP)是广播协议,定期向支持协议并正在侦听数据包的相邻设备通告网络拓扑和设备信息。此功能默认启用,管理员可以使用此功能获取网络信息,但对于被动收集网络配置信息的攻击者来说,此功能也非常有用。攻击者若能在网络中部署嗅探器,就能够收集设备型号、操作系统版本、VLAN信息以及物理和逻辑地址,获得有用信息来利用网络上的设备。NSA建议,在所有支持这些服务的设备上禁用CDP和LLDP。如果正常网络通信需要使用服务(例如,某些思科IP语音(VoIP)电话),则仅在需要协议的设备之间的点对点链路或启用语音的端口上启用该服务。使用以下配置命令全局禁用CDP和LLDP:no cdp run

no lldp run

如果特定接口上需要CDP,则必须全局启用,再在其他接口上禁用。下列配置命令针对单个接口禁用了CDP:

interface

no cdp enable

7.11 网络服务配置
本节介绍如何正确启用常见的远程网络管理服务。
7.11.1 SSH
使用以下配置命令允许入站SSH连接:line vty 0 4transport input sshline vty 5 15

transport input ssh

注意:默认情况下,这会禁用线路上启用的其他服务,如Telnet。如果特定设备上不存在VTY线路5到15,则无需执行这些命令。根据设备的不同,可能还需要将类似配置应用于其他线路。

使用以下exec命令查看允许的入站连接:

show line

使用以下配置命令禁用SSH V1连接且仅允许SSH V2:

ip ssh version 2

使用以下配置命令为SSH生成新的非对称Rivest-Shamir-Adleman(RSA)密钥对:

crypto key generate rsa modulus 3072

注意:该命令会覆盖现有的RSA密钥对。

使用以下配置命令为SSH生成新的非对称ECC密钥对:

crypto key generate ec keysize 384

注意:该命令会覆盖现有的ECC密钥对。

使用以下配置命令将Diffie-Hellman密钥的最小长度设置为4096位:

ip ssh dh min 4096

注意:有些系统不支持3072位的Diffie-Hellman密钥长度,因此建议使用4096位。

可以使用以下配置命令指定SSH协议接受的加密、密钥交换(KEX)和消息认证代码算法(包括优先顺序):

ip ssh server algorithm encryption […]

ip ssh server algorithm kex […]

ip ssh server algorithm mac […]

使用以下exec命令查看SSH服务配置:

show ip ssh

使用以下配置命令应用标准ACL,仅允许管理员IP地址访问:

line vty 0 4

access-class in

line vty 5 15

access-class in

如果特定设备上不存在VTY线路5到15,则无需执行这些命令。注意,如果线路上启用了ACL,则该ACL也适用于Telnet。根据设备的不同,可能还需要将类似配置应用于其他线路。有关创建标准ACL的更多信息,参见7.4 限制对服务的访问。

使用以下配置命令将会话过期时间设置为5分钟或更短:

line con 0

exec-timeout 5 0

line vty 0 4

exec-timeout 5 0

line vty 5 15

exec-timeout 5 0

如果特定设备上不存在VTY线路5到15,则无需执行这些命令。注意,如果线路上启用了该配置,则该配置也适用于Telnet。根据设备的不同,可能还需要将类似配置应用于其他线路。

7.11.2 HTTP
如果HTTP用于管理目的,请使用以下配置命令启用HTTP over TLS:ip http secure-server使用以下配置命令禁用TLS V1.2服务:ip http tls-version TLSv1.2

可以使用以下配置命令指定加密HTTP服务接受的密码套件(包括优先顺序):

ip http secure-ciphersuite […]

使用以下配置命令应用标准ACL,仅允许管理员IP地址访问:

ip http access-class

注意:该ACL启用后,也适用于明文HTTP服务。有关创建标准ACL的更多信息,参见7.4 限制对服务的访问。

HTTP服务器连接的默认空闲超时为180秒(3分钟),无需更改。

7.11.3 SNMP
如果SNMP用于管理,请使用以下配置命令启用具有身份认证和隐私(加密)的SNMPv3:snmp-server group v3 priv accesssnmp-server user v3 auth sha priv aes256 access

首先必须定义一个组,其中priv关键字等同于authPriv(身份认证和隐私)。必须定义一个或多个用户,再将这些用户分到一组。除了身份认证和加密参数外,必须为每个用户提供两个不同的密码,一个用于身份认证,另一个用于隐私。AES-192和AES-256存在互操作性问题,因此可能需要用aes 128关键字设置AES-128加密取代AES-256加密。如上所示,在命令末尾使用access关键字加上指定的ACL,可以将ACL同时应用于组和单独的用户。

可以使用以下Shell命令在Linux系统测试上述SNMP配置:

snmpget -v 3 -u -a sha -l authPriv -A ” -x AES \

-X ” 1.3.6.1.2.1.1.5.0

八、路由

路由器在计算机网络之间转发数据包。收到数据包时,路由器使用自己的路由表和数据包的网络地址信息来判断到达目的地的下一跳。路由器本身或用于填充路由表的动态路由协议若不当配置,攻击者就有可能将数据包重定向到其他目的地,进而收集、操控或丢弃敏感数据,最终影响机密性、完整性或可用性。
8.1 禁用IP源路由
IP源路由是一种不常使用的功能。利用该功能,发送者可指定一个预定义的中间节点列表转发数据包,而不是使用内部路由表进行决策。利用这种设置,攻击者可通过自己选择的路由传输数据包。除了IP地址欺骗,攻击者还可以使用IP源路由功能选择自己的网络路径,成功绕过ACL和其他网络限制。尽管此漏洞与路由器和数据包的路由方式有关,但也可以在交换机上利用。NSA建议,禁用所有设备上的IP源路由,而不仅仅是路由器,因为正常网络操作不需要此功能。根据产品厂商的不同,可能需要单独禁用各IP源路由选项。IPv6中也有类似功能,需要单独禁用。使用以下配置命令禁用IP源路由:no ip source-route

no ipv6 source-route

8.2 启用单播反向路径转发(uRPF)
uRPF作为一种防止IP欺骗的方法,会通知路由器检查数据包中的源地址和目标地址。接口上接收到数据包时,将源地址与路由表中的条目进行比较,如果返回路由与数据包接收位置匹配,则转发该包。否则,丢弃数据包,以防源地址被欺骗。如果未启用uRPF,攻击者可能会成功欺骗发送到网络中的IP数据包的源地址。NSA建议在边界路由器的外部接口上启用uRPF。在路由器上启用uRPF之前,必须启用思科快速转发(CEF),为高效的数据包转发提供最优查找方式。注意,不要在内部接口或具有非对称路由(对于一个特定源地址可能存在两个或多个返回路由)的路由器上启用uRPF,因为这可能会导致丢弃合法数据包。使用以下配置命令在单个接口上启用uRPF:ip cefinterface

ip verify unicast reverse-path

8.3 启用路由认证
动态路由协议将信息分发到相邻设备,并提供到达其他网络的路由。网络设备使用此信息填充自己的路由表,然后基于该路由表确定下一跳,将数据包转发到所请求的目的地。为了控制流量,攻击者会注入、篡改或破坏相邻设备收发的路由信息。为了防止路由操控,应启用路由认证,确保从相邻设备接收的路由信息未被不可信源操控。NSA建议,对于从其他网络设备接收路由更新的动态路由协议,启用路由认证。使用以下配置命令在每个区域的开放最短路径优先(OSPF)进程上启用OSPF路由认证,将认证密钥应用于与该进程相关的所有接口:key chainkey

key-string

cryptographic-algorithm hmac-sha-512

interface

ip ospf authentication key-chain

NSA还建议,在邻居之间使用不同的密钥,而不是对所有设备上的所有接口使用相同的认证密钥。采用不同的密钥,攻击者就无法使用从一个网络获取的密钥在另一个网络上注入恶意路由。

使用以下配置命令启用边界网关协议(BGP)路由认证,对不同的对端使用不同的密钥:

router bgp

peer password

使用以下配置命令启用增强型内部网关路由协议(EIGRP)认证,创建密钥链并将其应用于每个接口:

key chain

key

key-string

cryptographic-algorithm hmac-sha-512

interface

ip authentication key-chain eigrp

注意:可以为每个密钥选择任意名称和数字。是分配给相邻设备的共享密钥。cryptographic-algorithm还可以设置为hmac-sha-384,并且仍然满足CNSSP 15要求。

不要使用路由信息协议(RIP),因为它收敛速度慢,不可扩展,且V1版本无法配置为对附近的路由器进行认证,因而容易被攻击者利用设备若仅支持RIP,应使用静态或默认路由,指向支持可认证现代路由协议的其他设备。

九、接口端口

网络交换机的接口端口将工作站、服务器等设备物理连接到网络,路由器和交换机之间的连接定义了系统如何进行网络通信。攻击者必须首先获得对网络的物理访问才能连接到未授权系统,或使用网络上的已有系统来利用现有连接。正确配置接口端口可防止攻击者对网络进行攻击。
9.1 禁用动态中继
中继是两个设备之间的点对点链路,用以交换VLAN封装帧。根据链路上发送的流量,接口端口可将自己动态配置为中继或接入端口。攻击者连接到动态端口后,可以让其变为中继端口,进而可能访问网络流量,而无需关注VLAN隔离。NSA建议禁用动态中继,因为接口端口无需动态配置自身。将设备添加到网络时,将所有接口端口明确配置为中继端口或接入端口。系统若不处理VLAN封装帧,应连接到接入端口。使用以下配置命令严格配置接口端口仅用于静态接入:interface

switchport mode access

使用以下配置命令严格配置接口端口为中继模式:

interface

switchport mode trunk

 9.2 启用端口安全
设备的物理接口端口通常是最后一道防线,也是限制访问网络的主要手段。端口安全限制了允许连接到Switchport的有效MAC地址的数量,将连接仅限于已授权MAC地址。Switchport若未强制实施端口安全,可能允许具有物理访问权限的攻击者连接未授权系统。之后,攻击者能作为受信任系统绕过现有的安全限制,收集网络信息,深入网络,或入侵内部系统。NSA建议,在设备上的所有活动Switchport上启用端口安全,并将各端口允许的最大MAC地址数设置为1,如果使用VoIP功能,则设置为2。端口安全不是NAC(如802.1X)的替代品,但应在无法实现NAC时使用。尽可能为连接到已知系统的每个Switchport分配一个固定的MAC地址,并将其配置为在发生端口安全违规时关闭或发送SNMP Trap消息。可以在中继接口上启用端口安全;但是,不建议这样做,因为这需要知道有多少设备的流量通过该特定中继。动态Switchport不能同时启用端口安全,必须首先配置为静态访问,然后才能启用端口安全。使用以下配置命令,在静态接入端口上配置端口安全,且配置最多一个MAC地址:interface

switchport mode access

switchport port-security

switchport port-security maximum 1

switchport port-security violation shutdown

switchport port-security mac-address sticky

一旦第一个授权系统连接到该端口,sticky关键字将允许设备在配置中插入MAC地址。请注意,重启后,需要保存配置以保留信息。如果出于可用性考虑不能关闭端口,可以将shutdown关键字替换为restrict,防止任何其他MAC地址在该端口上通信。

9.3 禁用默认VLAN
大多数交换机默认使用VLAN 1(包括管理口),以便直接访问交换机进行管理。此外,一些2层协议(例如发现或中继)需要在中继链路上的特定VLAN上发送,通常默认选择VLAN 1。如果不采取缓解措施,默认VLAN可能跨越整个网络,增加可信设备的安全风险,被获得访问权限的不可信设备利用。NSA建议,将管理和操作流量放到不同的VLAN(非默认VLAN)里,将管理流量与用户数据和协议流量分离,并使用多个交换机来分离不同安全级别的网络流量。若中继和接入端口(包括断连和关闭的端口)不需要默认VLAN,应在逻辑上关闭,确保不会传输不必要的广播、组播和未知目标流量。在中继端口上收发的帧通常用相关VLAN ID进行标记。接收到的帧若没有标记,将自动放置在与该端口相关联的本机中继VLAN中。应为中继链路的两端本机中继VLAN分配相同的ID。类似地,将接入端口上收发的帧分配到相关接入VLAN。所有Switchport都分配给一个接入VLAN和一个本机中继VLAN,无论它们是中继端口还是接入端口。NSA建议,将所有中继端口分配给中继端口专用本机中继VLAN,将接入VLAN分配给未使用且禁用的VLAN。类似地,NSA建议,将所有接入端口分配给相关接入VLAN,将本机中继VLAN分配给未使用且禁用的VLAN,该VLAN不得与中继端口所使用VLAN相同。这一配置对流量进行了标记,防止攻击者在活动VLAN之间跳转。

使用以下示例配置命令创建中继VLAN(500)和未使用且禁用的接入VLAN(997),并将两个VLAN都分配给中继端口:

vlan 500

name NATIVE-TRUNK

vlan 997

name UNUSED-ACCESS

shutdown

interface

switchport mode trunk

switchport access vlan 997

switchport trunk native vlan 500

switchport trunk allowed vlan 2-4094

此配置还允许所有VLAN(默认VLAN 1除外)穿越中继。若所有配置的VLAN都已知,NSA建议只允许指定VLAN,而不仅仅是排除VLAN 1。

使用以下示例配置命令创建一个未使用且禁用的VLAN(998),分配给接入端口的本机中继VLAN:

vlan 998

name UNUSED-NATIVE

shutdown

interface

switchport mode access

switchport access vlan

switchport trunk native vlan 998

如果使用VoIP功能,还可以使用以下配置命令为Switchport分配第三个VLAN:

interface

switchport voice vlan

使用以下exec命令查看与单个Switchport相关的所有VLAN:

show interfaces switchport

9.4 禁用未使用的端口
若在设备上启用了未使用的端口,攻击者就能将恶意设备连接到网络,收集信息或进行入侵。所有未使用的端口都应禁用并放置在未使用的VLAN(非默认)中。NSA建议,通过关闭相关接口来禁用设备上所有未使用的端口,如果设备支持,则将未使用端口分配给未使用的VLAN。这会继续阻止访问网络,即使端口已启用。在禁用端口之前,必须验证该端口是否确实未使用且没有任何连接。如果连接到端口的设备断电,可能会显示Switchport未使用。使用以下示例配置命令关闭所有未使用的接口,将接入和本机中继VLAN分配给未使用且禁用的VLAN:vlan 999

name UNUSED-DISABLED

shutdown

interface

switchport mode access

switchport access vlan 999

switchport trunk native vlan 998

no switchport voice vlan

shutdown

注意:不必将语音VLAN分配给未使用的VLAN,因为如果不使用VoIP功能,该语音VLAN将保持未分配状态。

9.5 禁用端口监控
端口监控过程中,网络交换机将一个Switchport上看到的网络数据包副本发送到另一个Swithport上的网络监控连接。设备定义了一个或多个端口监控会话后,指定的目标端口监控一组源端口,源端口收发的所有流量也将发送到目标端口。端口监控通常用于连接NIDS、诊断问题或使用网络分析程序监控网络。根据厂商的不同,端口监控也称为“端口镜像”或“端口映射”(Port Spanning)。攻击者连接到端口监控会话的目标端口后,能够收集会话指定的所有源端口发送的网络流量。NSA建议禁用设备上的所有非活动端口监控会话。端口监控只有在必要的情况下才应启用,一旦不需要应禁用。所谓的必要是指NIDS或监控网络的管理员。注意:有些厂商不允许从端口监控会话的目标端口发送流量,有效禁用了该端口的网络访问。NIDS连接到端口监控会话时需要这种配置。使用以下exec命令列出配置中定义的监控会话:

show monitor session [1|2|all]

注意:如果支持all关键字,则使用它列出所有定义的会话;否则,需要使用单独的命令指定单独的会话号(通常为1和2)。

使用以下配置命令删除配置中定义的监控会话:

no monitor session

9.6 禁用代理地址解析协议(ARP)
代理ARP技术指网络上的代理服务器对于ARP请求(请求其他网络上的IP地址)进行应答。这样,子网上的设备就能到达远程子网,而无需在默认网关上配置路由。这种技术有自己的好处,因为可以添加到路由器,而不影响其他网络的路由表,但仅在可信局域网段之间是安全的。这种技术会将漏洞引入网络,允许攻击者欺骗可信系统并拦截数据包。NSA建议,禁用所有接口上的代理ARP,除非该设备被用作局域网桥或允许多个目标IP地址的入站网络地址转换(NAT)。可能需要在单独接口上禁用代理ARP,而不是全局禁用。使用以下exec命令查找启用了代理ARP的接口:show ip interface

使用以下配置命令禁用单个接口的代理ARP:

interface

no ip proxy-arp

十、通知和同意横幅

本文中提供的技术建议可以显著降低攻击者利用网络漏洞的可能性。但攻击者或内部人员仍可能发现能够入侵、绕过或破坏网络的漏洞。通知横幅可以明确哪些内容允许任何系统访问者使用,还可以添加必要的提示和免责声明。
10.1 显示通知横幅
根据组织的要求,通知横幅可以向用户通告以下信息:连接到网络设备仅为授权用途,并且对系统的任何操作都会为授权目的进行监控。合法的横幅确保网络所有者和包括政府在内的其他人可以采取必要措施监控和保护网络。然而,这种横幅的确切要求会因组织和管辖权而异。例如,国防部部门必须使用符合国防部8500.01指令要求的横幅。其他美国政府实体应执行NIST SP800-53 AC-8的要求。对于私营部门实体,网络安全和基础设施安全局发布了关于设计恰当横幅的实用指导。NSA建议,配置设备在用户登录到信息系统或连接到远程服务时显示完整的通知横幅。思科IOS设备有两种横幅:在用户登录前显示登录横幅,在用户成功验证后显示“每日消息”。最起码的要求是,对试图登录的授权和未授权用户均显示通知横幅。如果需要,可以在登录后向认证后用户提供相同或附加信息。使用以下配置命令配置设备在用户登录之前添加通知横幅,并正确插入组织横幅:

banner login ^

INSERT NOTIFICATION BANNER HERE

^

注意:插入符(“^”)用作分隔符,以便横幅分行,前提是横幅本身不使用插入符。将此命令插入配置后,分隔符通常显示为“^C”而不是“^”。命令中请勿输入“^C”,否则横幅将以“C”开始。

使用以下配置命令为已成功进行身份认证的授权用户添加相同的通知横幅或其他信息:

banner motd ^

INSERT NOTIFICATION BANNER HERE

ADDITIONAL INFORMATION

结论
本报告所提供的指导源于从如下两种活动广泛获取的深刻经验:(1)帮助NSA客户评估网络;(2)建议如何立即加固网络设备。除了基本的维护功能外,管理员在防御网络对抗性威胁方面发挥着关键作用。按照本指南建议,网络防御者可将网络安全最佳实践付诸行动,降低入侵风险,增强防护效果,确保网络更安全。
缩略词
AAA Authentication, authorization, and accounting 认证、授权和记账
ACL Access control list 访问控制列表
AES Advanced Encryption Standard 高级加密标准
ARP Address Resolution Protocol 地址解析协议
AUX Auxiliary 辅助
BGP Border Gateway Protocol 边界网关协议
CDP Cisco Discovery Protocol 思科发现协议
CEF Cisco Express Forwarding 思科快速转发
CISA Cybersecurity and Infrastructure Security Agency 网络安全和基础设施安全局
CNSA Commercial National Security Algorithm Suite 商业国家安全算法套件
CNSSP Committee on National Security Systems Policy 国家安全系统委员会政策
CON Console 控制台
DHCP Dynamic Host Configuration Protocol 动态主机配置协议
DMZ Demilitarized zone 非军事区
DoS Denial of service 拒绝服务
ECC Elliptic curve cryptography 椭圆曲线加密
ECP Elliptic curve group modulo a prime 以素数为模的椭圆曲线群
EIGRP Enhanced Interior Gateway Routing Protocol 增强型内部网关路由协议
ESP Encapsulating Security Payload 封装安全负载
FTP File Transfer Protocol 文件传输协议
HTTP Hypertext Transfer Protocol 超文本传输协议
IETF Internet Engineering Task Force 互联网工程任务组
IKE Internet Key Exchange 互联网密钥交换
IOS Internetwork Operating System 互联网络操作系统
IP Internet Protocol 互联网协议
IPS Intrusion prevention system 入侵防御系统
IPsec Internet Protocol Security 互联网协议安全
ISAKMP Internet Security Association and Key Management Protocol 互联网安全关联和密钥管理协议
ISP Internet service provider 互联网服务提供商
KEX Key exchange 密钥交换
LAN Local area network 局域网
LLDP Link Layer Discovery Protocol 链路层发现协议
MAC Media access control 媒体访问控制
MD5 Message Digest 5 消息摘要5
MODP Modular Exponent 模幂
NAC Network access control 网络访问控制
NAT Network address translation 网络地址转换
NDI Network Device Integrity 网络设备完整性
NIDS Network intrusion detection system 网络入侵检测系统
NIST National Institute of Standards and Technology 国家标准与技术研究院
NSA National Security Agency 国家安全局
NSS National Security System(s) 国家安全系统
NTP Network Time Protocol 网络时间协议
OMB Office of Management and Budget 行政管理和预算局
OSPF Open Shortest Path First 开放最短路径优先
RIP Routing Information Protocol 路由信息协议
RSA Rivest-Shamir-Adleman
SCP Secure Copy Protocol 安全复制协议
SFTP Secure File Transfer Protocol 安全文件传输协议
SHA Secure Hash Algorithm 安全哈希算法
SIEM Security information and event management 安全信息与事件管理
SNMP Simple Network Management Protocol 简单网络管理协议
SSH Secure Shell 安全外壳
TCP Transmission Control Protocol 传输控制协议
TFTP Trivial File Transfer Protocol 简单文件传输协议
TLS Transport Layer Security 传输层安全
UDP User Datagram Protocol 用户数据报协议
uRPF Unicast reverse-path forwarding 单播反向路径转发
UTC Coordinated Universal Time 协调世界时
VLAN Virtual local area network 虚拟局域网
VoIP Voice over IP IP语音
VPN Virtual private network 虚拟专用网络
VTY Virtual teletype 虚拟终端
免责声明 
该文章原文版权归原作者所有。文章内容仅代表原作者个人观点。本译文仅以分享先进网络安全理念为目的,为业内人士提供参考,促进思考与交流,不作任何商用。如有侵权事宜沟通,请联系littlebee@nsfocus.com邮箱。
文章信息
发布机构:美国国家安全局(NSA)
发布日期:2022年3月1日原文链接:https://media.defense.gov/2022/Mar/01/2002947139/-1/-1/0/CTR_NSA_NETWORK_INFRASTRUCTURE_SECURITY_GUIDANCE_20220301.PDF
小蜜蜂翻译组公益译文项目,旨在分享国外先进网络安全理念、规划、框架、技术标准与实践,将网络安全战略性文档翻译为中文,为网络安全从业人员提供参考,促进国内安全组织在相关方面的思考和交流。

Spread the word. Share this post!

Meet The Author