DHCP部署与安全
1.DHCP是动态主机配置协议,使用UDP协议工作,目的是获取相应的IP地址,可以动态分配IP地址,根据租约到期或者续约租期方式来管理IP地址的分配。
2.DHCP服务器住在67端口,DHCP客户端住在68端口
Client传送封包给Server时,源是UDP 68端口,目的是UDP 67端口
从Server传送给Client时,源是UDP 67端口,目的是UDP 68端口
3.DHCP工作过程
- 客户机向服务器发送DHCP_discover报文,申请IP。
- 服务器向客户端返回DHCP_OFFER报文,指定一个将要分配的IP。
- 客户机向服务器发送DHCP_REQUSET报文,请求这个IP。
- 服务器ping几次这个IP(通常为3次),若没有响应,则代表这个IP无人用,可以分配给客户机,之后向客户机发送DHCP_ACK报文,确认可以分配;若有响应,则代表有人用,会发送DHCP_NAK报文,拒绝分配。
- 若客户端收到DHCP_ACK,则发送一次免费的ARP,判断这个IP是否已被使用,没有则绑定这个IP;否则向服务器发送DHCP_DECLINE报文,拒绝这次分配,并重新执行第一步。 若收到DHCP_NAK,则直接重新执行第一步。
4.续约租期
- 当客户机IP地址已经用到50%的时间,续租一下,客户端会以单播形式向服务端发一个request包,服务器响应时会回应一个ACK包,重新约定一个时间。
- 若服务器无响应,客户机会继续使用地址,当使用到87.5%时,会在续租一次,同时以广播方式发送一个request,服务端收到后,会响应一个ACK包,重新约定一个时间。
- 若服务器还是没有响应,客户机就会直接使用到过期。
5.重新连接使用IP地址
客户端重新登陆网络时,可以不需要从第一步发送DISCOVER报文开始,可以直接发送REQUEST报文给服务器。
6.客户端主动释放IP地址
ipconfig -release //释放
ipconfig -renew //重连
7.DHCP安全性
可能受到恶意DHCP服务器攻击(无法上网、或引导到外网,抓明文流量)、DHCP饥饿攻击(将IP地址全都用完)
措施:
- 设置适当租约时间:让IP地址不会长期被占用,减轻攻击的影响。
- 使用MAC地址过滤:因为一个MAC地址只可以租用一个IP,所以可以通过过滤MAC地址,允许已知地址租用来预防攻击,但需要管理员手动维护,对大型动态网络来说,难以管理。
- 限制客户端的IP分配:限制客户端所能获取的IP地址的数量,预防饥饿攻击。
- DHCP Snooping:嗅探,它确保只有受信任的端⼝可以响应DHCP请求,阻⽌未经授权的设备分配IP地址。
- 监控与警报:检测到异常获取IP的行为即使报警。
- 安全强化:保持系统和软件的最新状态,及时更新,减少已知漏洞被利用的机会。