IT运维管理,创造商业价值!
中国IT运维网首页 | 资讯中心 | 运维管理 | 信息安全 | CIO视界 | 云计算 | 最佳案例 | 运维资源 | 专题策划 | 知识库 | 论坛

深入分析配置 让交换机免受恶意攻击

2010年02月04日
网络/转载

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

与路由器不同,交换机的安全威胁主要来自局域网内部。出于无知、好奇,甚至是恶意,某些局域网用户会对交换机进行攻击。不管他们的动机是什么,这都是管理员们不愿看到的。为此,除了在规定、制度上进行规范外,管理员们要从技术上做好部署,让攻击者无功而返。本文以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.comssh超时为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

2ACL配置,确保交换机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

定义辅助VLAN102030

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,它将等待处于模式AutoOn的另一台交换机的请求建立连接。这时,如果恶意用户利用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是丢弃但不记录。

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

发表评论请到:http://bbs.cnitom.com

相关阅读

图文热点

以不变应万变 网络虚拟化应对园区网新挑战
以不变应万变 网络虚拟化应对园区网新挑战Forrester Research的分析师Robert Whiteley认为: “十年以来,虚拟化技术与网络...
OpenShift加入更多新元素 友好面对开发者
OpenShift加入更多新元素 友好面对开发者通过网络进行程序提供的服务称之为SaaS(Software as a Service),而将服务器平台...

本类热点