一、关于DHCP的欺骗攻击

1、一个DHCP的攻击者,同样可以在一个VLAN中提供SERVER服务

2、DHCP攻击者会应答DHCP客户端的发送请求信息

3、攻击者会分配IP地址等信息和默认网关给DHCP客户端

说明:在一个VLAN中存在多个DHCP服务器可能会造成地址分配冲突问题

二、解决DHCP的欺骗攻击(DHCP SnoopingDHCP监听)

1、DHCP Snooping 允许配置 trusted(信任)端口和untrusted(非信任)端口

2、Untrusted 端口不能够处理DHCP的应答消息

3、DHCP Snooping 被配置在DHCP Server 的上行链路的(接入层)交换机

三、配置步骤

Switch(config)# ip dhcp snooping//启用DHCP Snooping

Switch(config)# ip dhcp snooping information option //启用82选项

//82选项的功能:将DHCP请求发给DHCP服务器之前,Supervisor Engine 将向数据包中增加入口模块、端口、VLAN和、交换机MAC地址

Switch(config-if)# ip dhcp snooping trust//配置信任端口

Switch(config)# ip dhcp snooping vlan//DHCP监听作用的VLAN

Switch# show ip dhcp snooping

四、IPSG (IP的源防护)

IP SOURCE GUARD是在DHCP SNOOPING功能的基础上,形成IP SOURCE BINDING表,只作用在二层端口上。

IPSG能够提供检测机制来确保单个接口所接收到的数据包能够被各个接口所接收。如果检查成功通过,那么就将许可数据包;否则就会发生违背策略的活动。IPSG不仅通够确保第2层网络中终端设备的IP地址不会产生冲突或占用,而用还能确保非授权的设备不能够通过自己指定的IP地址的方式来访问网络或导致网络不正常状态。


DAI(动态ARP检测)

ARP(地址解析协议)的绑定

PC机静态ARP绑定:

C:> ARP –s 192.168.1.1 00-50-8b-f0-0c-3e//ARP静态绑定

C:> ARP –d//清除当前ARP列表

C:> ARP –a//查看当前所有ARP列表

Router的静态ARP绑定:

Router(config)# arp 192.168.2.69 0001.1111.1111 arpae0/0//绑定

Router# show arp//查看ARP列表

Router# clear arp-cache//清除ARP列表

DAI(DYNAMIC ARP INSPECTION)是一种能够验证网络中ARP数据包的安全特性的一项技术。

DAI也是以DHCP SNOOPING BINDING DATABASE为基础的,也区分为信任和非信任端口,DAI只检测非信任端口的ARP包,可以截取、记录和丢弃与SNOOPING BINDING中IP地址到MAC地址映射关系条目不符的ARP包。如果不使用DHCP SNOOPING,则需要手工配置ARP ACL。

虽然dhcp snooping是用来防止非法的dhcp server接入的,但是它一个重要作用是一旦客户端获得一个合法的dhcp offer。启用dhcp snooping设备会在相应的接口下面记录所获得IP地址和客户端的mac地址。这个是后面另外一个技术ARP inspection检测的一个依据。ARP inspection是用来检测arp请求的,防止非法的ARP请求。认为是否合法的标准的是前面dhcp snooping时建立的那张表。因为那种表是dhcp server正常回应时建立起来的,里面包括是正确的arp信息。如果这个时候有arp攻击信息,利用ARP inspection技术就可以拦截到这个非法的arp数据包。其实利用这个方法,还可以防止用户任意修改IP地址,造成地址冲突等问题。


一、配置SW1的防护功能

SW1(config)# ip dhcp snooping//启用DHCP Snooping

SW1(config)# ip dhcp snooping information option //启用82选项

SW1(config)# ip dhcp snooping vlan 10,20//DHCP监听作用的VLAN

SW1(config)# ip dhcp database flash:dhcp.db//将DHCP绑定信息保存到dhcp.db中

SW1(config)# ip dhcp snooping verify mac-address

SW1(config)# interface f0/21

SW1(config-if)# switchport mode access

SW1(config-if)# switchport port-security

SW1(config-if)# ip verify source port-security

SW1(config)# interface f0/23

SW1(config-if)# switchport mode access

SW1(config-if)# switchport port-security

SW1(config-if)# ip verify source port-security

可选配//SW1(config)# ip source binding 0000.0000.0001 vlan 10 172.16.1.1 interface f0/2

可选配//SW1(config)# ip source binding 0000.0000.0002 vlan 20 172.16.2.1 interface f0/1

SW1(config)# ip arp inspection vlan 10,20//ARP检测基于VLAN10VLAN20

SW1(config)# ip arp inspection validate src-mac dst-mac ip //基于源MAC 目标MAC和IP

//DHCP服务器的配置

DHCP-SERVER 使用路由器来完成

Router(config)# ip dhcp pool vlan10      定义地址池

Router(config-vlan)# network 172.16.1.0 255.255.255.0       定义地址池做用的网段及地址范围
Router(config-vlan)# default-router 172.16.1.254      定义客户端的默认网关
Router(config-vlan)# dns-server 218.108.248.200        定义客户端的dns

Router(config-vlan)#exit

Router(config)# ip dhcp pool vlan20

Router(config-vlan)# network 172.16.2.0 255.255.255.0

Router(config-vlan)# default-router 172.16.2.254

Router(config-vlan)# dns-server 218.108.248.200

Router(config-vlan)# exit

Router(config)# ip dhcp excluded-address 172.16.1.100 172.16.1.254//配置保留地址段

Router(config)# ip dhcp excluded-address 172.16.2.100 172.16.2.254

Router(config)# interface e0/0

Router(config-if)# ip address 172.16.3.1 255.255.255.0

Router(config-if)# no shutdown

交换机上的配置

SW1(config)# interface vlan 10

SW1(config-if)# ip address 172.16.1.254 255.255.255.0

SW1(config-if)# ip helper-address 172.16.3.1//以单播向DHCP-SERVER发送请求

SW1(config-if)# interface vlan20

SW1(config-if)# ip address 172.16.2.254 255.255.255.0

SW1(config-if)# ip helper-address 172.16.3.1