DHCP Snooping

DHCPSnooping是DHCP的一种安全特性,主要应用在交换机上。其作用是屏蔽接入网络中的非法的DHCP服务器。即开启DHCPSnooping功能后,网络中的客户端只有从管理员指定的DHCP服务器获取IP地址。由于DHCP报文缺少认证机制,如果网络中存在非法DHCP服务器,管理员将无法保证客户端从管理员指定的DHCP服务器获取合法地址,客户机有可能从非法DHCP服务器获得错误的IP地址等配置信息,导致客户端无法正常使用网络。启用DHCPSnooping功能后,必须将交换机上的端口设置为信任(Trust)和非信任(Untrust)状态。交换机只转发信任端口的DHCPOFFER/ACK/NAK报文,丢弃非信任端口的DHCPOFFER/ACK/NAK报文,从而达到阻断非法DHCP服务器的目的。建议将连接DHCP服务器的端口设置为信任端口,其他端口设置为非信任端口。此外DHCPSnooping还会监听经过本机的DHCP数据包,提取其中的关键信息并生成DHCPBindingTable记录表,一条记录包括IP、MAC、租约时间、端口、VLAN、类型等信息,结合DAI(DynamicARPInspection)和IPSG(IPSourceGuard)可实现ARP防欺骗和IP流量控制功能。
基础资料
  • 中文名:DHCP安全特性
  • 外文名:DHCP Snooping
  • 术语类别:计算机术语
  • 作用:隔绝非法的dhcp server,通过配置非信任端口
  • 应用:对网络安全要求高的单位等
  • 简介

    介绍

    当交换机开启了DHCP-Snooping后,会对DHCP报文进行侦听,并可以从接收到的DHCPRequest或DHCPAck报文中提取并记录IP地址和MAC地址信息。另外,DHCP-Snooping允许将某个物理端口设置为信任端口或不信任端口。信任端口可以正常接收并转发DHCPOffer报文,而不信任端口会将接收到的DHCPOffer报文丢弃。这样,可以完成交换机对假冒DHCPServer的屏蔽作用,确保客户端从合法的DHCPServer获取IP地址。

    作用

    1.dhcp-snooping的主要作用就是隔绝非法的dhcpserver,通过配置非信任端口。

    2.与交换机DAI的配合,防止ARP病毒的传播。

    3.建立和维护一张dhcp-snooping的绑定表,这张表一是通过dhcpack包中的ip和mac地址生成的,二是可以手工指定。这张表是后续DAI(dynamicarpinspect)和IPSourceGuard基础。这两种类似的技术,是通过这张表来判定ip或者mac地址是否合法,来限制用户连接到网络的。

    4.通过建立信任端口和非信任端口,对非法DHCP服务器进行隔离,信任端口正常转发DHCP数据包,非信任端口收到的服务器响应的DHCPoffer和DHCPACK后,做丢包处理,不进行转发。

    配置

    以Cisco交换机为例:[1]

    switch(config)#ipdhcpsnooping

    switch(config)#ipdhcpsnoopingvlan10

    /*在Vlan10启用dhcpsnooping

    switch(config-if)#ipdhcpsnoopinglimitrate10

    /*dhcp包的转发速率,超过后接口就shutdown,默认不限制;

    switch(config-if)#ipdhcpsnoopingtrust

    /*这样这个端口就变成了信任端口,信任端口可以正常接收并转发DHCPOffer报文,不记录ip和mac地址的绑定,默认是非信任端口"

    switch#ipdhcpsnoopingbinding0009.3452.3ea4vlan7192.168.10.5interfacegi1/0/10

    /*这样可以静态ip和mac一个绑定;

    switch(config)#ipdhcpsnoopingdatabasetftp://10.1.1.1/dhcp_table

    /*因为掉电后,这张绑定表就消失了,所以要选择一个保存的地方,ftp,tftp,flash皆可。本例中的dhcp_table是文件名,而不是文件夹,同时文件名要手工创建一个。

    showipdhcpsnooping

    /*显示DHCP探测状态*/

    防止ARP污染

    DHCPsnooping还可以跟踪主机的物理位置,从而可以防御(ARP)缓存污染攻击。它在防御这些攻击的过程中发挥重要作用,因为您可以使用DHCPsnooping技术丢弃一些来源与目标MAC地址不符合已定义规则的DHCP消息。管理会收到通过DHCPsnooping警报通知的违规行为。当DHCPsnooping服务检测到违规行为时,它会在系统日志服务器上记录一条消息“DHCPSnooping”。

    DHCPsnooping是实现2层协议流量安全性的第一步。恶意DHCP服务器不仅会导致网络问题,它们还可以被攻击者用于转发敏感流量和发起中间人攻击。如果还没有做好这些措施,那么一定要考虑实现这些防御措施,保证网络基础架构的安全性。

    应用场景

    (1)对网络安全要求程度比较高和对IP地址管理有一定需求的单位,如xx烟草、XX电网等

    (2)此策略应配置在接入层交换机当中。其中,在交换机上联端口以及聚合端口需配置为信任端口,需静态IP的端口需开启信任!

    注意事项

    若交换机下联有Hub、路由器等设备,若网络中有静态IP地址存在,配置snooping+dai以后会造成小范围内多个用户不能上网。因此建议先在交换机开启snooping,观察网络没有异常以后,逐个vlan开启DAI功能。

    机制概述

    DHCP都非常熟悉了,对于DHCP客户端而言,初始过程中都是通过发送广播的DHCPdiscovery消息寻找DHCP服务器,然而这时候如果内网中存在私设的DHCP服务器,那么就会对网络造成影响,例如客户端通过私设的DHCP服务器拿到一个非法的地址,最终导致PC无法上网。

    在DHCPsnooping环境中(部署在交换机上),我们将端口视为trust或untrust两种安全级别,也就是信任或非信任接口。在交换机上,将连接合法DHCP服务器的接口配置为trust。只有trust接口上收到的来自DHCPserver的报文(如DHCPOFFER、DHCPACK、DHCPNAK或者DHCPLEASEQUERY)才会被放行,相反,在untrust接口上收到的来自DHCPserver的报文将被过滤掉,这样一来就可以防止非法的DHCPserver接入。同时在部署了DHCPSnooping的交换机本地,还能维护一张DHCPsnooping的绑定数据库(bindingdatabase),用于保存侦听到的DHCP交互的表项,信息包括(针对untrust接口的):MAC地址、IP地址(DHCP分配的)、租期、绑定类型、VLAN号、接口编号(DHCP客户端也就是连接客户端PC的untrust接口)。这个DHCPsnoopingbindingdatabase除了可以做一些基本的安全接入控制,还能够用于DAI等防ARP欺骗的解决方案。

    一台支持DHCPsnooping的交换机,如果在其untrust接口上,收到来自下游交换机发送的、且带有option82的DHCP报文,则默认的动作是丢弃这些报文。如果该交换机开启了DHCPsnooping并且带有option82的DHCP报文是在trusted接口上收到的,则交换机接收这些报文,但是不会根据报文中包含的相关信息建立DHCPbindingdatabase表项。

    如果交换机确实通过一个untrust接口连接了下游交换机,并且希望放行该接口收到的、下游交换机发送出来的带有option82的DHCP报文,则可使用全局命令:ipdhcpsnoopinginformationoptionallow-untrusted,同时由于是通过untrust接口收到的DHCP报文,因此会根据侦听的结果创建DHCPsnoopingbindingdatabase表项。

    案例配置教程

    DHCPSnooping案例配置拓扑

    DHCPSnooping案例配置需求

    1、配置PC1、PC2属于VLAN10;

    2、在SW2上创建VLAN10,将F0/1、F0/2端口划分到VLAN10;

    3、配置SW1F0/23和SW2F0/23为Trunk链路,封装协议使用dot1q;

    4、配置SW2F0/1属于VLAN20;

    5、配置SW2的VLAN10IP地址为192.168.10.254/24,VLAN20的IP地址为192.168.20.254/24;

    6、配置DHCPServer地址为192.168.10.1,网关为192.168.20.254;

    7、配置DHCPPOOL,为PC分配IP地址;

    8、在SW2上启用DHCPSnooping,防止AttackerDHCP欺骗攻击;

    DHCPSnooping案例配置思路

    1、在SW2上创建VLAN10,并将F0/1、F0/2划分到VLAN10。

    2、配置SW1F0/23和SW2F0/23为Trunk链路,封装协议使用dot1q。

    3、配置SW2F0/1属于VLAN20。

    4、配置SW2的VLAN10IP地址为192.168.10.254/24,VLAN20的IP地址为192.168.20.254/24。

    5、配置DHCPServer地址为192.168.10.1,网关为192.168.20.254。

    6、配置DHCPPOOL,为PC分配IP地址。

    7、在SW2上启用DHCPSnooping,防止AttackerDHCP欺骗攻击。

    8、配置PC,动态获取IP地址。

    参考资料

    [1] DHCP Snooping配置明细 · 51CTO[引用日期2013-03-23]

    首页
    科技
    #贵族
    最新入驻
    贾科莫·普契尼
    Caroline Lufkin
    翁建宇
    相关阅读
    CCP
    内容词条·1616人浏览
    colgroup
    内容词条·1148人浏览
    STK
    内容词条·2355人浏览
    thead
    内容词条·4848人浏览
    ezplot
    内容词条·207人浏览
    NCPs
    内容词条·3737人浏览
    • 网站地图
    • |

    Copyright 2023 fuwu029.com赣ICP备2022008914号-4