思科防止dhcp攻击

2024-09-05 20:38
文章标签 攻击 思科 dhcp 防止

本文主要是介绍思科防止dhcp攻击,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

什么是DHCP

DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,前身是BOOTP协议,

使用UDP协议工作,常用的2个端口:67(DHCP server),68(DHCP client)。DHCP通常被用于局域网环境,主要作用是

集中的管理、分配IP地址,使client动态的获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用

率。简单来说,DHCP就是一个不需要账号密码登录的、自动给内网机器分配IP地址等信息的协议。

 

 

 

DHCP协议中的报文:

DHCP DISCOVER 客户端广播DHCP Discover消息,局域网内所有主机都能接受到该报文。

DHCP OFFER 服务器接收到DHCP DISCOVER之后做出的响应,它包括了给予客户端的IP、客户端的MAC地址、租约过期时间、服务器的识别符以及其他信息

DHCP REQUEST 客户端对于服务器发出的DHCP OFFER所做出的响应,发送请求报文。

DHCP ACK 服务器在接收到客户端发来的DHCP REQUEST之后发出的成功确认的报文。在建立连接的时候,客户端在接收到这个报文之后才会确认分配给它的IP和其他信息可以被允许使用。

 

 

 

DHCP的工作流程:

 

 

 

 

DHCP报文数据包:

 

 

 

什么是DHCP  Snooping ?

DHCP Snooping技术是DHCP安全特性,通过建立和维护DHCP Snooping绑定表过滤不可信任的DHCP信息,

这些信息是指来自不信任区域的DHCP信息。DHCP Snooping绑定表包含不信任区域的用户MAC地址、IP地址、

租用期、VLAN-ID 接口等信息。Cisco交换机支持在每个VLAN基础上启用DHCP监听特性。通过这种特性,交换

机能够拦截第二层VLAN域内的所有DHCP报文。

 

知识点: DHCP Snooping绑定表为后续部署IP源防护(IPSG)和动态ARP检测(DAI)提供重要支持。

 

 

DHCP  Snooping作用:

1、  防止私自搭建的DHCP Server分配IP地址(主要功能)。

2、  防止恶意搭建的DHCP Server的DOS攻击,导致信任DHCP Server(公司DHCP服务器)的IP地址资源耗竭(主要功能)。

3、  防止用户手动配置固定IP地址,造成与信任DHCP  Server(公司DHCP服务器)分配的IP地址冲突。(需要配合IPSG功能共同实现,后续会讲解)

 

 

DHCP监听将交换机端口划分为两类:

1、  信任端口:连接信任的DHCP服务器或者汇聚交换机的上行端口或核心交换机的下行端口。

2、  非信任端口:通常为连接终端设备的端口,例如电脑、网络打印机、笔记本,HUB(傻瓜交换机端口不可控)等。

 

设计思路:

1、3560划分3个VLAN(vlan10  vlan20  vlan50)并分配IP地址,gi0/13端口配置为信任端口连接信任DHCP服务器并划分到vlan 50,gi0/24端口设置为trunk

2、2960划分3个VLAN(vlan10  vlan20  vlan50)并分配端口,gi1/0/24端口设置为trunk与3560 gi0/24端口相连

3、私搭建的DHCP服务器可以接在3560交换机或2960交换机非信任端口进行测试

4、PC01连接在2960 vlan10 端口gi1/0/1,PC02连接在2960 vlan20 端口gi1/0/8

VLAN情况:

vlan 10    192.168.10.1/24(3650)   分配端口gi1/0/1-5(2960)

vlan 20    192.168.20.1/24(3650)   分配端口gi1/0/6-10(2960)

vlan 50    192.168.50.1/24(3650)   分配端口gi1/0/11-15(2960)

信任DHCP服务器IP地址  192.168.50.254/24(3650)   分配端口gi0/13(3650)

 

 

 

网络拓扑图:

提示:思科模拟器Cisco Packet Tracer Student实现DHCP Snooping功能会有异常,本教程是使用真实思科交换机实验。

 

 

 

 

 

