如何在Debian上配置DHCP安全
首先确保系统安装了isc-dhcp-server(Debian默认的DHCP服务器软件包),通过以下命令安装:
sudo apt update
sudo apt install isc-dhcp-server
编辑DHCP主配置文件/etc/dhcp/dhcpd.conf,通过以下设置增强安全性:
default-lease-time 600; # 默认租约时间(秒)
max-lease-time 7200; # 最大租约时间(秒)
allow/deny规则限制可获取IP的客户端范围。例如,仅允许trusted-clients中的MAC地址获取IP:acl "trusted-clients" {
hardware ethernet 00:11:22:33:44:55; # 允许的MAC地址
hardware ethernet 66:77:88:99:AA:BB;
}
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
option routers 192.168.1.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 8.8.8.8, 8.8.4.4;
pool {
allow members of "trusted-clients"; # 仅允许ACL中的客户端
}
}
host server01 {
hardware ethernet 00:1A:2B:3C:4D:5E; # 设备MAC地址
fixed-address 192.168.1.100; # 分配的固定IP
}
使用ufw(Uncomplicated Firewall)限制仅允许内网客户端访问DHCP端口(UDP 67/68)。例如,允许192.168.1.0/24网段访问:
sudo ufw allow from 192.168.1.0/24 to any port 67 proto udp # DHCP服务器端口
sudo ufw allow from 192.168.1.0/24 to any port 68 proto udp # DHCP客户端端口
sudo ufw enable # 启用防火墙
DHCP Snooping是交换机的安全特性,可防止DHCP欺骗攻击。若网络中有支持该功能的交换机,需在交换机上配置,并在DHCP服务器上添加以下配置以配合:
ddns-update-style none; # 禁用动态DNS更新,减少攻击面
ignore client-updates; # 忽略客户端发起的DNS更新请求
sudo apt update && sudo apt upgrade -y
/etc/ssh/sshd_config,禁用root远程登录:PermitRootLogin no
重启SSH服务使配置生效:sudo systemctl restart ssh
启用详细日志记录,便于监控DHCP活动并及时发现异常。在/etc/dhcp/dhcpd.conf中添加:
log-facility local7; # 将日志发送到local7设施(可通过rsyslog配置存储到单独文件)
查看DHCP租约记录:
sudo dhcp-lease-list # 需安装dhcp-utils包(sudo apt install dhcp-utils)
完成上述配置后,重启DHCP服务器使更改生效:
sudo systemctl restart isc-dhcp-server
通过以上步骤,可显著提升Debian上DHCP服务的安全性,抵御常见攻击(如IP欺骗、DHCP欺骗、未授权访问)。