本文分析有关杜绝交换机的***的技术细节,相信确保交换机这三个方面的安全设置,并配合相应的规章、制度,就一定能够保证企业交换机安全运行。
与路由器不同,交换机的安全威胁主要来自局域网内部。出于无知、好奇,甚至是恶意,某些局域网用户会对交换机进行***。不管他们的动机是什么,这都是管理员们不愿看到的。为此,除了在规定、制度上进行规范外,管理员们要从技术上做好部署,让***者无功而返。本文以
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 是丢弃但不记录。
以上就是有关杜绝交换机的***的技术细节。相信确保交换机这三个方面的安全设置,并配合相应的规章、制度,就一定能够保证交换机的安全。