网络安全学习(3):DHCP
DHCP
DHCP具体在这里不会赘述,主要讲DHCP原理、部署、安全。
DHCP原理
可以称为DHCP租约过程,分为四个步骤
- 客户机发生DHCP Discovery(发现)广播包
客户机广播请求IP地址(包含客户机的MAC地址)
- 服务器响应DHCP Offer广播包
服务器响应提供IP地址(无子网掩码、网关等参数)
- 客户机发送DHCP Request广播包
客户机选择IP(也可认为确认使用哪个IP)
- 发送DHCP ACK(确认)广播包
服务器确定租约,并提供网卡详细参数IP、掩码、网关、DNS、租期等
DHCP续约
当50%过后,客户机会再次发送DHCP Request包进行续约;
若服务器未响应,则会继续使用且在87.5%再次发送进行续约,如果仍然无响应,则释放IP地址,重新进行DHCP租约过程获取IP地址。
当无任何服务器响应时,会自动给自己分配一个169.254.x.x/16
(无效IP地址)。
部署DHCP服务器
使用的服务器版本:Windows Server 2022
首先我们打开设置,找到应用,选择程序与功能(相关设置)
我们选择启用或关闭Windows功能,按步骤选择DHCP服务器,完成功能的安装。接着我们对虚拟机进行设置,将其设置为内部网络,并创建一个虚拟网络
然后我们进入到WindowsServer的网络连接设置,打开TCP/IP设置
我们需要设置我们的网段,这里我们使用10.1.1.x
网段,子网掩码选择255.255.255.0
。设置完成后,我们使用netstat -an查看我们服务器的网络状况
发现存在这两个端口,这两个端口就是我们提供DHCP协议服务的端口。
接下来我们要设置我们的地址池/作用域
。我们通过管理工具,选择工具,打开DHCP,出现一个这样的界面
首先我们需要右键IPv4,选择新建作用域,我们可以按照我们的需求分配地址池,我一般习惯从11开始,并且预留结束,即250结束。然后长度选择24
排除ip和租期可以根据自己需求分配。DNS和网关地址都由具体情况而修改。WINS服务器可以直接跳过。即可完成部署。
接着我们进入客户机,同样修改网络到同一个虚拟网下,开启自动获取IP地址
已成功获取到DHCP分配的地址。
常见的客户机上关于获取DHCP相关的命令:
1 | ipconfig /release 释放IP(取消租约) |
除了通过命令取消租约,我们还可以通过改成手动配置IP,也可以释放租约。
地址保留
当客户机上需要使用动态获取IP地址时,而又需要为他在这个网段固定一个IP地址时,我们会用到地址保留。
在作用域中,找到保留,右键可以新建一个保留,填入固定的IP地址和MAC地址,即可为对应MAC的地址的在此网段分配固定的IP地址。
选项优先级
首先我们来介绍服务器选项,假设我们在这台DHCP服务器上需要部署多个网段的分配,我们之前提及,我们需要为作用域分配作用域选项,包括DNS服务器、路由器等。
我们为了简化创建流程我们可以在创建时,把部分设置都留空,然后在作用域的同一层里面我们发现有一个服务器选项。
这个服务器选项会默认继承给作用域内。
但是我们发现网关这个选项,是没有办法通过在服务器选项中继承下来的,因为每个网段他们的网关都不相同,因此我们要给每个作用域自行设置网关。
跟面向对象语言中继承的关系很相同,作用域可以重写继承下来的服务器选项,这个就是选项优先级。
DHCP攻击与防御
- 攻击DHCP服务器:频繁的发送伪造的DHCP请求,直到耗尽地址池
防御:在交换机上(管理型)的端口上做动态MAC地址绑定 - 伪装DHCP服务器攻击:Hack通过将自己部署为DHCP服务器,为客户机提供非法IP地址
防御:在交换机上(管理型),除合法的DHCP服务器所在接口外,全部设置为禁止发送DHCP Offer包