Linux DHCP服务器安全设置:保护网络资源
导读:Linux DHCP服务器安全设置与加固清单 一 基础加固 保持软件为最新版本,及时修补漏洞:例如在 Debian/Ubuntu 上执行 sudo apt update && sudo apt upgrade isc-dh...
Linux DHCP服务器安全设置与加固清单
一 基础加固
- 保持软件为最新版本,及时修补漏洞:例如在 Debian/Ubuntu 上执行
sudo apt update & & sudo apt upgrade isc-dhcp-server;变更前后做好配置与回滚预案。 - 严格文件权限与属主:
sudo chmod 640 /etc/dhcp/dhcpd.conf & & sudo chown root:dhcpd /etc/dhcp/dhcpd.confsudo chmod 640 /var/lib/dhcp/dhcpd.leases & & sudo chown dhcpd:dhcpd /var/lib/dhcp/dhcpd.leases
- 仅监听内网接口,避免误暴露到公网:
- 编辑
/etc/default/isc-dhcp-server,设置INTERFACESv4="eth0"(按实际接口名调整)。
- 编辑
- 启用详细日志并落盘:在
dhcpd.conf中加入option log-facility local7;,并在/etc/rsyslog.conf增加local7.* /var/log/dhcpd.log,随后重启 rsyslog 与 dhcpd 使配置生效。 - 启用地址冲突检测,降低 IP 冲突与 ARP 欺骗风险:在
dhcpd.conf中加入ping-check on; ping-timeout 2;。 - 精细化租约策略:例如
default-lease-time 600; max-lease-time 7200;(可按访客网络、办公网等分区设置不同值)。
二 访问控制与地址治理
- 仅允许“已知设备”获取地址:在子网声明中使用
allow known-clients; deny unknown-clients;,并为关键主机做 MAC 绑定(静态分配):host important-client { hardware ethernet 00:1a:2b:3c:4d:5e; fixed-address 192.168.1.100; }
- 控制地址池规模与分配上限:通过
range精确限定可用地址段;在汇聚/接入交换机侧可按 VLAN/端口 限制可接入设备数量,避免地址池被耗尽。 - 防御 DHCP 饿死/洪泛:在交换机启用 DHCP Snooping 的速率检测与报文合法性校验,超速率或非法报文直接丢弃。
- 防范 DHCP 仿冒服务器:在交换机上将上联/服务器端口设为 信任,其余接入端口设为 非信任,仅允许来自信任端口的 DHCP 响应。
- 防中间人:结合 DAI(动态 ARP 检查) 或静态 ARP,要求 ARP 报文与 DHCP Snooping 绑定表(IP/MAC/VLAN/端口)一致方可转发。
三 防火墙与网络协同
- 仅放行 DHCP 必要流量:DHCP 使用 UDP 67(服务器)/68(客户端)。示例:
- firewalld:
sudo firewall-cmd --add-service=dhcp --permanent & & sudo firewall-cmd --reload - UFW:
sudo ufw allow 67/udp; sudo ufw allow 68/udp - iptables(示例策略,按网段收紧):
sudo iptables -A INPUT -p udp -s 192.168.1.0/24 --dport 67 -j ACCEPTsudo iptables -A INPUT -p udp -s 192.168.1.0/24 --dport 68 -j ACCEPTsudo iptables -A INPUT -p udp --dport 67 -j DROPsudo iptables -A INPUT -p udp --dport 68 -j DROP
- firewalld:
- 与网络设备协同:在交换机上启用 DHCP Snooping 并正确标记 信任/非信任 端口,配合防火墙实现“纵深防御”。
四 监控审计与应急响应
- 集中日志与告警:确保
dhcpd日志写入/var/log/dhcpd.log,结合rsyslog或 SIEM 做关键字告警(如频繁 DISCOVER/REQUEST、异常 MAC OUI、未知客户端)。 - 实时抓包取证:使用
sudo tcpdump -ni eth0 -vv udp port 67 or udp port 68定位异常 DHCP 报文来源与行为。 - 基线巡检与演练:定期审计
dhcpd.conf与租约文件变更、核对绑定表与 ARP 表一致性、验证防火墙规则命中与日志完整性;对“地址池接近耗尽、异常仿冒服务器、报文洪泛”等场景制定处置预案并演练。
五 最小化配置示例
# /etc/dhcp/dhcpd.conf 片段(示例网段 192.168.1.0/24)
option domain-name "example.com";
option domain-name-servers 192.168.1.2, 192.168.1.3;
option routers 192.168.1.1;
default-lease-time 600;
max-lease-time 7200;
ping-check on;
ping-timeout 2;
option log-facility local7;
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200;
allow known-clients;
deny unknown-clients;
host important-client {
hardware ethernet 00:1a:2b:3c:4d:5e;
fixed-address 192.168.1.100;
}
}
# 注意:在 /etc/default/isc-dhcp-server 中设置 INTERFACESv4="eth0"
- 日志落盘:在
/etc/rsyslog.conf增加local7.* /var/log/dhcpd.log,重启 rsyslog 与 dhcpd。 - 防火墙:放行 UDP 67/68(UFW:
sudo ufw allow 67/udp; sudo ufw allow 68/udp)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux DHCP服务器安全设置:保护网络资源
本文地址: https://pptw.com/jishu/752475.html
