开发者社区> 余二五> 正文

局域网的安全与防御

简介:
+关注继续查看

    提到安全攻击,往往会想到攻击来自于互联网,而内部的局域网安全问题被忽略。在企业局域网中也存在很多安全隐患,本篇博客介绍几种局域网内部的安全攻击与防御


常见的局域网攻击

1、MAC地址扩散攻击

    我们知道,交换机在转发数据帧时,会查询MAC地址表中该接口对应的源MAC地址条目,如果没有数据帧的源MAC地址,交换机将学习源MAC地址并与接口对应,添加到MAC地址表中,再根据目的MAC地址进行查找。如果目的MAC地址没找到,就会以广播的形式转发数据帧。而MAC地址扩散攻击就是利用交换机的这种特性

    攻击原理:每台交换机的MAC地址表空间是有限的,如果某主机发送大量的伪造源MAC地址数据帧,使得交换机MAC地址表溢出。这时,交换机在接收正常的数据帧,MAC地址表将找不到对应的条目,该数据帧会被转发,攻击者将得到正常的通信数据,如下图:

wKioL1nfOLfzeG5qAAC_w3XnNfc624.png

    使用MAC地址扩散攻击时,有个明显现象就是交换机CPU利用率偏高,容易被发现。使用“show processes cpu”命令可以查看设备的CPU利用率


2、ARP攻击与欺骗

(1)ARP攻击的原理

wKiom1nfP8SzAsn-AADvEdK8gyc681.png

● 攻击主机制造假的ARP应答,并发送给被攻击主机之外所有主机。ARP应答中包括攻击主机的IP地址和虚假的MAC地址

● 攻击主机制造假的ARP应答,并发送给被攻击主机。ARP应答中包括攻击主机之外所有主机的IP地址和虚假的MAC地址

    只要执行上边的一种攻击就可以实现被攻击主机与其他主机无法正常通信


(2)ARP欺骗的原理

wKiom1nfQZ_jxwH0AAD7SLXSiJs604.png

    ARP欺骗不是使网络无法正常通信,而是通过冒充网关或其他主机,从而控制流量或窃取机密信息



3、DHCP服务器欺骗与地址耗尽

(1)DHCP服务器欺骗:客户端将自己配置为DHCP服务器分发虚假的IP地址,或直接响应DHCP请求

(2)DHCP地址耗尽:客户端不断地冒充新客户机发送DHCP请求,请求服务器为自己分派IP地址,从而使服务器地址耗尽,而正常主机无法获得IP地址


4、IP地址欺骗

    客户端使用自己配置的IP地址冒充其他客户端或网络管理员,对其他主机、设备、服务器等进行非法操作.0




防御攻击的解决方案

方案1:交换机的端口安全配置

    Cisco交换机提供一种基于MAC地址控制端口访问权限的安全特性,对MAC地址进行流量限制、设定端口允许接入的主机数量,也可以手动在端口上设置MAC地址。只有绑定的MAC地址才能转发

    端口安全是一种网络接入的验证,只有符合设置规则的客户端才可以接入局域网,避免未授权的客户端接入网络,可实现以下功能:

● 基于MAC地址限制、允许客户端流量

● 避免MAC地址扩散攻击

● 避免MAC地址欺骗攻击


(1)启动交换机接口安全特性

    在接口模式下配置命令如下:

1
switch(config-if)# switchport port-security

注意:启动安全特性的接口不能是动态(Dynamic)协商模式,必须是接入(Access)或干道(Trunk)模式


(2)配置允许访问的网络MAC地址

    限制允许访问网络的最大的MAC地址数和静态绑定MAC地址,命令如下:

1
2
switch(config-if)# switchport port-security maximum {max-addr}        //max-addr默认为1,范围是1-8192
switch(config-if)# switchport port-security mac-address {mac-addr}      //mac-addr为静态绑定的MAC地址,格式为X.X.X

 

(3)配置老化时间

    默认情况下,交换机不删除接口获得的MAC地址,如果接口的客户端经常变换,而旧MAC地址一直保留,可能导致新连接的客户端无法通信。可以配置老化时间,让交换机删除一段时间没有流量的MAC地址 ,配置命令如下:

1
2
switch(config-if)# switchport port-security aging time {time}      //time范围是1-1440min,默认为0,不删除
switch(config-if)# switchport port-security aging type {absolute | inactivity}

absolute表示老化时间到后,删除所有MAC地址并重新学习

inactivity表示一段时间(老化时间)没有流量,就将其MAC地址从地址表中删除

注意:静态绑定的MAC地址不受老化时间影响

    有些工作环境要求静态绑定的MAC地址也受老化时间影响,配置命令如下:

1
switch(config-if)# switchport port-security aging static


(4)配置MAC地址违规后的策略

    当出现以下情况时,就出现MAC地址违规

● 最大安全数目的MAC地址表之外的一个新的MAC地址访问该端口

