hello_me的blog
http://hellome.blog.51cto.com
第五部分 ip源保护(ip source guard)
ipsg提供检测机制来确保单个接口所接收到的数据包能够被各个接口所接收。如果检查成功通过,那么就将许可数据包;否则就会发生违背策略的活动。ipsg不仅能够确保第2层网络中终端设备的ip地址不会被劫持,而且还能确保非授权设备不能通过自己指定ip地址的方式来访问网络或导致网络崩溃及瘫痪。
在dhcp监听绑定表或静态ip源绑定的帮助下,ipsg能够获得有效的源端口信息。在不信任端口上启用dhcp snooping和ip源保护之后,交换机将阻止除了dhcp数据包之外的所有流量。一旦dhcp服务器分配了ip地址,那么就更新dhcp绑定表。ipsg然后会自动在接口加载基于端口的vlan访控(pacl)。这样将客户端流量限定到绑定表中所配置的源ip地址。对于来自源ip绑定之外的其他源ip地址的主机端口的流量,将会被过滤。
ip源保护只支持第2层端口,其中包括介入access和干道trunk接口。对于不信任端口(第2层),存在以下两种级别的ip流量安全过滤:
* 源ip地址过滤:根据源ip地址对ip流量进行过滤,只有当源ip地址与ip源绑定条目匹配,ip流量才允许通过。
当端口创建、修改、删除新的ip源绑定条目的时候,ip源地址过滤器将发生变化。为了能够反映ip源绑定的变更,端口pacl将被重新修改并重新应用到端口上。
默认情况下,如果端口没有任何ip源绑定配置的情况下启用了ip源保护,默认的pacl将拒绝端口的所有流量。如果你取消了ip源保护,端口的acl也会从接口上移除。
* 源ip和mac地址过滤:根据源ip地址和mac地址对ip流量进行过滤,只有当源ip地址和mac地址与ip源绑定条目匹配,ip流量才允许通过。
当以ip和mac地址作为过滤的时候,为了确保dhcp协议能够正常的工作,还必须启用dhcp监听选项82,对于没有选项82的数据,交换机不能确定用于转发dhcp服务器响应的客户端主机端口。相反地,dhcp服务器响应将被丢弃,客户机也不能获得ip地址
交换机使用端口安全来过滤源mac地址,所以端口上的端口安全的违规处理将关闭。
配置过程:
注意:
1. 在某个vlan上启用基于源ip地址的ip源保护之前,必须先启用dhcp监听功能
2. 如果是在trunk接口上对于多个vlan启用ip源保护,必须在所有的vlan上启用dhcp监听,同时要应用基于源ip过滤策略在所有的vlan
3. 启用基于源ip和mac地址的ip源保护之前,必须启用dhcp监听和端口安全(port security)
4. 在私有vlan上启用基于源ip和mac地址的ip源保护,端口安全是不支持的
5. ip源保护不支持以太通道(ethenchannel)
6. 在启用了802.x认证的情况下,也可以使用这种特性。
配置:
1) 进入全局模式 configure terminal
2) 进入接口模式 interface 接口
3) 启用ip源保护
基于源ip地址的 ip verify source
基于源ip和mac地址的 ip verify source port-security
注意:dhcp服务器必须支持选项82,或者客户端没有分配到ip地址。同时mac地址不能被学习为安全地址
5) 进入全局模式,添加静态的ip源绑定
ip source binding mac地址 vlan vlan号 ip地址 interface 接口
6) 验证结果
show ip verify source [interface 接口]
show ip source binding [ip地址] [mac地址] [interface 接口] [vlan vlan号] [dhcp snooping|static]
案例:
我们接着上部分试验继续
switch(config)#interface f0/2
switch(config-if)#switchport port-security
switch(config-if)#ip verify source port-security
switch(config)#interface f0/3
switch(config-if)#switchport port-security
switch(config-if)#ip verify source port-security
switch(config-if)#exit
switch(config)#ip source binding 00e0.1e60.7c86 vlan 10 192.168.1.1 interface f0/1
switch(config)#end
switch#show ip source bind
macaddress ipaddress lease(sec) type vlan interface
---------- ----------- ---------- ------------- ---- ----------------
00:10:7b:3c:01:da 192.168.1.2 85535 dhcp-snooping 10 fastethernet0/2
00:e0:1e:60:7c:86 192.168.1.1 infinite static 10 fastethernet0/1
total number of bindings: 3
----------------------------------------------------------------
switch#show ip verify source
interface filter-type filter-mode ip-address mac-address vlan
--------- ---------- ----------- --------------- ------------- ----------
fa0/2 ip-mac active 192.168.1.2 permit-all 10
fa0/3 ip-mac active deny-all permit-all 10
第六部分 动态arp检测
dai(dynamic arp inspection)动态arp检测是一种能够验证网络中arp地址解析协议数据报的安全特性。通过dai,网络管理员能够拦截、记录和丢弃具有无效mac地址/ip地址绑定的arp数据包。
如上图,主机a、主机b、主机c连接到交换机中相同的网络或同一个vlan中。主机a需要与主机b进行通信,主机a广播arp请求通过主机b的ip地址(ib)来获得主机b的mac地址。因为arp请求是以广播的形式传送,交换机和主机b收到主机a发出的arp请求之后,会在自己的arp缓存中创建或更新主机a的mac地址(ma)和ip地址(ia),然后主机b一单播得形式发送arp响应,交换机和主机a收到arp响应之后,主机a将更新自己的arp缓存,将主机b的ip地址和mac地址对应。
主机c破坏交换机的arp缓存,主机c发送伪造的arp响应(将自己的mac地址代替真实主机的mac地址,比如主机c用自己的mac地址(mc)替代主机b发给主机a的mac地址(mb)),使得主机a(或主机b)的ip地址和主机c的mac地址(mc)对应,主机c以中间人的身份发起攻击。这样造成主机a不能拥有主机b真实的mac地址的arp条目,同样,主机b也认为主机c的mac地址是映射到主机a ip地址的真实地址。对于主机a和主机b之间的通信,都会被发往主机c,主机c能够在阅读内容后进行流量的重定向。
动态arp检测是一个安全特性,通过dai,网络管理员能够检测、拦截、记录和丢弃具有无效mac地址/ip地址绑定的arp数据包。能够预防“中间人”的攻击。
动态arp检测只会转发合法的arp请求和响应包,他会:
* 检测不信任的端口上的所有arp请求和响应包
* 在更新本地的arp缓存和转发arp数据包到目的地之前,会检测是否是合法的ip和mac地址对应内容。
* 如果确认是不合法的数据包,他会丢弃数据包并记录这个违规的行为。
动态arp检测依据一个信任的数据库(如手工配置或dhcp监听绑定表)中合法的ip对应mac地址的条目来判断数据包的合法性。这个数据库可以手工指定配置或者在vlan中启用了dhcp监听动态学习建立。如果arp数据包是在信任端口上接收到的,交换机不会做任何检测直接转发arp数据包。如果是从不信任端口上接收到arp数据包,交换机只会转发合法的数据包。
在dhcp服务器存在的环境下,可以在每个vlan中启用dhcp监听和ip arp inspection vlan命令来启用动态arp检测。如果没有dhcp环境,用户需要使用arp 访问列表手工配置ip地址来启用动态arp检测合法的数据包。
接口信任状态和网络安全
如果arp数据包是在信任端口上接收到的,交换机不会做任何检测直接转发arp数据包。如果是从不信任端口上接收到arp数据包,交换机只会转发合法的数据包。
在一个典型的网络中,交换机中所有连接主机的端口配置为不信任端口,所有交换机与交换机相连的端口配置为信任端口。如下图,交换机a和交换机b运行动态arp检测,主机1和主机2需要从连接到交换机a的dhcp服务器来获得ip地址,交换机1建立主机1和主机2的ip和mac地址的绑定信息,交换机b建立主机2的ip和mac地址的绑定信息。如果交换机a和交换机b连接的端口设置为不信任端口,从主机1发出的arp数据包到达交换机b时,会被交换机b丢弃,这样主机1和主机2的联系就中断了。
配置过程:
默认配置:
特性 默认配置
-----------------------------------------
动态arp检测 所有vlan中不启用
接口信任状态 所有接口是不信任
进入arp数据包流量限制 不信任端口:15 pps信任端口:没有限制
没有dhcp环境下的arp访控 没有定义
合法核实 没有核实允许
日志缓冲 所有拒绝和丢弃arp数据包的行为都会被记录日志的缓冲大小为32系统信息数被限制为5秒钟一次
每个vlan的日志 所有的拒绝和丢弃的行为都被记录
