交换安全——详述

一、端口安全技术
将 MAC 地址固定在该接口上,如果进入该接口的数据和绑定的 MAC 地址不符合就阻塞该
端口,这样可以防止 MAC 地址洪泛攻击和 MAC 中间人攻击
sw1(config)#mac-address-table static 00d0.d3bd.d001 vlan 1 int f0/1
静态安全 MAC 地址

sw1(config)#int f0/1
sw1(config-if)#shutdown
sw1(config-if)#switchport mode access
sw1(config-if)#switchport access vlan 1
sw1(config-if)#switchport port-security
sw1(config-if)#switchport port-security maximum 1
sw1(config-if)#switchport port-security violation shutdown
sw1(config-if)#switchport port-security mac-address 00d0.bab2.2611
sw1(config-if)#no shutdown

惩罚的分类:
protect:当计算机接入时,如果该端口的 MAC 地址条目超过最大的数量时,则这个新的计
算机将无法接入,而原有的计算机不受影响,交换机也不发送警告信息
Restrict:当新计算机接入时,如果该端口的 MAC 条目超过最大的数量时,则这个新的计算
机无法接入,并且交换机发送警告信息
Shutdown:当计算机接入时,如果该端口的 MAC 条目超过最大数量,则该端口将会被关闭,则这个新的计算机和原有的计算机都将无法加入网络,这时需要原有的计算机在交换机中的该端口下使用 shutdown 和 no shutdown 重新打开端口

二、粘滞安全 MAC 地址
静态安全 MAC 地址可以使得交换机的接口 f0/1 只能接入某一固定的计算机,然而需要使用switchport port-security mac-address 00d0.bab2.2611,这样可以一一查看出计算机的 MAC 地址,比较麻烦。
sw1(config)#mac-address-table static 00d0.d3bd.d001 vlan 1 int f0/1
静态安全 MAC 地址

sw1(config)#int f0/1
sw1(config-if)#shutdown
sw1(config-if)#switchport mode access
sw1(config-if)#switchport access vlan 1
sw1(config-if)#switchport port-security
sw1(config-if)#switchport port-security maximum 1
sw1(config-if)#switchport port-security violation shutdown
sw1(config-if)#switchport port-security mac-address 00d0.bab2.2611
sw1(config-if)#no shutdown
被惩罚的接口 show int XX 状态呈现 errdisable
sw1(config)#errdisable recovery cause psecure-violation
允许交换机自动恢复因端口安全而关闭的端口;
sw1(config)#errdisable recovery interval 60配置交换机 60s 后自动恢复端口。

