在Cisco中有以下三种方案可供选择,方案1和方案2实现的功能是一样的,即在具体的交换机端口上绑定特定的主机的MAC地址(网卡硬件地址),方案3是在具体的交换机端口上同时绑定特定的主机的MAC地址(网卡硬件地址)和IP地址。
1.方案1——基于端口的MAC地址绑定
思科2950交换机为例,登录进入交换机,输入管理口令进入配置模式,敲入命令:
ng=1 cellPadding=0 width="80%" align=left bgColor=#cccccc
border=0> Switch#config terminal #进入配置模式
Switch(config)# Interface fastethernet 0/1 #进入具体端口配置模式
Switch(config-if)#Switchport port-secruity #配置端口安全模式
Switch(config-if )switchport port-security mac-address MAC(主机的MAC地址)
#配置该端口要绑定的主机的MAC地址
Switch(config-if )no switchport port-security mac-address MAC(主机的MAC地址)
#删除绑定主机的MAC地址
注意: 以上命令设置交换机上某个端口绑定一个具体的MAC地址,这样只有这个主机可以使用网络,如果对该主机的网卡进行了更换或者其他PC机想通过这个端口使用网络都不可用,除非删除或修改该端口上绑定的MAC地址,才能正常使用。
注意:以上功能适用于思科2950、3550、4500、6500系列交换机
2.方案2——基于MAC地址的扩展访问列表
Switch(config)Mac access-list extended MAC10
#定义一个MAC地址访问控制列表并且命名该列表名为MAC10
Switch(config)permit host 0009.6bc4.d4bf any
#定义MAC地址为0009.6bc4.d4bf的主机可以访问任意主机
Switch(config)permit any host 0009.6bc4.d4bf
#定义所有主机可以访问MAC地址为0009.6bc4.d4bf的主机
Switch(config-if )interface Fa0/20 #进入配置具体端口的模式
Switch(config-if )mac access-group MAC10 in
#在该端口上应用名为MAC10的访问列表(即前面我们定义的访问策略)
Switch(config)no mac access-list extended MAC10
#清除名为MAC10的访问列表
此功能与应用一大体相同,但它是基于端口做的MAC地址访问控制列表限制,可以限定特定源MAC地址与目的地址范围。
注意:以上功能在思科2950、3550、4500、6500系列交换机上可以实现,但是需要注意的是2950、3550需要交换机运行增强的软件镜像(Enhanced Image)。
3.方案3——IP地址的MAC地址绑定
只能将应用1或2与基于IP的访问控制列表组合来使用才能达到IP-MAC 绑定功能。
Switch(config)Mac access-list extended MAC10
#定义一个MAC地址访问控制列表并且命名该列表名为MAC10
Switch(config)permit host 0009.6bc4.d4bf any
#定义MAC地址为0009.6bc4.d4bf的主机可以访问任意主机
Switch(config)permit any host 0009.6bc4.d4bf
#定义所有主机可以访问MAC地址为0009.6bc4.d4bf的主机
Switch(config)Ip access-list extended IP10
#定义一个IP地址访问控制列表并且命名该列表名为IP10
Switch(config)Permit 192.168.0.1 0.0.0.0
any
#定义IP地址为192.168.0.1的主机可以访问任意主机
Switch(config)Permit any 192.168.0.1 0.0.0.0
#定义所有主机可以访问IP地址为192.168.0.1的主机
Switch(config-if )interface Fa0/20
#进入配置具体端口的模式
Switch(config-if )mac access-group MAC10 in
#在该端口上应用名为MAC10的访问列表(即前面我们定义的访问策略)
Switch(config-if )Ip access-group IP10 in
#在该端口上应用名为IP10的访问列表(即前面我们定义的访问策略)
Switch(config)no mac access-list extended MAC10
#清除名为MAC10的访问列表
Switch(config)no Ip access-group IP10 in
#清除名为IP10的访问列表
上述所提到的应用1是基于主机MAC地址与交换机端口的绑定,方案2是基于MAC地址的访问控制列表,前两种方案所能实现的功能大体一样。如果要做到IP 与MAC地址的绑定只能按照方案3来实现,可根据需求将方案1或方案2与IP访问控制列表结合起来使用以达到自己想要的效果。
2 使用DHCP Snooping 、DAI、IP Source
Guard技术能解决的有关问题
1.利用DHCP
Snooping防范DHCP攻击
1.1采用DHCP管理的常见问题:
采用 DHCP
server 可以自动为用户设置网络 IP
地址、掩码、网关、 DNS 、 WINS 等网络参数,简化了用户网络设置,提高了管理效率。但在 DHCP 管理使用上也存在着一些另网管人员比较问题,常见的有:
• DHCP
server 的冒充。
• DHCP
server 的 Dos 攻击。
• 有些用户随便指定地址,造成网络地址冲突。
由于 DHCP 的运作机制,通常服务器和客户端没有认证机制,如果网络上存在多台 DHCP
服务器将会给网络照成混乱。由于用户不小心配置了 DHCP 服务器引起的网络混乱非常常见,足可见故意人为破坏的简单性。通常黑客攻击是首先将正常的 DHCP 服务器所能分配的 IP 地址耗尽,然后冒充合法的 DHCP 服务器。最为隐蔽和危险的方法是黑客利用冒充的 DHCP 服务器,为用户分配一个经过修改的 DNS server ,在用户毫无察觉的情况下被引导在预先配置好的假金融网站或电子商务网站,骗取用户帐户和密码,这种攻击是非常恶劣的。
1.2 DHCP Snooping技术概况
DHCP
Snooping技术是DHCP安全特性,通过建立和维护DHCP Snooping绑定表过滤不可信任的DHCP信息,这些信息是指来自不信任区域的DHCP信息。DHCP Snooping绑定表包含不信任区域的用户MAC地址、IP地址、租用期、VLAN-ID 接口等信息,如下表所示:
S3560#sh ip dhcp snooping binding
MacAddress IpAddress
Lease(sec) Type VLAN Interface
------------------ --------------- ---------- ------------- ---- --------------------
08:00:46:AC:70:B8 172.16.2.11 692092
dhcp-snooping 2 FastEthernet0/47
Total number of bindings: 1
这张表不仅解决了 DHCP用户的IP和端口跟踪定位问题,为用户管理提供方便,而且还供给动态ARP检测DAI)和IP Source Guard使用。
1.3 防范方法
定义交换机上的信任端口和不信任端口,对于不信任端口的 DHCP 报文进行截获和嗅探,
DROP 掉来自这些端口的非正常
DHCP 报文。通过交换机的端口安全性设置每个 DHCP 请求指定端口上使用唯一的
MAC 地址,通常 DHCP 服务器通过 DHCP 请求的报文中的 CHADDR 段判断客户端 MAC 地址,通常这个地址和客户端的真实 IP 相同,但是如果攻击者不修改客户端的 MAC 而修改 DHCP 报文中 CHADDR ,实施 Dos 攻击, Port Security 就不起作用了, DHCP Snooping技术可以检查 DHCP 请求报文中的 CHADDR 字段,判断该字段是否和 DHCP 嗅探表相匹配,防止攻击者修改 DHCP 报文中 CHADDR。
2.利用Dynamic ARP
Inspection (DAI)技术防范ARP欺骗/ MITM(Man-In-The-Middle)攻击
1.1 MITM(Man-In-The-Middle) 攻击原理
按照 ARP 协议的设计,为了减少网络上过多的 ARP 数据通信,一个主机,即使收到的 ARP 应答并非自己请求得到的,它也会将其插入到自己的 ARP 缓存表中,这样,就造成了“ ARP 欺骗”的可能。如果黑客想探听同一网络中两台主机之间的通信(即使是通过交换机相连),他会分别给这两台主机发送一个 ARP 应答包,让两台主机都“误”认为对方的 MAC 地址是第三方的黑客所在的主机,这样,双方看似“直接”的通信连接,实际上都是通过黑客所在的主机间接进行的。黑客一方面得到了想要的通信内容,另一方 面,只需要更改数据包中的一些信息,成功地做好转发工作即可。在这种嗅探方式中,黑客所在主机是不需要设置网卡的混杂模式的,因为通信双方的数据包在物理
上都是发送给黑客所在的中转主机的。
1.2防范方法
思科 Dynamic
ARP Inspection (DAI)在交换机上提供IP地址和MAC地址的绑定, 并动态建立绑定关系。DAI 以 DHCP
Snooping绑定表为基础,对于没有使用DHCP的服务器个别机器可以采用静态添加ARP access-list实现。DAI配置针对VLAN,对于同一VLAN内的接口可以开启DAI也可以关闭。通过DAI可以控制某个端口的ARP请求报文 数量。通过这些技术可以防范“中间人”攻击。
1.3配置DAI后的效果:
• 在配置 DAI技术的接口上,用户端不能采用指定地址地址将接入网络。
• 由于 DAI检查 DHCP snooping绑定表中的IP和MAC对应关系,无法实施中间人攻击,攻击工具失效。
• 由于对 ARP请求报文做了速度限制,客户端无法进行认为或者病毒进行的IP扫描、探测等行为,如果发生这些行为,交换机马上报警或直接切断扫描机器。
• 用户获取 IP地址后,用户不能修改IP或MAC,如果用户同时修改IP和MAC必须是网络内部合法的IP和MAC才可,对于这种修改可以使用下面讲到的 IP Source Guard技术来防范。
3.利用IP Source
Guard技术防范IP/MAC欺骗
IP Source Guard 技术配置在交换机上仅支持在 2 层端口上的配置,通过下面机制可以防范 IP/MAC 欺骗:
• IP Source Guard 使用 DHCP sooping 绑定表信息。
• 配置在交换机端口上,并对该端口生效。
• 运作机制类似 DAI,但是 IP Source Guard不仅仅检查ARP报文,所有经过定义IP Source Guard检查的端口的报文都要检测。
• IP Source Guard检查 接口
所通过的流量的IP地址和MAC地址是否在DHCP sooping绑定表,如果不在绑定表中则阻塞这些流量。注意如果需要检查MAC需要DHCP服务器支持Option 82,同时使路由器支持Option 82信息。
通过在交换机上配置 IP
Source Guard:
• 可以过滤掉非法的 IP地址,包含用户故意修改的和病毒、攻击等造成的。
• 解决 IP地址冲突问题。
• 提供了动态的建立 IP+MAC+PORT的对应表和绑定关系,对于不使用DHCP的服务器和一些特殊情况机器可以采用利用全局命令静态手工添加对应关系到绑定表中。
• 配置 IP Source
Guard的接口初始阻塞所有非DHCP流量。
综上所述通过配置思科交换机的上述特征,不仅解决了一些典型攻击和病毒的防范问题,也为传统 IP地址管理提供了新的思路。
通过上面的几项技术解决了传统的利用DHCP服务器管理客户端IP地址的问题:
• 故意不使用手工指定静态 IP地址和DHCP分配地址冲突
• 配置 DHCP server
• 使用静态指定 IP遇到的问题
• 不使用分配的 IP地址和服务器或其他地址冲突
• 不容易定位 IP地址和具体交换机端口对应表
使用静态地址的重要服务器和计算机,可以进行静态绑定 IP+MAC、IP+MAC+PORT,手工配置DAI和 IP Source
Guard绑定表项, 来保护这些设备,同时也防止来自这些设备的攻击。