端口安全(Port-Security)
1、 Cisco29系列交换机可以做基于2层的端口安全,即mac地址与端口进行绑定。
2、 Cisco3550以上交换机均可做基于2层和3层的端口安全,即mac地址与端口绑定以及mac地址与ip地址绑定。
3、以cisco3550交换机为例
做mac地址与端口绑定的可以实现两种应用:
a、设定一端口只接受第一次连接该端口的计算机mac地址,当该端口第一次获得某计算机mac地址后,其他计算机接入到此端口所发送的数据包则认为非法,做丢弃处理。
b、设定一端口只接受某一特定计算机mac地址,其他计算机均无法接入到此端口。
4、破解方法:网上前辈所讲的破解方法有很多,主要是通过更改新接入计算机网卡的mac地址来实现,但本人认为,此方法实际应用中基本没有什么作用,原 因很简单,如果不是网管,其他一般人员平时根本不可能去注意合法计算机的mac地址,一般情况也无法进入合法计算机去获得mac地址,除非其本身就是该局 域网的用户。
b、设定一端口只接受某一特定计算机mac地址,其他计算机均无法接入到此端口。
4、破解方法:网上前辈所讲的破解方法有很多,主要是通过更改新接入计算机网卡的mac地址来实现,但本人认为,此方法实际应用中基本没有什么作用,原 因很简单,如果不是网管,其他一般人员平时根本不可能去注意合法计算机的mac地址,一般情况也无法进入合法计算机去获得mac地址,除非其本身就是该局 域网的用户。
5、实现方法:
针对第3条的两种应用,分别不同的实现方法
a、
接受第一次接入该端口计算机的mac地址:
Switch#config terminal
Switch(config)#interface interface-id 进入需要配置的端口
Switch(config-if)#switchport mode access 设置为交换模式
Switch(config-if)#switchport port-security 打开端口安全模式
Switch(config-if)#switchport port-security violation {protect | restrict | shutdown }
//针对非法接入计算机,端口处理模式{丢弃数据包,不发警告 | 丢弃数据包,在console发警告 | 关闭端口为err-disable状态,除非管理员手工激活,否则该端口失效。
b、
接受某特定计算机mac地址:
Switch#config terminal
Switch(config)#interface interface-id
Switch(config-if)#switchport mode access
Switch(config-if)#switchport port-security
Switch(config-if)#switchport port-security violation {protect | restrict | shutdown }
//以上步骤与a同
Switch(config-if)#switchport port-security mac-address sticky
Switch(config-if)#switchport port-security aging static //打开静态映射
Switch(config-if)#switchport port-security mac-address sticky XXXX.XXXX.XXXX
//为端口输入特定的允许通过的mac地址
mac
地址与
ip
地址绑定基本原理:
在交换机内建立mac地址和ip地址对应的映射表。端口获得的ip和mac地址将匹配该表,不符合则丢弃该端口发送的数据包。
实现方法:
Switch#config terminal
Switch(config)#ar p 1.1.1 .1 0001.0001.1111 arpa
该配置的主要注意事项:需要将网段内所有IP都建立MAC地址映射,没有使用的IP地址可以与0000.0000.0000建立映射。否则该绑定对于网段内没有建立映射的IP地址无效。
最常用的对端口安全的理解就是可根据MAC地址来做对网络流量的控制和管理,比如MAC地址与具体的端口绑定,限制具体端口通过的MAC地址的数量,或者 在具体的端口不允许某些MAC地址的帧流量通过。稍微引申下端口安全,就是可以根据802.1X来控制网络的访问流量。
首先谈一下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 mac-address 00-90-F 5-10-79 -C1
3550-1(config)#int f0/1
3550-1(config-if)#switchport mode access /指定端口模式。
3550-1(config-if)#switchport port-security mac-address 00-90-F 5-10-79 -C1
/配置MAC地址。
3550-1(config-if)#switchport port-security maximum 1
3550-1(config-if)#switchport port-security maximum 1
/限制此端口允许通过的MAC地址数为1。
3550-1(config-if)#switchport port-security violation shutdown
3550-1(config-if)#switchport port-security violation shutdown
/当发现与上述配置不符时,端口down掉。
2.通过MAC地址来限制端口流量,此配置允许一接口最多通过100个MAC地址,超过100时,但来自新的主机的数据帧将丢失。
3550-1#conf t
3550-1(config)#int f0/1
3550-1(config-if)#switchport mode access
3550-1(config-if)#switchport port-security maximum 100 /允许此端口通过的最大MAC地址数目为100。
3550-1(config-if)#switchport port-security violation protect /当主机MAC地址数目超过100时,交换机继续工作,但来自新的主机的数据帧将丢失。
3550-1#conf t
3550-1(config)#int f0/1
3550-1(config-if)#switchport mode access
3550-1(config-if)#switchport port-security maximum 100 /允许此端口通过的最大MAC地址数目为100。
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-F 5-10-79 -C1 vlan 2 drop
3550-1#conf t
3550-1(config)#mac-address-table static 00-90-F 5-10-79 -C1 vlan 2 drop
/在相应的Vlan丢弃流量。
3550-1#conf t
3550-1(config)#mac-address-table static 00-90-F 5-10-79 -C1 vlan 2 int f0/1
3550-1#conf t
3550-1(config)#mac-address-table static 00-90-F 5-10-79 -C1 vlan 2 int f0/1
/在相应的接口丢弃流量。
你可以配置接口的三种违规模式:
·protect:
·protect:
当mac地址的数量达到了这个端口所最大允许的数量,带有未知的源地址的包就会被丢弃,直到删除了足够数量的mac地址,来降下最大数值之后才会不丢弃。
·restrict:
一个限制数据和并引起"安全违规"计数器的增加的端口安全违规动作。
·shutdown:
一个导致接口马上shutdown,并且发送SNMP陷阱的端口安全违规动作。当一个安全端口处在error-disable状态,你要恢复正常必须得 敲入全局下的errdisable recovery cause psecure-violation 命令,或者你可以手动的shut再no shut端口。这个是端口安全违规的默认动作。
默认的端口安全配置:
以下是端口安全在接口下的配置 -
特性:port-sercurity 默认设置:关闭的。
特性:最大安全mac地址数目 默认设置: 1
特性:违规模式 默认配置:shutdown,这端口在最大安全mac地址数量达到的时候会shutdown,并发snmp陷阱。
以下是端口安全在接口下的配置 -
特性:port-sercurity 默认设置:关闭的。
特性:最大安全mac地址数目 默认设置: 1
特性:违规模式 默认配置:shutdown,这端口在最大安全mac地址数量达到的时候会shutdown,并发snmp陷阱。
配置向导:
下面是配置端口安全的向导
-
· 安全端口不能在动态的access口或者trunk口上做,换言之,敲port-secure之前必须的是switch mode acc之后。
·安全端口不能是一个被保护的口。
· 安全端口不能是SPAN的目的地址。
· 安全端口不能属于GEC或FEC的组。
· 安全端口不能属于802.1x端口。如果你在安全端口试图开启802.1x,就会有报错信息,而且802.1x也关了。如果你试图改变开启了802.1x的端口为安全端口,错误信息就会出现,安全性设置不会改变。
· 安全端口不能在动态的access口或者trunk口上做,换言之,敲port-secure之前必须的是switch mode acc之后。
·安全端口不能是一个被保护的口。
· 安全端口不能是SPAN的目的地址。
· 安全端口不能属于GEC或FEC的组。
· 安全端口不能属于802.1x端口。如果你在安全端口试图开启802.1x,就会有报错信息,而且802.1x也关了。如果你试图改变开启了802.1x的端口为安全端口,错误信息就会出现,安全性设置不会改变。
配置案例:
1.在f0/12上最大mac地址数目为5的端口安全,违规动作为默认。
switch#config t
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)#int f0/12
switch(config-if)#swi mode acc
switch(config-if)#swi port-sec
switch(config-if)#swi port-sec max 5
switch(config-if)#end
switch#show port-sec int f0/12
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)#int f0/12
switch(config-if)#swi mode acc
switch(config-if)#swi port-sec
switch(config-if)#swi port-sec max 5
switch(config-if)#end
switch#show port-sec int f0/12
Security Enabled:Yes, Port Status:SecureUp
Violation Mode:Shutdown
Max. Addrs:5, Current Addrs:0, Configure Addrs:0
2.如何配置f0/12安全mac地址
Violation Mode:Shutdown
Max. Addrs:5, Current Addrs:0, Configure Addrs:0
2.如何配置f0/12安全mac地址
switch(config)#int f0/12
switch(config-if)#swi mode acc
switch(config-if)#swi port-sec
switch(config-if)#swi port-sec mac-add 1111.1111.1111
switch(config-if)#end
switch#show port-sec add
switch(config-if)#swi mode acc
switch(config-if)#swi port-sec
switch(config-if)#swi port-sec mac-add 1111.1111.1111
switch(config-if)#end
switch#show port-sec add
Secure Mac Address Table
------------------------------------------------------------
Vlan Mac Address Type Ports
---- ----------- ---- -----
1 1000.2000.3000 SecureConfigured Fa0/12
------------------------------------------------------------
Vlan Mac Address Type Ports
---- ----------- ---- -----
1 1000.2000.3000 SecureConfigured Fa0/12
3.配置端口安全超时时间两小时。
switch(config)#int f0/12
switch(config)#swi port-sec aging time 120
switch(config)#swi port-sec aging time 120
4.端口安全超时时间2分钟,给配置了安全地址的接口,类型为inactivity aging:
switch(config-if)#swi port-sec aging time 2
switch(config-if)#swi port-sec aging type inactivity
switch(config-if)#swi port-sec aging static
switch(config-if)#swi port-sec aging type inactivity
switch(config-if)#swi port-sec aging static
show port-security interface f0/12可以看状态.
其他
show
show port-security 看哪些接口启用了端口安全 .
show port-security address 看安全端口mac地址绑定关系.
show port-security 看哪些接口启用了端口安全 .
show port-security address 看安全端口mac地址绑定关系.