3650配置信息:

 

##配置vlan

3560(config)#vlan 10

3560(config-vlan)#name VLAN10

3560(config-vlan)#exit

3560(config)#vlan 20

3560(config-vlan)#name VLAN10

3560(config-vlan)#exit

3560(config)#vlan 50

3560(config-vlan)#name VLAN10

3560(config-vlan)#exit

 

##配置vlan的IP地址并设定DHCP服务器中继代理

3560(config)#interface vlan 10

3560(config-if)#ip address 192.168.10.1 255.255.255.0

3560(config-if)#ip helper-address 192.168.50.254

3560(config-if)#exit

3560(config)#interface vlan 20

3560(config-if)#ip address 192.168.20.1 255.255.255.0

3560(config-if)#ip helper-address 192.168.50.254

3560(config-if)#exit

3560(config)#interface vlan 50

3560(config-if)#ip address 192.168.50.1 255.255.255.0

3560(config-if)#ip helper-address 192.168.50.254

3560(config-if)#exit

 

##划分gi0/13端口给vlan50用于连接DHCP服务器

3560(config)#interface gigabitEthernet 0/13

3560(config-if)#switchport access vlan 50

3560(config-if)#switchport mode access

3560(config-if)#no shutdown

 

##设置gi0/24端口为trunk用于连接下联2960交换机

3560(config)#interface gigabitEthernet 0/24

3560(config-if)#switchport trunk encapsulation dot1q

3560(config-if)#switchport mode trunk

3560(config-if)#no shutdown

 

##开启三层路由功能

3560(config)#ip routing

 

##开启DHCP Snooping功能

3560(config)#ip dhcp snooping

##设置DHCP Snooping功能将作用于哪些VLAN

3560(config)#ip dhcp snooping vlan 10,20,50

##配置交换机能从非信任端口接收带option 82的DHCP报文

3560(config)#ip dhcp snooping information option allow-untrusted

##将DHCP监听绑定表保存在flash中,文件名为dhcp_snooping.db

3560(config)#ip dhcp snooping database flash:dhcp_snooping.db

##指DHCP监听绑定表发生更新后,等待30秒,再写入文件,默认为300

3560(config)#ip dhcp snooping database write-delay 30

##指DHCP监听绑定表尝试写入操作失败后,重新尝试写入操作,直到60秒后停止尝试,默认为300

3560(config)#ip dhcp snooping database timeout 60

##使由于DHCP报文限速原因而被禁用的端口能自动从err-disable状态恢复

3560(config)#errdisable recovery cause dhcp-rate-limit

##设置自动恢复时间;端口被置为err-disable状态后,经过30秒时间自动恢复

3560(config)#errdisable recovery interval 30

 

##设置gi0/13端口和gi0/24为信任端口,其它端口自动默认为非信任端口

3560(config)#interface gigabitEthernet 0/13

3560(config-if)#ip dhcp snooping trust

3560(config-if)#exit

3560(config)#interface gigabitEthernet 0/24

3560(config-if)#ip dhcp snooping trust

3560(config-if)#exit

 

##显示与维护

#查看交换机配置情况

3560#show running-config

#查看交换机端口速率、信任端口、非信任端口等信息

3560#show ip dhcp snooping

#查看DHCP snooping绑定表

3560#show ip dhcp snooping binding 

 

 

 

2960配置信息:

 

##创建vlan

2960#vlan database

2960(vlan)#vlan 10 name VLAN10

2960(vlan)#vlan 20 name VLAN20

2960(vlan)#vlan 50 name VLAN50

2960(vlan)#exit

 

##划分端口给相应vlan

2960#configure terminal

2960(config)#interface range gigabitEthernet 1/0/1-5

2960(config-if-range)#switchport access vlan 10

2960(config-if-range)#switchport mode access

2960(config-if-range)#no shutdown

2960(config-if-range)#exit

2960#configure terminal

2960(config)#interface range gigabitEthernet 1/0/6-10