● 配置在其他端口安全的MAC地址试图访问这个端口

     当出现MAC地址违规是,有三种处理方法,配置命令如下:

1
switch(config-if)# switchport port-security violation {protect | restrict | shutdown}

protect将违规的MAC地址的分组丢弃,但端口处于up状态。交换机不记录违规分组

restrict将违规的MAC地址的分组丢弃,但端口处于up状态。交换机记录违规分组

shutdown端口成为err-disabled状态,相当于关闭端口。


    在出现err-disabled状态时,默认不会自动恢复。恢复端口有两种方法:

手动恢复:先关闭端口(shutdown),在打开端口(no shutdown)

自动恢复:设置计时器,端口进入err-disabled状态时开始计时,计时器超过后,自动恢复。计时器配置命令如下:

1
2
switch(config)# errdisable recovery cause psecure-violation    //配置出现err-disabled状态的原因
switch(config)# errdisable recovery interval {time}         //time为30-86400,单位为s


(5)配置端口安全的Sticky(粘连)特性

    如果为每个端口配置静态绑定,工作量非常大,用端口安全Sticky特性,动态的将交换机学习的MAC地址转换为Sticky MAC地址,并加入运行配置中,自动形成了端口安全允许的静态MAC地址表项。保存配置,交换机重启将不会重新学习。配置命令如下:

1
switch(config)# switchport port-security mac-address  sticky

 

(6)查看和清除端口状态

1
2
3
4
switch# show port-security int f0/1         //查看启用端口安全的状态
switch# show interfaces status err-disabled      //查看处于err-disabled状态的端口摘要信息
switch# show port-security                 //查看端口安全的摘要信息
switch# clear port-security dynamic {address mac-addr | int f0/1}    //清除接口的MAC地址或全部端口缓存


案例:在交换机配置端口安全,命令如下:

1
2
3
4
5
6
7
8
switch(config)# int f0/1
switch(config-if)# switchport mode access
switch(config-if)# switchport access vlan 2
switch(config-if)# switchport port-security         //启用端口安全
switch(config-if)# switchport port-security mac-address 0025.1234.1258    //静态绑定MAC地址                
switch(config-if)# switchport port-security aging time 1        //配置老化时间1min 
switch(config-if)# switchport port-security aging type inactivity       //配置删除端口MAC的策略
switch(config-if)# switchport port-security violation restrict        //配置出现违规时的策略

    在端口f0/1启用端口安全,允许最大MAC地址为1,并静态绑定MAC地址


查看启用端口安全的状态

1
2
3
4
5
6
7
8
9
10
11
12
13
switch# show port-security int f0/1
Port Security              : Enabled              //端口安全启用
Port Status                : Secure-up            //端口状态为up
Violation Mode             : Restrict             //出现违规MAC地址采取的策略
Aging Time                 : 1 mins               //老化时间
Aging Type                 : Inactivity           //端口MAC地址删除策略
SecureStaticAddress Aging  : Disabled             //是否允许端口删除静态绑定MAC地址
Maximum MAC Addresses      : 1                    //最大MAC地址数量
Total MAC Addresses        : 1                    //端口活跃MAC地址数(包括静态绑定MAC地址)
Configured MAC Addresses   : 1                    //静态绑定的MAC地址数
Sticky MAC Addresses       : 0                    //粘连的MAC地址数
Last Source Address:Vlan   : 0025.1234.1258:2     //最新的源MAC地址及其所在的VLAN
Security Violation Count   : 0                    //安全违规次数



方案2:DHCP监听

    DHCP监听(DHCP Snooping)是一种保护DHCP服务器的安全机制,可以通过过滤来着网络中的主机或其他设备的非信任DHCP报文,以保证客户端能够从正确的DHCP服务器获得IP地址,避免DHCP服务器欺骗和DHCP地址耗尽

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

非信任端口:连接终端设备的端口。该端口客户端只能发送DHCP请求报文,丢弃来着该端口的其他所有DHCP报文

信任端口:连接合法的DHCP服务器或汇集端口

wKiom1ngWvKSJrXFAAD3xps9eHY882.png

    DHCP监听还可以限制客户端发送DHCP的请求速率,从而减缓DHCP资源耗尽攻击。Cisco交换机支持在每个VLAN上启用DHCP监听


DHCP监听的配置

(1)启用DHCP监听的命令如下:

1
switch(config)# ip dhcp snooping

    设置DHCP监听作用于哪个VLAN的命令如下:

1
switch(config)# ip dhcp snooping vlan number     //number为VLAN号,可以一次设多个VLAN,如2、3-5


(2)配置端口信任或非信任

    启用DHCP监听后,默认所有端口为非信任。若要配置端口为信任,配置命令如下:

1
switch(config-if)# ip dhcp snooping trust


