一、DHCP定义
DHCP(动态主机配置协议)是一种用于自动分配IP地址和其他网络配置信息的协议。它工作在TCP/IP协议族中,主要用于局域网中的主机自动获取IP地址、子网掩码、默认网关、DNS服务器等信息。DHCP服务器可以为客户端计算机自动分配一个可用的IP地址,这样,用户就可以轻松地将计算机连接到网络上而无需手动设置复杂的网络参数。
二、DHCP流程
1、Discovery:客户端(例如计算机或手机)首先发送一个Discovery广播消息,该消息通知网络中的所有DHCP服务器它正在寻找可用的IP地址。
2、Offer:其中一个DHCP服务器收到Discovery消息后,会发送一个Offer广播消息给客户端,提供一个新的IP地址给它使用。
3、Request:客户端接收到OFFER后,会发送一个Request广播消息给网络中的所有DHCP服务器,表示它接受特定的服务器提供的IP地址。客户端一般会以第一个收到的Offer为准,来向相对应的服务器发送ACK响应。
4、ACK:相应的DHCP服务器接收到Request后,会发送一个ACK确认消息给客户端,表示IP地址分配成功。
Lease(租约期限):分配完成之后,客户端可以使用此IP地址,直到租约到期。租约的期限可以从几分钟到几个小时,以及几天时间,在DHCP服务器上可以设置租约期限。
租约期限设置的考虑原则:
(1)、在临时的场合,如商城、咖啡厅等,租约期的时间设置短一些比较好,缺点就是会消耗服务器的资源(因为客户端发送续约的请求会比较频繁,客户端会在租约期到期前一半的时间发送第一次续约请求,例如:某客户端IP的租约期为1小时,当客户端使用此IP到大半小时的时候,客户端就会发送第一个续约请求给服务器)。
(2)、在长久性的场合,如家里、办公室等,租约期的时间设置长一些,优点是可以降低服务器的资源占用率。
三、DHCP攻击
DHCP攻击大致分为两个方向:客户机攻击,服务器攻击。
客户机攻击:用户伪装成客户机通过交换机接入到网络中,通过不同的MAC(物理地址)不断发送Discovery广播消息,目的是将服务器上面地址池中的IP地址使用完,从而达到网络中其它客户机无IP地址可用的目的。
服务器攻击:用户伪装为服务器通过交换机接入到网络中,当客户机发送Discovery广播请求时,提供错误的IP地址给客户机,让其网络中的客户机无法正确接入网络以及Internet网络。
防御原理:
1、针对客户机的攻击,在交换机中对于某个端口接入的Discovery请求进行MAC地址记录,如果端口异常,则锁定该MAC地址或下线该端口。
2、对于伪装成服务器接入的,交换机禁止除真实服务器以外的所有端口发送Offer响应。
此防御的前提,所使用的交换机都必须为“管理型”的交换机,管理型交换机才能对端口进行管理设置。