跳到主要内容

23. 安全考虑 (Security Considerations)

对 DHCP 的威胁本质上是内部人员威胁 (假定网络已正确配置, 企业 perimeter gateways 阻止 DHCPv6 端口). 不过, 无论网关如何配置, 内部人员和外部人员可能发起的攻击是相同的.

在中继代理和服务器之间为 IPsec 使用手工配置的预共享密钥, 不能防御重放的 DHCP 消息. 重放消息可能通过耗尽处理资源形成 DOS 攻击, 但不会通过错误配置或耗尽其他资源 (如可分配地址) 形成攻击.

一种针对 DHCP 客户端的特定攻击是建立恶意服务器, 其意图是向客户端提供错误的配置信息. 这样做的动机可能是发起 "man in the middle" 攻击, 使客户端与恶意服务器通信, 而不是与 DNS 或 NTP 等某项服务的有效服务器通信. 恶意服务器也可能通过错误配置客户端发起拒绝服务攻击, 导致客户端的所有网络通信失败.

DHCP 客户端还面临另一种威胁, 即错误或意外配置的 DHCP 服务器响应 DHCP 客户端请求, 并返回非故意但错误的配置参数.

DHCP 客户端还可能因收到来自恶意服务器的 Reconfigure 消息而受到攻击, 该消息会导致客户端从该服务器获取错误的配置信息. 注意, 虽然客户端通过中继代理发送其响应 (Renew 或 Information-request 消息), 因此该响应只会被 DHCP 消息被中继到的服务器接收, 但恶意服务器可以向客户端发送 Reconfigure 消息, 随后 (经过适当延迟后) 发送一条会被客户端接受的 Reply 消息. 因此, 即使恶意服务器不在客户端和服务器之间的网络路径上, 仍可能对客户端发起 Reconfigure 攻击. 使用具有加密强度且不易预测的 transaction IDs, 也会降低此类攻击成功的概率.

针对 DHCP 服务器的特定威胁是无效客户端伪装成有效客户端. 这样做的动机可能是盗取服务, 或规避审计以达成各种恶意目的.

客户端和服务器共同面临的威胁是资源 "denial of service" (DoS) 攻击. 这些攻击通常涉及耗尽可用地址, 或耗尽 CPU 或网络带宽, 并且只要存在共享资源就会出现.

在中继代理向 Relay Forward 消息添加额外选项的情况下, 中继代理和服务器之间交换的消息可能被用于发起 "man in the middle" 或 denial of service 攻击.

此威胁模型不认为 DHCP 消息内容的隐私性重要. DHCP 不用于交换必须对其他网络节点保密的认证信息或配置信息.

DHCP 认证为 DHCP 客户端和服务器的身份提供认证, 并为 DHCP 客户端和服务器之间传递的消息提供完整性保护. DHCP 认证不为 DHCP 消息内容提供任何隐私性.

第 21.4 节描述的 Delayed Authentication protocol 使用客户端和服务器之间共享的秘密密钥. 在共享密钥中使用 "DHCP realm" 可标识管理域, 使客户端在管理域之间漫游时能够选择适当的一个或多个密钥. 然而, Delayed Authentication protocol 未定义任何密钥共享机制, 因此客户端可能需要为其遇到的每个管理域分别使用密钥. 共享密钥的使用可能不易扩展, 并且不能提供对已泄露密钥的 repudiation. 此协议聚焦于解决域内问题, 在该场景中, 共享密钥的带外交换是可行的.

由于 Reconfigure 消息带来的攻击机会, DHCP 客户端 MUST 丢弃任何不包含认证或未通过认证协议验证过程的 Reconfigure 消息.

第 21.5 节描述的 Reconfigure Key protocol 可防止恶意 DHCP 服务器使用 Reconfigure 消息对客户端发起 denial of service 或 man-in-the-middle 攻击. 如果攻击者能够拦截 DHCP 服务器向客户端发送密钥的初始消息, 则此协议可能被攻破.

服务器与中继代理之间的通信以及中继代理之间的通信, 可以按第 21.1 节所述通过使用 IPSec 来保护. 在此场景中, 使用手工配置和安装静态密钥是可接受的, 因为中继代理和服务器属于同一管理域, 并且中继代理还需要其他具体配置 (例如, DHCP 服务器地址配置) 以及 IPSec 配置.