《交换机端口安全.docx》由会员分享,可在线阅读,更多相关《交换机端口安全.docx(14页珍藏版)》请在三一办公上搜索。
1、交换机端口安全各种交换机端口安全总结(配置实例) 最常用的对端口安全的理解就是可根据mac地址来做对网络流量的控制和管理,比如mac地址与具体的端口绑定,限制具体端口通过的mac地址的数量,或者在具体的端口不允许某些mac地址的帧流量通过。稍微引申下端口安全,就是可以根据802.1x来控制网络的访问流量。 首先谈一下mac地址与端口绑定,以及根据mac地址允许流量的配置。 1.mac地址与端口绑定,当发现主机的mac地址与交换机上指定的mac地址不同时,交换机相应的端口将down掉。当给端口指定mac地址时,端口模式必须为access或者trunk状态。 3550-1#conf t 3550-
2、1(config)#int f0/1 3550-1(config-if)#switchport mode access /指定端口模式。 3550-1(config-if)#switchport port-security mac-address 00-90-f5-10-79-c1 /配置mac地址。 3550-1(config-if)#switchport port-security maximum 1 /限制此端口允许通过的mac地址数为1。 3550-1(config-if)#switchport port-security violation shutdown /当发现与上述配置不符时
3、,端口down掉。 2.通过mac地址来限制端口流量,此配置允许一trunk口最多通过100个mac地址,超过100时,但来自新的主机的数据帧将丢失。 3550-1#conf t 3550-1(config)#int f0/1 3550-1(config-if)#switchport trunk encapsulation dot1q 3550-1(config-if)#switchport mode trunk /配置端口模式为trunk。 3550-1(config-if)#switchport port-security maximum 100 /允许此端口通过的最大mac地址数目为10
4、0。 3550-1(config-if)#switchport port-security violation protect /当主机mac地址数目超过100时,交换机继续工作,但来自新的主机的数据帧将丢失。 上面的配置根据mac地址来允许流量,下面的配置则是根据mac地址来拒绝流量。 1.此配置在catalyst交换机中只能对单播流量进行过滤,对于多播流量则无效。 3550-1#conf t 3550-1(config)#mac-address-table static 00-90-f5-10-79-c1 vlan 2 drop /在相应的vlan丢弃流量。 3550-1#conf t 3
5、550-1(config)#mac-address-table static 00-90-f5-10-79-c1 vlan 2 int f0/1 /在相应的接口丢弃流量。 最后说一下802.1x的相关概念和配置。 802.1x身份验证协议最初使用于无线网络,后来才在普通交换机和路由器等网络设备上使用。它可基于端口来对用户身份进行认证,即当用户的数据流量企图通过配置过802.1x协议的端口时,必须进行身份的验证,合法则允许其访问网络。这样的做的好处就是可以对内网的用户进行认证,并且简化配置,在一定的程度上可以取代windows 的ad。 配置802.1x身份验证协议,首先得全局启用aaa认证,这
6、个和在网络边界上使用aaa认证没有太多的区别,只不过认证的协议是802.1x;其次则需要在相应的接口上启用802.1x身份验证。 下面的配置aaa认证所使用的为本地的用户名和密码。 3550-1#conf t 3550-1(config)#aaa new-model /启用aaa认证。 3550-1(config)#aaa authentication dot1x default local /全局启用802.1x协议认证,并使用本地用户名与密码。 3550-1(config)#int range f0/1 -24 3550-1(config-if-range)#dot1x port-cont
7、rol auto /在所有的接口上启用802.1x身份验证。 后记 通过mac地址来控制网络的流量既可以通过上面的配置来实现,也可以通过访问控制列表来实现,比如在cata3550上可通过700-799号的访问控制列表可实现mac地址过滤。但是利用访问控制列表来控制流量比较麻烦,似乎用的也比较少,这里就不多介绍了。 通过mac地址绑定虽然在一定程度上可保证内网安全,但效果并不是很好,建议使用802.1x身份验证协议。在可控性,可管理性上802.1x都是不错的选择。 一、通过IP查端口 先查地址,再根据地址查端口: bangonglou3#show arp | include 208.41 或者s
8、how mac-address-table 来查看整个端口的ip-mac表 nternet 10.138.208.41 4 0006.1bde.3de9 ARPA Vlan10 bangonglou3#show mac-add | in 0006.1bde 10 0006.1bde.3de9 DYNAMIC Fa0/17 bangonglou3#exit 二、ip与mac地址的绑定,这种绑定可以简单有效的防止ip被盗用,别人将ip改成了你绑定了mac地址的ip后,其网络不同,具体做法: cisco(config)#arp 10.138.208.81 0000.e268.9980 ARPA 这样
9、就将10.138.208.81 与mac:0000.e268.9980 ARPA绑定在一起了 三、ip与交换机端口的绑定,此种方法绑定后的端口只有此ip能用,改为别的ip后立即断网。有效的防止了乱改ip。 cisco(config)# interface FastEthernet0/17 cisco(config-if)# ip access-group 6 in cisco(config)#access-list 6 permit 10.138.208.81 这样就将交换机的FastEthernet0/17端口与ip:10.138.208.81绑定了。 最常用的对端口安全的理解就是可根据MA
10、C地址来做对网络流量的控制和管理,比如MAC地址与具体的端口绑定,限制具体端口通过的MAC地址的数量,或者在具体的端口不允许某些MAC地址的帧流量通过。 1.MAC地址与端口绑定,当发现主机的MAC地址与交换机上指定的MAC地址不同时,交换机相应的端口将down掉。当给端口指定MAC地址时,端口模式必须为access或者Trunk状态。 3550-1#conf t 3550-1(config)#int f0/1 3550-1(config-if)#switchport mode access /指定端口模式。 3550-1(config-if)#switchport port-security
11、 mac-address 00-90-F5-10-79-C1 /配置MAC地址。 3550-1(config-if)#switchport port-security maximum 1 /限制此端口允许通过的MAC地址数为1。 3550-1(config-if)#switchport port-security violation shutdown /当发现与上述配置不符时,端口down掉。 2.通过MAC地址来限制端口流量,此配置允许一TRUNK口最多通过100个MAC地址,超过100时,但来自新的主机的数据帧将丢失。 3550-1#conf t 3550-1(config)#int f0
12、/1 3550-1(config-if)#switchport trunk encapsulation dot1q 3550-1(config-if)#switchport mode trunk /配置端口模式为TRUNK。 3550-1(config-if)#switchport port-security maximum 100 /允许此端口通过的最大MAC地址数目为100。 3550-1(config-if)#switchport port-security violation protect /当主机MAC地址数目超过100时,交换机继续工作,但来自新的主机的数据帧将丢失。 上面的配置
13、根据MAC地址来允许流量,下面的配置则是根据MAC地址来拒绝流量。 1.此配置在Catalyst交换机中只能对单播流量进行过滤,对于多播流量则无效。 3550-1#conf t 3550-1(config)#mac-address-table static 00-90-F5-10-79-C1 vlan 2 drop /在相应的Vlan丢弃流量。 3550-1#conf t 3550-1(config)#mac-address-table static 00-90-F5-10-79-C1 vlan 2 int f0/1 /在相应的接口丢弃流量。 在网络安全越来越重要的今天,高校和企业对于局域网的
14、安全控制也越来越严格,普遍采用的做法之一就是IP地址、网卡的MAC地址与交换机端口绑定,但是MAC与交换机端口快速绑定的具体实现的原理和步骤却少有文章。 我们通常说的MAC地址与交换机端口绑定其实就是交换机端口安全功能。端口安全功能能让您配置一个端口只允许一台或者几台确定的设备访问那个交换机;能根据MAC地址确定允许访问的设备;允许访问的设备的MAC地址既可以手工配置,也可以从交换机“学到”;当一个未批准的MAC地址试图访问端口的时候,交换机会挂起或者禁用该端口等等。 一、首先必须明白两个概念: 可靠的MAC地址。配置时候有三种类型。 静态可靠的MAC地址:在交换机接口模式下手动配置,这个配置
15、会被保存在交换机MAC地址表和运行配置文件中,交换机重新启动后不丢失,具体命令如下: Switch(config-if)#switchport port-security mac-address Mac地址 动态可靠的MAC地址:这种类型是交换机默认的类型。在这种类型下,交换机会动态学习MAC地址,但是这个配置只会保存在MAC地址表中,不会保存在运行配置文件中,并且交换机重新启动后,这些MAC地址表中的MAC地址自动会被清除。 黏性可靠的MAC地址:这种类型下,可以手动配置MAC地址和端口的绑定,也可以让交换机自动学习来绑定,这个配置会被保存在MAC地址中和运行配置文件中,如果保存配置,交换机
16、重起动后不用再自动重新学习MAC地址,虽然黏性的可靠的MAC地址可以手动配置,但是CISCO官方不推荐这样做。具体命令如下: Switch(config-if)#switchport port-security mac-address sticky 其实在上面这条命令配置后并且该端口得到MAC地址后,会自动生成一条配置命令 Switch(config-if)#switchport port-security mac-address sticky Mac地址 这也是为何在这种类型下CISCO不推荐手动配置MAC地址的原因。 二、违反MAC安全采取的措施: 当超过设定MAC地址数量的最大值,或访问
17、该端口的设备MAC地址不是这个MAC地址表中该端口的MAC地址,或同一个VLAN中一个MAC地址被配置在几个端口上时,就会引发违反MAC地址安全,这个时候采取的措施有三种: 1保护模式:丢弃数据包,不发警告。 2限制模式:丢弃数据包,发警告,发出SNMP trap,同时被记录在syslog日志里。 3关闭模式:这是交换机默认模式,在这种情况下端口立即变为err-disable状态,并且关掉端口灯,发出SNMP trap,同时被记录在syslog日志里,除非管理员手工激活,否则该端口失效。 具体命令如下: Switch(config-if)#switchport port-security vi
18、olation protect | restrict | shutdown 下面这个表一就是具体的对比 Violation Mode Traffic is forwarded Sends SNMP trap Sends syslog message Displays error message Shuts down port protect No No No No No restrict No Yes Yes No No shutdown No Yes Yes No Yes 表一 配置端口安全时还要注意以下几个问题: 端口安全仅仅配置在静态Access端口;在trunk端口、SPAN端口、快速
19、以太通道、吉比特以太通道端口组或者被动态划给一个VLAN的端口上不能配置端口安全功能;不能基于每VLAN设置端口安全;交换机不支持黏性可靠的MAC地址老化时间。protect和restrict模式不能同时设置在同一端口上。 下面把上面的知识点连接起来谈谈实现配置步骤的全部命令。 1静态可靠的MAC地址的命令步骤: Switch#config terminal Switch(config)#interface interface-id 进入需要配置的端口 Switch(config-if)#switchport mode Access 设置为交换模式 Switch(config-if)#swit
20、chport port-security 打开端口安全模式 Switch(config-if)#switchport port-security violation protect | restrict | shutdown 上面这一条命令是可选的,也就是可以不用配置,默认的是shutdown模式,但是在实际配置中推荐用restrict。 Switch(config-if)#switchport port-security maximum value 上面这一条命令也是可选的,也就是可以不用配置,默认的maximum是一个MAC地址,2950和3550交换机的这个最大值是132。 其实上面这几
21、条命令在静态、黏性下都是一样的, Switch(config-if)#switchport port-security mac-address MAC地址 上面这一条命令就说明是配置为静态可靠的MAC地址 2动态可靠的MAC地址配置,因为是交换机默认的设置。 3黏性可靠的MAC地址配置的命令步骤: Switch#config terminal Switch(config)#interface interface-id Switch(config-if)#switchport mode Access Switch(config-if)#switchport port-security Switc
22、h(config-if)#switchport port-security violation protect | restrict | shutdown Switch(config-if)#switchport port-security maximum value 上面这几天命令解释和前面静态讲到原因一样,不再说明。 Switch(config-if)#switchport port-security mac-address sticky 上面这一条命令就说明是配置为黏性可靠的MAC地址。 最后,说说企业中如何快速MAC地址与交换机端口绑定。在实际的运用中常用黏性可靠的MAC地址绑定,现在
23、我们在一台2950EMI上绑定。 方法1:在CLI方式下配置 2950 (config)#int rang fa0/1 - 48 2950 (config-if-range)#switchport mode Access 2950 (config-if-range)#switchport port-security 2950 (config-if-range)#switchport port-security mac-address violation restrict 2950 (config-if-range)#switchport port-security mac-address st
24、icky 这样交换机的48个端口都绑定了,注意:在实际运用中要求把连在交换机上的PC机都打开,这样才能学到MAC地址,并且要在学到MAC地址后保存配置文件,这样下次就不用再学习MAC地址了,然后用show port-security address查看绑定的端口,确认配置正确。 方法2:在WEB界面下配置,也就是CMS 我们通过在IE浏览器中输入交换机IP地址,就可以进入,然后在portport security下可以选定交换机端口,在Status和Sticky MAC Address中选Enable或Disabled,Violation Action可以选Shutdown、Restrict、
25、Protect中的一种,Maximum Address Count可以填写这个范围的数值。 当然还有要求绑定IP地址和MAC地址的,这个就需要三层或以上的交换了,因为我们知道普通的交换机都是工作在第二层,也就是使数据链路层,是不可能绑定IP的。假如企业是星型的网络,中心交换机是带三层或以上功能的。我们就可以在上绑定, Switch(config)#arp Ip地址 Mac地址 arpa Cisco 2960交换机中如何绑定IP与MAC地址 请问:在2960交换机中如何进行端口MAC地址绑定,并同时绑定IP与MAC地址? 网友1: conf t arp 192.168.1.1 0000.1001
26、.2200 arpa fa0/1 网友2: IP地址与MAC地址的关系: IP地址是根据现在的IPv4标准指定的,不受硬件限制长度4个字节。而 MAC地址却是用网卡的物理地址,保存在网卡的EPROM里面,与硬件有关系,长度为6个字节。 在交换式网络中,交换机维护一张MAC地址表,并根据MAC地址,将数据发送至目的计算机。 为什么要绑定MAC与IP 地址:IP地址的修改非常容易,而MAC地址存储在网卡的EEPROM中,而且网卡的MAC地址是唯一确定的。因此,为了防止内部人员进行非法IP盗用 (例如盗用权限更高人员的IP地址,以获得权限外的信息),可以将内部网络的IP地址与MAC地址绑定,盗用者即
27、使修改了IP地址,也因MAC地址不匹配而盗用失败:而且由于网卡MAC地址的唯一确定性,可以根据MAC地址查出使用该MAC地址的网卡,进而查出非法盗用者。 在Cisco中有以下三种方案可供选择,方案1和方案2实现的功能是一样的,即在具体的交换机端口上绑定特定的主机的MAC地址,方案3是在具体的交换机端口上同时绑定特定的主机的MAC地址和IP地址。 1.方案1基于端口的MAC地址绑定 思科2950交换机为例,登录进入交换机,输入管理口令进入配置模式,敲入命令: Switch#config terminal 进入配置模式 Switch(config)# Interface fastethernet
28、0/1 进入具体端口配置模式 Switch(config-if)#Switchport port-secruity 配置端口安全模式 Switch(config-if )switchport port-security mac-address MAC(主机的MAC地址) 配置该端口要绑定的主机的MAC地址 Switch(config-if )no switchport port-security mac-address MAC(主机的MAC地址) 删除绑定主机的MAC地址 注意: 以上命令设置交换机上某个端口绑定一个具体的MAC地址,这样只有这个主机可以使用网络,如果对该主机的网卡进行了更换或
29、者其他PC机想通过这个端口使用网络都不可用,除非删除或修改该端口上绑定的MAC地址,才能正常使用。 注意: 以上功能适用于思科2950、3550、4500、6500系列交换机 2.方案2基于MAC地址的扩展访问列表 Switch(config)Mac access-list extended MAC10 定义一个MAC地址访问控制列表并且命名该列表名为MAC10 Switch(config)permit host 0009.6bc4.d4bf any 定义MAC地址为0009.6bc4.d4bf的主机可以访问任意主机 Switch(config)permit any host 0009.6bc
30、4.d4bf 定义所有主机可以访问MAC地址为0009.6bc4.d4bf的主机 Switch(config-if )interface Fa0/20 #进入配置具体端口的模式 Switch(config-if )mac access-group MAC10 in 在该端口上应用名为MAC10的访问列表 Switch(config)no mac access-list extended MAC10 清除名为MAC10的访问列表 此功能与应用一大体相同,但它是基于端口做的MAC地址访问控制列表限制,可以限定特定源MAC地址与目的地址范围。 注意: 以上功能在思科2950、3550、4500、65
31、00系列交换机上可以实现,但是需要注意的是2950、3550需要交换机运行增强的软件镜像。 3.方案3IP地址的MAC地址绑定 只能将应用1或2与基于IP的访问控制列表组合来使用才能达到IP-MAC 绑定功能。 Switch(config)Mac access-list extended MAC10 定义一个MAC地址访问控制列表并且命名该列表名为MAC10 Switch(config)permit host 0009.6bc4.d4bf any 定义MAC地址为0009.6bc4.d4bf的主机可以访问任意主机 Switch(config)permit any host 0009.6bc4.
32、d4bf 定义所有主机可以访问MAC地址为0009.6bc4.d4bf的主机 Switch(config)Ip access-list extended IP10 定义一个IP地址访问控制列表并且命名该列表名为IP10 Switch(config)Permit 192.168.0.1 0.0.0.0 any 定义IP地址为192.168.0.1的主机可以访问任意主机 Permit any 192.168.0.1 0.0.0.0 定义所有主机可以访问IP地址为192.168.0.1的主机 Switch(config-if )interface Fa0/20 #进入配置具体端口的模式 Switch
33、(config-if )mac access-group MAC10 in 在该端口上应用名为MAC10的访问列表 Switch(config-if )Ip access-group IP10 in 在该端口上应用名为IP10的访问列表 Switch(config)no mac access-list extended MAC10 清除名为MAC10的访问列表 Switch(config)no Ip access-group IP10 in 清除名为IP10的访问列表 上述所提到的应用1是基于主机MAC地址与交换机端口的绑定,方案2是基于MAC地址的访问控制列表,前两种方案所能实现的功能大体一样。如果要做到IP 与 MAC地址的绑定只能按照方案3来实现,可根据需求将方案1或方案2与IP访问控制列表结合起来使用以达到自己想要的效果。 注意:以上功能在思科2950、3550、4500、6500系列交换机上可以实现,但是需要注意的是2950、3550需要交换机运行增强的软件镜像。 后注:从表面上看来,绑定MAC地址和IP地址可以防止内部IP地址被盗用,但实际上由于各层协议以及网卡驱动等实现技术,MAC地址与IP地址的绑定存在很大的缺陷,并不能真正防止内部IP地址被盗用。