2960(config-if-range)#switchport access vlan 20

2960(config-if-range)#switchport mode access

2960(config-if-range)#no shutdown

2960(config-if-range)#exit

2960#configure terminal

2960(config)#interface range gigabitEthernet 1/0/11-15

2960(config-if-range)#switchport access vlan 50

2960(config-if-range)#switchport mode access

2960(config-if-range)#no shutdown

2960(config-if-range)#exit

 

##开启DHCP Snooping功能

2960(config)#ip dhcp snooping

2960(config)#ip dhcp snooping vlan 10,20,50

2960(config)#ip dhcp snooping information option allow-untrusted

2960(config)#ip dhcp snooping database flash:dhcp_snooping.db

2960(config)#ip dhcp snooping database write-delay 30

2960(config)#ip dhcp snooping database timeout 60

2960(config)#errdisable recovery cause dhcp-rate-limit

2960(config)#errdisable recovery interval 30

 

##设置gi0/24为信任端口并设置为trunk与3650交换机连接,其它端口自动默认为非信任端口

2960(config)#interface gigabitEthernet 1/0/24

2960(config-if)#switchport mode trunk

2960(config-if)#ip dhcp snooping trust

 

##设置其它所属vlan的非信任端口DHCP报文速率为每秒100个包(端口默认是每秒15个包)

2960(config)#interface range gigabitEthernet 1/0/1-15

2960(config-if-range)#ip dhcp snooping limit rate 100

##设置为直接转发

2960(config-if-range)#spanning-tree portfast

 

##显示与维护

3560#show running-config 

3560#show ip dhcp snooping

3560#show ip dhcp snooping binding

 

 

 

 

 

 

什么是IPSG

IP 源防护(IP Source Guard,简称 IPSG)是一种基于 IP/MAC 的端口流量过滤技术,它可以防止局域网内的 IP 地址欺骗攻击。

IPSG 能够确保第 2 层网络中终端设备的 IP 地址不会被劫持,而且还能确保非授权设备不能通过自己指定 IP 地址的方式来访问

网络或攻击网络导致网络崩溃及瘫痪。

 

 

IPSG作用:

1、防止用户手动配置固定IP地址,造成与信任DHCP  Server(公司DHCP服务器)分配的IP地址冲突。(需要配合DHCP Snooping功能共同实现)

2、实现静态绑定IP+vlan+端口,同时配合HDCP Snooping功能一起使用可实现动态绑定。

 

标注:IPSG配置参照以上DHCP Snooping配置不变,只要增加以下配置即可:

 

 

2960交换机增加以下配置信息:

 

##信任端口不必配置

2960(config)#interface range gigabitEthernet 1/0/1-15

2960(config-if-range)#ip verify source port-security

 

#交换机允许手动设置IP地址绑定命令,一般绑定了就不能自动获取,除非DHCP服务器上存在你的IP与MAC绑定信息,否则无法自动获取IP地址

2960(config)#ip source binding D8:CB:8A:93:24:E5 vlan 20 192.168.20.120 interface gigabitEthernet 1/0/10

 

##显示与维护

2960#show ip source binding

2960#show ip verify source

 

转载于:https://www.cnblogs.com/zoulongbin/p/8944196.html

这篇关于思科防止dhcp攻击的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1140004

相关文章

速盾高防cdn是怎么解决网站攻击的?

速盾高防CDN是一种基于云计算技术的网络安全解决方案,可以有效地保护网站免受各种网络攻击的威胁。它通过在全球多个节点部署服务器,将网站内容缓存到这些服务器上,并通过智能路由技术将用户的请求引导到最近的服务器上,以提供更快的访问速度和更好的网络性能。 速盾高防CDN主要采用以下几种方式来解决网站攻击: 分布式拒绝服务攻击(DDoS)防护:DDoS攻击是一种常见的网络攻击手段,攻击者通过向目标网

C# 防止按钮botton重复“点击”的方法

