端口安全(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
地址,除非其本身就是该局
域网的用户。
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
/
配置
MAC
地址。
3550-1(config-if)#switchport port-security maximum 1
/
限制此端口允许通过的
MAC
地址数为
1
。
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
时,交换机继续工作,但来自新的主机的数据帧将丢失。
上面的配置根据
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
/
在相应的
Vlan
丢弃流量。
3550-1#conf t
3550-1(config)#mac-address-table static 00-90-F 5-10-79 -C1 vlan 2 int f0/1
/
在相应的接口丢弃流量。
你可以配置接口的三种违规模式:
·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陷阱。
配置向导:
下面是配置端口安全的向导
-
·
安全端口不能在动态的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
Security Enabled:Yes, Port Status:SecureUp
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
Secure Mac Address Table
------------------------------------------------------------
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
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
show port-security interface f0/12可以看状态
.
其他
show
show port-security 看哪些接口启用了端口安全
.
show port-security address 看安全端口
mac地址绑定关系
.