三、DHCP snooping–防止 DHCP 攻击
在局域网内,经常使用 DHCP 服务器为用户分配 IP 地址,由于 DHCP 服务器和客户端之间没有认证机制,网络攻击的另一种办法是伪装有效 DHCP 服务器发出的响应。在 DHCP 工作原理中,客户端以广播的方法来寻找服务器,并且只采用第一个到达的网络配置参数,所以如果在网络中存在多台 DHCP 服务器(有一台或更多台是非授权的),谁先应答,客户端就采用其提供给的网络配置参数。假如非授权的 DHCP 服务器先应答,这样客户端获得的网络参数即是非授权的,客户端可能获取不正确的 IP 地址、网关和 DNS 等信息。在实际攻击中,攻击者还很可能恶意从授权的 DHCP 服务器上反复申请 IP 地址,导致授权的 DHCP 服务器消耗了全部地址,出现 DHCP饥饿。
通常 DHCP 服务器通过检查客户端发送的 DHCP 请求报文中的 CHADDR(也就是 Client MACAddress)字段来判断客户端的 MAC 地址。正常情况下该 CHADDR 字段和发送请求报文的客户端真实的源 MAC 地址是相同的。入侵者可以利用伪造源 MAC 的方式发送 DHCP 请求,但这种攻击可以使用 Cisco 交换机的端口安全特性来防止。但是如果入侵者不修改 DHCP 请求报文的源MAC 地址,而是修改 DHCP 报文中的 CHADDR 字段来实施攻击,那端口安全就不起作用了。由于 DHCP 服务器认为不同的 CHADDR 值表示请求来自不同的客户端,所以入侵者可以通过大量发送伪造 CHADDR 值的 DHCP 请求,导致 DHCP 服务器上的地址池被耗尽,从而无法为其他正常用户提供网络地址,这是一种 DHCP 耗竭攻击。DHCP 耗竭攻击可以是纯粹的 DOS 攻击,也可以与伪造的 DHCP 服务器配合使用。当与伪造的 DHCP 服务器配合使用时,入侵者就可以伪装成DHCP 服务器响应客户端 DHCP 请求,DHCP 欺骗设备将入侵者指定为默认网关或默认域名服务器(DNS)服务器。如果指定为网关,客户机将把数据包转发给攻击设备,而攻击设备则接着将数据包发送到所要的目的地,这称为中间人攻击,可能完全无法被察觉。即使 DHCP 请求报文的源MAC 地址和 CHADDR 字段都是正确的,但由于 DHCP 请求报文是广播报文,如果大量发送的话也会耗尽网络带宽,形成另一种拒绝服务攻击。可以在交换机上配置 DHCP Snooping 防止攻击,DHCP Snooping 的基本原理是交换机监听 DHCP数据帧,对于不信任的接口将拒绝接收 DHCP Offer 包(DHCP 服务器的响应包,而 DHCP 客户只会发送特定类型的 DHCP 包。

sw1(config-if)#ip dhcp snooping
sw1(config-if)#ip dhcp snooping vlan 100
sw1#shwo dhcp snooping
sw1(config)#int e0
sw1(config-if)#ip dhcp snooping trusted
sw1(config-if)#ip dhcp snooping limit rate 100
(设定端口一秒钟只能发送 100 个包,减缓 DHCP 的 starvation)
sw1(config)#ing e1
sw1(config-if)#ip dhcp snooping untrusted

DHCP Relay Agent Information Option(DHCP 中继代理信息选项),选项号为 82,故被称为 Option82,相关标准文档为 RFC3046。当 DHCP 服务器和客户端不在同一个子网内时,客户端要想从DHCP 服务器上分配到 IP 地址,就必须由 DHCP 中继代理(DHCP Relay Agent)来转发 DHCP 请求包。DHCP 中继代理将客户端的 DHCP 报文转发到 DHCP 服务器之前,可以插入一些选项信息,以便DHCP 服务器能更精确的得知客户端的信息,从而能更灵活地按相应的策略分配 IP 地址和其他参数。
DHCP 中继代理(Option 82、DHCP Snooping)和 DHCP Server 之间的关系:
1.交换机开启了 DHCP Snooping 功能后,默认情况下,将对从非信任端口收到的 DHCP 请求报文插入选项 82 信息;
(1)默认时 SW2(上行交换机)从 Untrusted 端口到带有 Option 82 的 DHCP 请求报文时会将这个报文丢弃;
DHCP Snooping
可以在 SW2 上配置“ip dhcp snooping information allow-untrusted”全局命令,将不丢弃该
报文;可以在 SW2 的 Untrusted 接口配置“ip dhcp snooping trust”接口命令,这样 SW2 就能接收带有 Option 82 的 DHCP 请求报文了,但是不建议这样做,因为这样将不建立该接口的 DHCP 监听绑定表,会降低安全性。
(2)DHCP Srver 和 DHCP Client 在同一个子网的情况下,交换机会把 Option 82 的值填为 0(即0.0.0.0)。
2.以 Windows Server 2003 为 DHCP 的服务器不认为 Option 82 的值为 0 的 DHCP 请求报文是错误的;
DHCP Snooping
以 Cisco IOS 为 DHCP 的服务器默认时会认为 Option 82 的值为 0 的 DHCP 请求报文是错误的,它将丢弃这个报文。
DHCP Snooping
(1)可在 SW1 上配置“no ip dhcp snooping information option”命令,不插入 Option 82;
(2)可在 R1 上选择配置以下命令,允许 Option 82 的值为 0 的 DHCP 请求报文通过:
接口命令:“ip dhcp relay information trust”,仅对路由器当前接口有效;
全局命令:“ip dhcp relay information trust-all”,对路由器所有接口有效。
Ip dhcp snooping database flash:xx.txt 把缓存的 snooping 表存放在一个能够存储的位置

四、DAI–ARP 欺骗
ARP 协议是用来获取目的计算机或者网关的 MAC 地址的,通信发起方以广播方式发送 ARP 请求,拥有目的 IP 地址或者网关 IP 地址的工作站给予 ARP 应答,送回自己的 IP 和 MAC 地址。ARP 协议支持一种无请求 ARP 功能,同一网段上的所有工作站收到主动 ARP 广播后会将发送者的 MAC地址和其宣布的 IP 地址保存,覆盖以前 Cache 的同一 IP 地址和对应的 MAC 地址。由于 ARP 无任何身份真实校验机制,攻击者发送误导的主动式 ARP 使网络流量经过恶意攻击者的计算机,攻击者就成为了通信双方的中间人,达到窃取甚至篡改数据的目的。攻击者发送的主动模式 ARP采用发送方私有 MAC 地址而非广播地址,通信接收方根本不会知道自己的 IP 地址被取代。
启用 DAI
DAI(Dynamic ARP Inspection 动态 ARP 检查)可以防止 ARP 欺骗,它可以帮助保证接入交换机只传递“合法的”ARP 请求和应答信息。DAI 基于 DHCP Snooping 来工作,DHCP Snooping 的监听绑定表包括 IP 地址与 MAC 地址的绑定信息,并将其与特定的交换机端口相关联,DAI 可以用来检查所有非信任端口的 ARP 请求和应答(主动式 ARP 和非主动式 ARP),确保应答来自真正的 MAC所有者。交换机通过检查端口记录的 DHCP 绑定信息和 ARP 应答的 IP 地址决定其是否是真正的MAC 所有者,不合法的 ARP 包将被拒绝转发。
DAI 针对 VLAN 配置,对于同一 VLAN 内的接口,可以开启 DAI 也可以关闭,如果 ARP 包是从一个可信任的接口接收到的,就不需要做任何检查;如果 ARP 包是从一个不可信任的接口上接收到的,该包就只能在绑定信息被证明合法的情况下才会被转发出去。这样,DHCP Snooping 对于DAI 来说也成为必不可少的。DAI 是动态使用的,相连的客户端主机不需要进行任何设置上的改变。对于没有使用 DHCP 的服务器,个别机器可以采用静态添加 DHCP 绑定表或 ARP access-list的方法实现。另外,通过 DAI 可以控制某个端口的 ARP 请求报文频率。一旦 ARP 请求频率超过预先设定的阀值,立即关闭该端口。该功能可以阻止网络扫描工具的使用,同时对有大量 ARP报文特征的病毒或攻击也可以起到阻断作用DAI 根据 DHCP 监听绑定表来工作;DAI 也分为信任端口和非信任端口,默认所有端口都为非信任端口;DAI 检查所有非信任端口请求和响应的 ARP 数据包,对不符合 DHCP 监听绑定表要求的 ARP 数据包丢弃。所以交换机中必须要有所有非信任端口主机的监听绑定条目,否则该主机将不能通信。这将使所有主机都被迫采用 DHCP 获取 IP 地址(或管理员指定的 IP 地址),因为DHCP 监听绑定表已经对其进行了绑定,可以有效地防止用户私自更改指定 IP 地址。
SW1(config)#ip arp inspection vlan 1 //在 Vlan1 启用 DAI
SW1(config)#ip arp inspection validate src-mac dst-mac ip //检查 ARP(请求和响应)报文中的源 MAC 地址、目的 MAC 地址、源 IP 地址和 DHCP Snooping 绑定中的信息是否一致

SW1(config)#int f0/1
SW1(config-if)#ip arp inspection trust //配置本接口为信任接口
SW1(config)#int range f0/11 - 12
SW1(config-if)#ip arp inspection limit none //取消 ARP 包的限制,默认 15 个包/秒
SW(config-if)#ip arp inspection limit rate 10

五、IPSG–IP 地址欺骗
IP 地址欺骗是指行动产生的 IP 数据包为伪造的源 IP 地址,以便冒充其它系统或发件人的身份;这也是黑客进行 DoS(Denial of Service 拒绝服务)攻击时经常同时使用的一种手段。
启用 IPSG
IPSG(IP Source Guard IP 源保护)是一种基于 IP/MAC 的端口流量过滤技术,它可以防止局域网内的 IP 地址欺骗攻击。IPSG 能够确保二层网络中终端设备的 IP 地址不会被劫持,而且还能确保非授权设备不能通过自己指定 IP 地址的方式来访问网络或攻击网络导致网络崩溃及瘫痪。IPSG中有一个 IP 源绑定表(IP Source Binding Table),作为每个端口接收到的数据包的检测标准,只有在两种情况下,交换机会转发数据:所接收到的 IP 包满足 IP 源绑定表中 Port/IP/MAC 的对应关系;所接收到的是 DHCP 数据包,其余数据包将被交换机做丢弃处理。IPSG 也是基于 DHCP Snooping 进行工作的,交换机从 DHCP 监听绑定表自动学习获得接口上绑定的 MAC 地址和 IP 地址。连接在交换机上的所有 PC 都被设置为动态获取 IP 地址,PC 作为 DHCP客户端通过广播发送 DHCP 请求,DHCP 服务器将含有 IP 地址信息的 DHCP 回复通过单播的方式发送给 DHCP 客户端,交换机从 DHCP 报文中提取关键信息(包括 IP 地址、MAC 地址、VLAN 号、端口号和租期等)并把这些信息保存到 DHCP 监听绑定表中。交换机根据 DHCP 监听绑定表的内容自动生成 IP 源绑定表,然后交换机根据 IP 源绑定表里的面内容自动在接口加载基于端口的ACL,由该 ACL 过滤所有 IP 流量。在客户端发送的 IP 数据包中,只有其源 IP 地址和 MAC 地址满足源 IP 绑定表才会被发送,对于具有源 IP 绑定表之外的其它源 IP 地址的流量,都将被过滤。默认时,IPSG 不检查所有接口的数据包,因此 IPSG 只要在不信任接口上进行配置即可,交换机的流量非常大,太多接口的检测会影响交换机的性能。
SW1(config)#int f0/2
SW1(config-if)#ip verify source port-security //在本接口启用 IPSG 功能
SW(config)#int range f0/3 - 4
SW(config-if)#ip verify source port-security
SW#ip source binding 0023.04e5.b221 vlan 1 172.16.1.3 int f0/3

六、端口阻塞:
当分组到达交换机时,交换机在 MAC 地址表中执行目的地 MAC 地址查询,确定用哪个端口发出和转发分组。如果在 MAC 地址表中没有发现条目,则交换机将向相同 VLAN(广播域)中的所有端口广播洪泛未知单播或组播流量。给受保护端口转发未知单播或组播流量,这将可能出现安全问题。使用端口阻塞特性可以阻塞正在转发的未知单播或多播流量。
SW1(config)#int f0/0
SW1(config-if)#switchport block multicast
SW1(config-if)#switchport block unicast
SW1#show int f0/0 switchport

七、风暴控制
在接口上开启风暴控制,设置风暴阀值,如果接口的流量超过阀值则开启惩罚措施。
交换安全——详述_第1张图片

你可能感兴趣的:(网络安全)