(3)配置预防DHCP耗尽攻击

    限制DHCP报文速率,减缓DHCP耗尽攻击,在非信任端口配置以下命令:

1
switch(config-if)# ip dhcp snooping limit rate {rate}     //rate为报文速率,单位p/s,Cisco2960交换机1-2048p/s

    还可以启用核实MAC地址功能,避免虚假MAC地址请求IP地址,从而实现DHCP耗尽攻击,配置命令如下:

1
switch(config)# ip dhcp snooping verify mac-address

    

    当非信任端口的DHCP报文速率大于规定值,就会出现违规情况,端口将出现err-disabled状态。和上面MAC地址违规一样,也可以手动恢复,下面介绍下自动恢复,设置err-disabled计时器,命令如下:

1
2
switch(config)# errdisable recovery cause dhcp-rate-limit    //配置出现err-disabled状态的原因
switch(config)# errdisable recovery interval {time}         //time为30-86400,单位为s


(4)DHCP监听状态查询

1
2
3
switch# show ip dhcp snooping                 //查看当前DHCP监听状态及各端口情况
switch# show ip dhcp snooping binding          //查看当前DHCP监听表
switch# clear ip dhcp snooping binding         //清除DHCP监听表


案例:在交换机上启用DHCP监听,限制非信任端口DHCP报文速率为100p/s

wKiom1ngwJWQuq27AADCcDZTiI0658.png

1
2
3
4
5
6
7
8
9
10
11
switch(config)# ip dhcp snooping                 //启用DHCP监听
switch(config)# ip dhcp snooping vlan 1          //监听的VLAN 
switch(config)# int f0/21
switch(config-if)# ip dhcp snooping trust 
switch(config-if)# exit
switch(config)# int range f0/1 - 20
switch(config-if-range)# ip dhcp snooping limit rate 100
switch(config-if-range)# exit
switch(config)# int range f0/22 - 24
switch(config-if-range)# ip dhcp snooping limit rate 100
switch(config-if-range)# exit


    如果上面的DHCP服务器是一台路由器是,客户端可能无法获得IP地址,可以在其上面配置以下任意一台命令:

1
2
3
router(config-if)# ip dhcp relay information trusted       //接收DHCP报文的接口
或者
router(config)# ip dhcp relay information trust-all        //全局模式,对所有接口生效


方案3:部署网络版防病毒软件

    网络版和单机版防病毒软件最大的不同在于可以通过控制中心管理网络中任意一台计算机,统一杀毒、升级病毒库等,实现全网管理。一般有服务器端和客户端组成,具有以下特点:

(1)可以远程安装或卸载客户端防病毒软件

(2)可以禁止用户自行卸载客户端防病毒软件

(3)可以全网范围统一制定、分发、执行防病毒策略

(4)可以远程监控客户端系统健康状态

(5)提供远程报警手段,自动将病毒信息发送给网络管理员

(6)允许客户端自定义防病毒策略











本文转自 杨书凡 51CTO博客,原文链接:http://blog.51cto.com/yangshufan/1972253,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
19689 0
使用NAT网关轻松为单台云服务器设置多个公网IP
在应用中,有时会遇到用户询问如何使单台云服务器具备多个公网IP的问题。 具体如何操作呢,有了NAT网关这个也不是难题。
34554 0
windows server 2008阿里云ECS服务器安全设置
最近我们Sinesafe安全公司在为客户使用阿里云ecs服务器做安全的过程中,发现服务器基础安全性都没有做。为了为站长们提供更加有效的安全基础解决方案,我们Sinesafe将对阿里云服务器win2008 系统进行基础安全部署实战过程! 比较重要的几部分 1.
11760 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
17985 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
24786 0
腾讯云服务器 设置ngxin + fastdfs +tomcat 开机自启动
在tomcat中新建一个可以启动的 .sh 脚本文件 /usr/local/tomcat7/bin/ export JAVA_HOME=/usr/local/java/jdk7 export PATH=$JAVA_HOME/bin/:$PATH export CLASSPATH=.
13419 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
14680 0
使用SSH远程登录阿里云ECS服务器
远程连接服务器以及配置环境
12452 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,云吞铺子总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系统盘、创建快照、配置安全组等操作如何登录ECS云服务器控制台? 1、先登录到阿里云ECS服务器控制台 2、点击顶部的“控制台” 3、通过左侧栏,切换到“云服务器ECS”即可,如下图所示 通过ECS控制台的远程连接来登录到云服务器 阿里云ECS云服务器自带远程连接功能,使用该功能可以登录到云服务器,简单且方便,如下图:点击“远程连接”,第一次连接会自动生成6位数字密码,输入密码即可登录到云服务器上。
32715 0
+关注
20381
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
OceanBase 入门到实战教程
立即下载
阿里云图数据库GDB,加速开启“图智”未来.ppt
立即下载
实时数仓Hologres技术实战一本通2.0版(下)
立即下载