Linux DHCP服务器的安全设置有哪些要点
小樊
42
2025-12-20 01:18:02
Linux DHCP服务器安全设置要点
一 基础加固
- 保持软件与系统为最新,及时修补漏洞(如更新 ISC DHCP 软件包)。
- 严格控制文件与目录权限:例如将 /etc/dhcp/dhcpd.conf 设为 640,root:dhcpd;将 /var/lib/dhcp/dhcpd.leases 设为 640,dhcpd:dhcpd,防止未授权读取与篡改。
- 仅监听必要接口:在 /etc/default/isc-dhcp-server(或发行版对应配置)中设置 INTERFACESv4=“eth0”,避免暴露到非受控网段。
- 启用权威模式:在 dhcpd.conf 中加入 authoritative;,对不在地址池或非法请求的主机快速拒绝,减少被滥用风险。
- 精简配置与最小化选项:仅下发必要参数,避免开启不必要的 DDNS 或客户端更新,降低攻击面。
二 地址分配与访问控制
- 明确地址池边界:在 subnet 中使用 range 精确限定可分配区间,避免覆盖网关、服务器等关键地址。
- 静态绑定关键主机:通过 host { hardware ethernet ; fixed-address ; } 为服务器、网络设备、打印等关键终端保留固定地址,便于 ACL 与溯源。
- 限制未知客户端:在 dhcpd.conf 中使用 allow/deny unknown-clients; 控制是否向未在配置中声明的终端分配地址。
- 租约策略:根据网段与安全需求设置 default-lease-time / max-lease-time;高安全或访客网段可用较短租约,降低被长期占用的风险。
三 日志监控与防御常见攻击
- 启用与集中日志:在 dhcpd.conf 加入 option log-facility local7;,并在 rsyslog 配置 local7. /var/log/dhcpd.log*,便于审计与取证。
- 地址冲突检测:启用 ping-check on; ping-timeout 2;,在分配前探测地址冲突,降低误分配导致的异常。
- 防范 DHCP 饿死与报文洪泛:在交换机启用 DHCP Snooping 并配置速率检测/上送限制,仅放行合规速率的 DHCP 报文。
- 阻断伪装服务器与非法报文:将上联/合法 DHCP 服务器所在端口设为 信任,其余端口设为 非信任;基于 DHCP Snooping 绑定表 校验 DHCP REQUEST/RELEASE 的合法性,丢弃不匹配报文。
- 防中间人:结合 DAI(动态 ARP 检测) 或静态 ARP,确保 ARP 信息与绑定表一致才转发,抑制 ARP 欺骗。
- 接入数量控制:在启用 Snooping 后限制每端口/每 VLAN 的最大 DHCP 客户端数量,缓解资源耗尽型 DoS。
四 防火墙与网络接入控制
- 严格过滤 DHCP 流量:仅允许来自受控 VLAN 的 UDP 67/68 报文到达 DHCP 服务;示例(iptables):先放行受控网段 -s 192.168.1.0/24 -p udp --dport 67:68,再对全局 67/68 端口丢弃,避免被外部伪造请求干扰。
- 使用主机防火墙简化策略:如使用 UFW 仅允许受控网络访问 67/68/546/547(DHCPv6)等必要端口。
- 接入层安全协同:在交换机开启 DHCP Snooping 的基础上,结合 IP Source Guard 限制终端只能使用 DHCP 分配的 IP,防止私自设 IP。
- 终端准入:在可实施的环境下启用 802.1X 进行设备身份鉴别,未认证端口不分配网络参数。
五 运维与审计
- 持续更新与补丁:定期更新 ISC DHCP 与操作系统,修复已知漏洞。
- 配置与日志审计:定期审查 dhcpd.conf 变更、检查 /var/log/dhcpd.log 的异常请求/释放/续租行为,关注频繁失败、未知厂商 OUI、异常集中分配等迹象。
- 租约与绑定复核:周期性核对 dhcpd.leases 与静态绑定清单,清理不再使用的保留地址,确保地址池与业务一致。