科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航



ZDNet>网络频道>ZD评测>深入分析配置 杜绝交换机免受恶意攻击

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

与路由器不同,交换机的安全威胁主要来自局域网内部。出于无知、好奇,甚至是恶意,某些局域网用户会对交换机进行攻击。不管他们的动机是什么,这都是管理员们不愿看到的。

来源:IT168 2009年07月28日

关键字:交换机 恶意攻击

  与路由器不同,交换机的安全威胁主要来自局域网内部。出于无知、好奇,甚至是恶意,某些局域网用户会对交换机进行攻击。不管他们的动机是什么,这都是管理员们不愿看到的。为此,除了在规定、制度上进行规范外,管理员们要从技术上做好部署,让攻击者无功而返。本文以Cisco交换机的安全部署为例,和大家分享自己的经验。

  1、细节设置,确保交换机接入安全

  (1).配置加密密码

  尽可能使用Enable Secret特权加密密码,而不使用Enable Password创建的密码。

  (2).禁用不必要或不安全的服务

  在交换机上尤其是三层交换机上,不同的厂商默认开启了不同的服务、特性以及协议。为提高安全,应只开启必须的部分,多余的任何东西都可能成为安全漏洞。可结合实际需求,打开某些必要的服务或是关闭一些不必要的服务。下面这些服务通常我们可以直接将其禁用。

  禁用Http Server

  no ip http server

  禁用IP源路由,防止路由欺骗

  no ip source route

  禁用Finger服务

  no service finger

  禁用Config服务

  no service config

  禁用Hootp服务

  no iP hootp server

  禁用小的UDP服务

  no service udp-small-s

  禁用小的TCP服务

  no service tcp-small-s

  (3).控制台和虚拟终端的安全部署

  在控制台上使用与虚拟终端(Vty)线路上配置认证,另外,还需要对Vty线路使用简

  单的访问控制列表。

  Switch(config)#access-list 1 permit 192.168.1.1

  Switch(config)#line vty 0 4

  Switch(config-line)#access-class 1 in

  (4).用SSH代替Telnet

  Telnet是管理员们连接至交换机的主要通道,但是在Telnet会话中输入的每个字节都将会被明文发送,这可以被类似Sniffer这样的软件嗅探获取用户名、密码等敏感信息。因此,使用安全性能更高的SSH强加密无疑比使用Telnet更加安全。

  Switch(config)#hostname test-ssh

  test-ssh(config)#ip domain-name net.ctocio.com

  test-ssh(config)#username test password 0 test

  test-ssh(config)#line vty 0 4

  test-ssh(config-line)#login local

  test-ssh(config)#crypto key generate rsaThe name for the keys will be:test-ssh.net.ctocio.com

  test-ssh(config)#ip ssh time-out 180

  test-ssh(config)#ip ssh authentication-retries 5

  简单说明,通过上述配置将交换机命名为test-ssh,域名为net.ctocio.com,创建了一个命名test密码为test的用户,设置ssh的关键字名为test-ssh.net.ctocio.com,ssh超时为180秒,最大连接次数为5次。

  (5).禁用所有未用的端口

  关于这一点,笔者见过一个案例:某单位有某员工“不小心” 将交换机两个端口用网线直接连接,(典型的用户无知行为),于是整个交换机的配置数据被清除了。在此,笔者强烈建议广大同仁一定要将未使用的端口ShutDown掉。并且,此方法也能在一定程度上防范恶意用户连接此端口并协商中继模式。

  (6).确保STP的安全

  保护生成树协议,主要是防范其他分公司在新加入一台交换机时,因各单位网络管理员不一定清楚完整的网络拓扑,配置错误使得新交换机成为根网桥,带来意外的BPDU。因此,需要核心管理员启用根防护与BPDU防护。

  默认情况下交换机端口禁用根防护,要启用它需要使用以下命令:

  Switch(config)#spanning-tree guard root

  默认情况下,交换机端口也禁用BPDU防护。启用它需使用下列命令:

  Switch(config)#Spanning-tree Portfast bpduguard default

  如果要在所有端口上启用BPDU防护,可使用下面的命令:

  Switch(config)#Spanning-tree Portfast bpduguard enable

  2、ACL配置,确保交换机VLAN安全

  大家知道,ACL是一张规则表,交换机按照顺序执行这些规则,并且处理每一个进入端口的数据包。每条规则根据数据包的属性(如源地址、目的地址和协议)要么“允许”, 要么“拒绝” 数据包通过。访问列表能够对通过交换机的数据流进行控制。ACL通过对网络资源进行

  访问输入和输出控制,确保网络设备不被非法访问或被用作攻击跳板。

  配置VLAN Access Map

  Switch(config)#vlan access-map test1

  //定义一个vlan accessmap,取名为test1

  Switch(config-vlan-access)#match ip address 101

  //设置匹配规则为acl 101

  Switch(config-vlan-access)#action forward

  //匹配后,设置数据流转发(forward)

  Switch(config)#vlan access-map test2

  //定义一个vlan accessmap,取名为test2

  Switch(config-vlan-access)#match ip address 102

  //设置匹配规则为acl 102

  Switch(config-vlan-access)#action forward

  //匹配后,设置数据流转发(forward)

  应用VACL

  Switch(config)#vlan filter test1 vlan-list 10

  //将上面配置的test1应用到vlanl0中

  Switch(config)#vlan filter test2 vlan-list 20

  //将上面配置的test2应用到vlan20中

  配置私有VLAN

  定义辅助VLAN10、20、30

  Switch(config)#vlan 10

  Switch(config-vlan)#private vlan community

  定义主VLANIO0并与所有辅助VLAN建立关系

  Switch(config)#vlan 100

  Switch(config-vlan)#private vlan community

  Switch(config-vlan)#private vlan association 10,20,30

  定义端口在私有VLAN 中的模式为主机(Host)或混合(Promiscuous),并配置关联或映射

  Switch(config-if)#switchport mode private host

  Switch(config-if)#switchport mode private host-association 100 30

  3、深入配置,确保交换机免受恶意攻击

  (1).防动态中继协议DTP攻击

  交换机通过交换DTP协议,动态协商中继链路的用法和封装模式。然而,如果交换机中继端口模式为Auto,它将等待处于模式Auto或On的另一台交换机的请求建立连接。这时,如果恶意用户利用DTP尝试同交换机端口协商建立中继链路,攻击者将可以捕获任何通过该VLAN的数据流。

  防范方法是:将任何连接到用户的端口配置为Access模式,从而使它不能以Auto模式使用DTP。需要使用的命令为:

  Switch(config-if)#switchport mode access

  (2).防范VLAN跨越式攻击

  在这种攻击方法中,攻击者位于普通VLAN,发送被双重标记的帧,就像使用的是802.1q中继链路。当然,攻击者连接的并非中继线路,他通过伪造中继封装,欺骗交换机将帧转发到另一个VLAN中,实现VLAN跨越式攻击,从而在数据链路层就可非法访问另一VLAN。

  防范方法是:首先,修改本征VLAN ID并在中继链路两端将本征VLAN修剪掉命令为:

  Switch(config-if)#switchport trunk native vlan 200

  Switch(config-if)#switchport trunk allowed vlan remove 200

  然后,强制所有的中继链路给本征VLAN加标记,命令为:

  Switch(config)#vlan dotlq tagnative

  (3).防范DHCP欺骗攻击

  DHCP欺骗的原理可以简述为,攻击者在某计算机上运行伪造的DHCP服务器,当客户广播DHCP请求时,伪造服务器将发送自己的DHCP应答,将其IP地址作为默认网关客户收到该应答后,前往子网外的数据分组首先经过伪网关。如果攻击者够聪明,他将转发

  该数据分组到正确的地址,但同时他也捕获到了这些分组。尽管客户信息泄露了,但他却对此毫无所知。

  防范方法是:在交换机上启用DHCP探测。首先,在交换机的全局模式下启用DHCP探测,其命令为:

  Switch(config)#ip dhcp snooping

  接下来,指定要探测的VLAN,命令为:

  Switch(config)#ip dhcp snooping vlan 2

  然后,将DHCP服务器所在端口设置为信任端口,命令为:

  Switch(config-if)#ip dhcp snooping trust

  最后,限制其他不可信端口的DHCP分组速率,命令为:

  Switch(config-if)#ip dhcp snooping limit rate rate

  (4).防范ARP欺骗攻击

  ARP地址欺骗类病毒是一类特殊的病毒,该病毒一般属于木马病毒,不具备主动传

  播的特性,不会自我复制。但是由于其发作的时候会向全网发送伪造的ARP数据包,干扰全网的运行,因此它的危害比一些蠕虫还要严重得多。其实, 我们只需要在交换机上绑定MAc地址,就能让ARP病毒无用武之地。

  首先,在交换机上启用端口安全,命令为:

  Switch(config-if)#switchport port-security

  然后,指定允许的MAC地址,以便允许合法的MAC地址访问,命令为:

  Switch(config-if)#switchport port-security mac-address 000A.E698.84B7

  当然,上述操作是静态指定地址,比较麻烦。我们也可以动画获悉MAC,然后在端口上限制最大允许学习的MAC数目,命令为:

  Switch(config-if)#switchport port-security 24

  然后定义如果MAC地址违规则采取怎样的措施,命令为:

  Switch(config-if)#switchport port-security vislation shutdown

  其中shutdown是关闭,restrrict是丢弃并记录、警报,protect是丢弃但不记录。

  以上就是有关杜绝交换机的攻击的技术细节。相信确保交换机这三个方面的安全设置,并配合相应的规章、制度,就一定能够保证交换机的安全。

推广二维码
邮件订阅

如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

重磅专题