Debian DHCP如何保障安全性
小樊
37
2025-12-26 14:45:05
Debian DHCP 安全性加固清单
基础配置与访问控制
- 明确监听接口:在 /etc/default/isc-dhcp-server 中设置仅监听受管网口(如 INTERFACESv4=“eth0”),避免在所有接口上提供 DHCP 服务,降低攻击面。
- 限制地址池与租约:在 /etc/dhcp/dhcpd.conf 中仅分配必要地址段,并设置合理租约(如 default-lease-time 600; max-lease-time 7200;),减少被滥用窗口。
- 静态绑定与白名单:对关键设备使用 host … { hardware ethernet ; fixed-address ; } 固定分配;结合 allow known-clients; deny unknown-clients; 仅允许受信主机获取地址。
- 权威模式:在子网声明中使用 authoritative;,对来自非本网段的非法请求快速拒绝,避免地址冲突与欺骗扩散。
- 精细化选项:仅下发必需参数(如 routers、subnet-mask、domain-name-servers),避免泄露内部拓扑与冗余信息。
网络层与交换机侧防护
- 启用 DHCP Snooping:在接入交换机上将连接 DHCP 服务器的端口设为 trusted,其余端口设为 untrusted,仅允许合法服务器分配地址,抑制 DHCP 欺骗。
- 启用 IP Source Guard:基于 DHCP Snooping 绑定表,限制端口仅能使用分配的 IP,防止私设 IP 接入。
- 控制平面安全:对管理平面与服务器所在 VLAN 实施 ACL/端口安全,减少未授权设备接入与流量注入风险。
防火墙与端口安全
- 最小化放行 DHCP 流量:仅允许来自受管 VLAN 的 UDP 67/68。示例:
- UFW:sudo ufw allow from 192.168.1.0/24 to any port 67 proto udp;sudo ufw allow from 192.168.1.0/24 to any port 68 proto udp
- iptables:sudo iptables -A INPUT -p udp --dport 67 -s 192.168.1.0/24 -j ACCEPT;sudo iptables -A INPUT -p udp --sport 68 -j ACCEPT
- 默认拒绝:在上述放行规则之外对 UDP 67/68 采用默认拒绝策略,防止未授权主机访问 DHCP 服务。
DNS 与更新安全
- 关闭或严格控制动态 DNS 更新:在 /etc/dhcp/dhcpd.conf 中设置 ddns-update-style none; ignore client-updates;,避免客户端随意更新 DNS,降低域名劫持风险。
- 系统与安全更新:保持系统与 isc-dhcp-server 最新,及时修补漏洞(如 sudo apt update && sudo apt upgrade),降低已知风险暴露窗口。
日志、监控与验证
- 启用日志与审计:在 /etc/dhcp/dhcpd.conf 中设置 log-facility local7;,集中记录分配事件;定期审计 /var/log/syslog 与 /var/lib/dhcp/dhcpd.leases,核对异常 MAC/IP 与频繁续租。
- 服务状态与连通性检查:使用 sudo systemctl status isc-dhcp-server 确认服务运行;在客户端执行 journalctl -u NetworkManager 或抓包(如 sudo tcpdump -i eth0 -nn udp port 67 or 68)验证 DHCP 报文交互是否符合策略。