1、DHCP基础知识
1)DHCP消息
·
DHCP DISCOVER
·
DHCP OFFER
·
DHCP REQUEST
·
DHCP ACK:确认dhcp requert包
·
DHCP NAK:拒绝dhcp requert包(移到另一个子网时,想重新使用先前分配的IP地址)
·
DHCP RELEASE:放弃自己的IP地址
·
DHCP INFORM:请求配置参数
·
DHCP DECLINE:通知服务器该IP在用
2)端口号
·
客户端:68
·
服务端:67
2、DHCP攻击
1)攻击DHCP服务器:耗尽DHCP地址
原理:伪造DHCP DISCOVER包,瞬间把所有地址申请完
攻击:使用工具
防范
Switch(config-if)#switchport port-security
Switch(config-if)#switchport port-security maximum 3
//连IP电话时会出现3个MAC(IP电话会产生2个MAC)
Switch(config)#errdisable recovery cause psecure-violation
//
用于恢复端口
Switch(config)#errdisable recovery interval 30
//
恢复间隔
30s
2
)
攻击
DHCP
客户端
:
冒充
DHCP
服务器
原理
:
伪造
DHCP
服务器
,
响应
dhcp offer
包
攻击:安装一个DHCP服务器
变体攻击:分发各种option,假冒DNS,使其引到伪造的web,再捕获其证书、帐号及密码
防范
3、DHCP snooping介绍
1)默认所有接口处于untrust:不接收offer、ack、nak包
2)trust
3)安全特性:
(1)DHCP速率限制:推荐15个包/s
(2)DHCP消息的确认(针对untrust口、trust口不做任何确认)
·
不接收offer、ack、nak包
·
丢弃中继代理字段非0或option为82的DHCP消息
·
防止恶意release、declining,与绑定表核实
·
丢弃源MAC与客户端硬件地址不匹配的DHCP DISCOVERY消息(DHCP snooping MAC地址认证 选项打开才执行检查)
绑定表:IP地址 + MAC地址 + VLAN + 端口 + 租期
绑定表建立过程
·
发现一个ACK数据包:没有相关条目,则加入新绑定条目
·
发现一个NAK数据包:已有相关条目,则移除
·
发现一个release数据包:移除现有的一个绑定条目
·
发现一个decline数据包:移除现有的一个绑定条目
仅会为untrust口维护该绑定表
(3)Option 82
的插入和移除
问题分析:
·
当
SW
开启
dhcp snooping
功能后,会
默认插入
option 82
字段
·
Cisco IOS DHCP Server
收到了含有
option 82
字段的
DHCP
请求包。但是发现该报文的
giaddr
字段为
0.0.0.0
(
giaddr
字段意思为该报文做经过的第一个
DHCP
中继代理的
IP
地址
)
。所以认为该报文是
“
非法
”
,从而将此
DHCP
请求报文丢弃。
解决方案:
·
Switch
(config)#no ip dhcp snooping information option
此时交换机不会再对
DHCP
请求报文插入
option 82
字段,这样
IOS DHCP Server
就会收到标准的
DHCP
请求报文,从而解决问题。但是不建议使用此方法。
·
DHCP(config)#ip dhcp relay information trust-all
(对路由器上所有接口都起作用)
或
DHCP(config-if)#ip dhcp relay information trusted
此时
IOS DHCP Server
会允许
giaddr
字段为
0.0.0.0
的请求报文通过
(4)
防止
DHCP
引起的
DoS
攻击
4)对不支持的DHCP snooping交换机的建议
·
若支持端口或基于vlan的acl,可阻塞源自67端口的UDP流量,但只能防DHCP服务器欺骗
·
如果没有
DHCP
,那么可以
手工写
snooping
表
Switch
(config)#ip source binding aaa.aaa.aaa vlan 1 12.1.1.10 int f0/1
5
)
配置
Switch
(config)#ip dhcp snooping
//
启用
Switch
(config)#ip dhcp snooping vlan 1
//
对那个
vlan
(
没有这条命令则不起作用
)
Switch
(config-if)#ip dhcp snooping trust
4
、针对
IP/MAC
欺骗攻击的
DHCP snooping
1
)
防止用户改
MAC IP---ip source guard
(
1
)
防止改
IP
Switch
(config-if)#ip verify source
(
2
)
防止改
IP+MAC
Switch
(config-if)#switchport port-security
Switch
(config-if)#ip verify source port-security