在使用C#的按钮控件的时候,经常我们想如果出现了多次点击的时候只让其在执行的时候只响应一次。这个时候很多人可能会想到使用Enable=false, 但是实际情况是还是会被多次触发,因为C#采用的是消息队列机制,这个时候我们只需要在Enable = true 之前加一句 Application.DoEvents();就能达到防止重复点击的问题。 private void btnGenerateSh

PHP防止SQL注入详解及防范

SQL 注入是PHP应用中最常见的漏洞之一。事实上令人惊奇的是,开发者要同时犯两个错误才会引发一个SQL注入漏洞。 一个是没有对输入的数据进行过滤(过滤输入),还有一个是没有对发送到数据库的数据进行转义(转义输出)。这两个重要的步骤缺一不可,需要同时加以特别关注以减少程序错误。 对于攻击者来说,进行SQL注入攻击需要思考和试验,对数据库方案进行有根有据的推理非常有必要(当然假设攻击者看不到你的

PHP防止SQL注入的方法(2)

如果用户输入的是直接插入到一个SQL语句中的查询,应用程序会很容易受到SQL注入,例如下面的例子: $unsafe_variable = $_POST['user_input'];mysql_query("INSERT INTO table (column) VALUES ('" . $unsafe_variable . "')"); 这是因为用户可以输入类似VALUE”); DROP TA

PHP防止SQL注入的方法(1)

(1)mysql_real_escape_string – 转义 SQL 语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集 使用方法如下: $sql = "select count(*) as ctr from users where username ='".mysql_real_escape_string($username)."' and password='". mysql_r

防止缓存击穿、缓存穿透和缓存雪崩

使用Redis缓存防止缓存击穿、缓存穿透和缓存雪崩 在高并发系统中,缓存击穿、缓存穿透和缓存雪崩是三种常见的缓存问题。本文将介绍如何使用Redis、分布式锁和布隆过滤器有效解决这些问题,并且会通过Java代码详细说明实现的思路和原因。 1. 背景 缓存穿透:指的是大量请求缓存中不存在且数据库中也不存在的数据,导致大量请求直接打到数据库上,形成数据库压力。 缓存击穿:指的是某个热点数据在

起点中文网防止网页调试的代码展示

起点中文网对爬虫非常敏感。如图,想在页面启用调试后会显示“已在调试程序中暂停”。 选择停用断点并继续运行后会造成cpu占用率升高电脑卡顿。 经简单分析网站使用了js代码用于防止调试并在强制继续运行后造成电脑卡顿,代码如下: function A(A, B) {if (null != B && "undefined" != typeof Symbol && B[Symbol.hasInstan

综合DHCP、ACL、NAT、Telnet和PPPoE进行网络设计练习

描述:企业内网和运营商网络如上图所示。 公网IP段:12.1.1.0/24。 内网IP段:192.168.1.0/24。 公网口PPPOE 拨号采用CHAP认证,用户名:admin 密码:Admin@123 财务PC 配置静态IP:192.168.1.8 R1使用模拟器中的AR201型号,作为交换路由一体机,下图的WAN口为E0/0/8口,可以在该接口下配置IP地址。 可以通过

思科网络地址转换5

#网络安全技术实现# #任务五利用动态NAPT实现局域网访问Internet5# #1配置计算机的IP 地址、子网掩码和网关 #2配置路由器A的主机名称及其接口IP地址 Router>enable Router#conf t Router(config)#hostname Router-A Router-A(config)#int f0/0 Router-A(con

Web安全之XSS跨站脚本攻击:如何预防及解决

1. 什么是XSS注入 XSS(跨站脚本攻击,Cross-Site Scripting)是一种常见的Web安全漏洞,通过注入恶意代码(通常是JavaScript)到目标网站的网页中,以此在用户浏览网页时执行。攻击者可以通过XSS获取用户的敏感信息(如Cookie、会话令牌)或控制用户浏览器的行为,进而造成信息泄露、身份冒用等严重后果。 2. XSS攻击类型 2.1 存储型XSS 存储型XS