1、思科交换机端口配置VLAN跟IP地址捆绑
方案1——基于端口的MAC地址绑定
思科3560交换机为例,登录进入交换机,输入管理口令进入配置模式,敲入命令:
Switch#config terminal
#进入配置模式
Switch(config)# Interface fastethernet 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地址,这样只有这个主机可以使用网络,如果对该主机的网卡进行了更换或者其他PC机想通过这个端口使用网络都不可用,除非删除或修改该端口上绑定的MAC地址,才能正常使用。
方案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.6bc4.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地址与目的地址范围。
方案3——IP地址的MAC地址绑定
只能将应用1或2与基于IP的访问控制列表组合来使用才能达到IP-MAC 绑定功能。 (转载注明出处n et130)
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.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(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的访问列表
方案 4 MAC地址与端口绑定安全测略
MAC地址与端口绑定,当发现主机的MAC地址与交换机上指定的MAC地址不同时 ,交换机相应的端口将down掉。当给端口指定MAC地址时,端口模式必须为access或者Trunk状态。
3560#conf t
3560(config)#int f0/1
3560(config-if)#switchport mode access /指定端口模式。
3560(config-if)#switchport port-security mac-address 00-90-F5-10-79-C1 /配置MAC地址。
3560(config-if)#switchport port-security maximum 1 /限制此端口允许通过的MAC地址数为1。
3560(config-if)#switchport port-security violation shutdown /当发现与上述配置不符时,端口down掉。
方案 5根据MAC地址允许流量的配置
通过MAC地址来限制端口流量,此配置允许一TRUNK口最多通过100个MAC地址,超过100时,但来自新的主机的数据帧将丢失。
3560-1#conf t
3560-1(config)#int f0/1
3560-1(config-if)#switchport trunk encapsulation dot1q
3560-1(config-if)#switchport mode trunk /配置端口模式为TRUNK。
3560-1(config-if)#switchport port-security maximum 100 /允许此端口通过的最大MAC地址数目为100。
3560-1(config-if)#switchport port-security violation protect /当主机MAC地址数目超过100时,交换机继续工作,但来自新的主机的数据帧将丢失。
上面的配置根据MAC地址来允许流量,下面的配置则是根据MAC地址来拒绝流量。
此配置在Catalyst交换机中只能对单播流量进行过滤,对于多播流量则无效。
3560-1#conf t
3560-1(config)#mac-address-table static 00-90-F5-10-79-C1 vlan 2 drop /在相应的Vlan丢弃流量。
3560-1#conf t
3560-1(config)#mac-address-table static 00-90-F5-10-79-C1 vlan 2 int f0/1 /在相应的接口丢弃流量
2、配置802.1X身份验证协议
配置802.1X身份验证协议,首先得全局启用AAA认证,这个和在网络边界上使用AAA认证没有太多的区别,只不过认证的协议是802.1X;其次则需要在相应的接口上启用802.1X身份验证。(建议在所有的端口上启用802.1X身份验证,并且使用radius服务器来管理用户名和密码)
下面的配置AAA认证所使用的为本地的用户名和密码。
3560-1#conf t
3560-1(config)#aaa new-model /启用AAA认证。
3560-1(config)#aaa authentication dot1x default local /全局启用802.1X协议认证,并使用本地用户名与密码。
3560-1(config)#int range f0/1 -24
3560-1(config-if-range)#dot1x port-control auto /在所有的接口上启用802.1X身份验证。
3、访问控制列表的应用
案例一:VLAN1和VLAN2不能互访,但都可以和VLAN3互相访问
实例:
VLAN1 10.10.1.0
VLAN2 10.10.2.0
VLAN3 10.10.3.0
要求VLAN1和VLAN2不能互访,但都可以和VLAN3互相访问:
方法一:
access-list 110 deny ip 10.10.1.0 0.0.0.255 10.10.2.0 0.0.0.255
access-list 110 permit any any
access-list 120 deny ip 10.10.2.0 0.0.0.255 10.10.1.0 0.0.0.255
access-list 120 permit any any
int vlan 1
ip access-group 110 in
int vlan 2
ip access-group 120 in
方法二:
access-list 110 permit ip 192.168.1.0 0.0.0.255 192.168.3.0 0.0.0.255
access-list 120 permit ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255
int vlan 1
ip access-group 110 in
int vlan 2
ip access-group 120 in
案例二:要求所有VLAN都不能访问VLAN3 但VLAN3可以访问其他所有VLAN
VLAN1 10.10.1.0
VLAN2 10.10.2.0
VLAN3 10.10.3.0
要求所有VLAN都不能访问VLAN3 但VLAN3可以访问其他所有VLAN
access-list 110 deny ip any 10.10.3.0 0.0.0.255
access-list 110 permit ip any any
方法一:
int vlan 1
ip access-group 110 in
int vlan 2
ip access-group 110 in
方法二:
access-list 110 deny ip any 10.10.3.0 0.0.0.255
access-list 110 permit ip any any
int vlan 3
ip access-group 110 in
案例三:用单向访问控制列表(reflect+evalute)
VLAN1 10.10.1.0
VLAN2 10.10.2.0
VLAN3 10.10.3.0
要求VLAN1和VLAN2不能互访,但都可以和VLAN3互相访问
ip access-list extended VLAN80_inside
permit ip any any reflect ip
permit tcp any any reflect tcp
permit udp any any reflect udp
ip access-list extended VLAN80_outside
evaluate ip
evaluate tcp
evaluate udp
deny ip any 192.168.1.0 0.0.0.255
deny ip any 192.168.2.0 0.0.0.255
interface Serial1/2
ip address 192.168.8.1 255.255.255.0
ip access-group VLAN80_outside in
ip access-group VLAN80_inside out
serial restart-delay 0
end
4、Cisco3560 交换机端口限速配置
(4.1)、网络说明
PC1接在Cisco3560 F0/1上,速率为1M;
PC1接在Cisco3560 F0/2上,速率为2M;
Cisco3560的G0/1为出口。
(4.2)详细配置过程
注:每个接口每个方向只支持一个策略;一个策略可以用于多个接口。因此所有PC的下载速率的限制都应该定义在同一个策 略(在本例子当中为policy-map user-down),而PC不同速率的区分是在Class-map分别定义。
a、在交换机上启动QOS
Switch(config)#mls qos //在交换机上启动QOS
b、分别定义PC1(10.10.1.1)和PC2(10.10.2.1)访问控制列表
Switch(config)#access-list 10 permit 10.10.1.0 0.0.0.255 //控制pc1上行流量
Switch(config)#access-list 100 permit any 10.10.1.0 0.0.0.255 //控制pc1下行流量
Switch(config)#access-list 11 permit 10.10.2.0 0.0.0.255 //控制pc2上行流量
Switch(config)#access-list 111 permit any 10.10.2.0 0.0.0.255 //控制pc2下行流量
c、定义类,并和上面定义的访问控制列表绑定
Switch(config)# class-map user1-up //定义PC1上行的类,并绑定访问列表10
Switch(config-cmap)# match access-group 10
Switch(config-cmap)# exit
Switch(config)# class-map user2-up
Switch(config-cmap)# match access-group 11 //定义PC2上行的类,并绑定访问列表10
Switch(config-cmap)# exit
Switch(config)# class-map user1-down
Switch(config-cmap)# match access-group 100 //定义PC1下行的类,并绑定访问列表100
Switch(config-cmap)# exit
Switch(config)# class-map user2-down
Switch(config-cmap)# match access-group 111 //定义PC2下行的类,并绑定访问列表111
Switch(config-cmap)# exit
d、定义策略,把上面定义的类绑定到该策略
Switch(config)# policy-map user1-up //定义PC1上行的速率为1M
Switch(config-pmap)# class user1-up
Switch(config-pmap-c)# trust dscp
Switch(config-pmap-c)# police 1024000 1024000 exceed-action drop
Switch(config)# policy-map user2-up //定义PC2上行的速率为2M
Switch(config-pmap)# class user2-up
Switch(config-pmap-c)# trust dscp
Switch(config-pmap-c)# police 2048000 1024000 exceed-action drop
Switch(config)# policy-map user-down
Switch(config-pmap)# class user1-down
Switch(config-pmap-c)# trust dscp
Switch(config-pmap-c)# police 1024000 1024000 exceed-action drop
Switch(config-pmap-c)# exit
Switch(config-pmap)# class user2-down
Switch(config-pmap-c)# trust dscp
Switch(config-pmap-c)# police 2048000 1024000 exceed-action drop
Switch(config-pmap-c)# exit
e、在接口上运用策略
Switch(config)# interface f0/1
Switch(config-if)# service-policy input user1-up
Switch(config)# interface f0/2
Switch(config-if)# service-policy input user2-up
Switch(config)# interface g0/1
Switch(config-if)# service-policy input user-down
|
5.交换机服务的安全策略
5.1禁止CDP(Cisco Discovery Protocol)。如:
Catalyst(Config)#no cdp run
Catalyst(Config-if)# no cdp enable
5.2禁止其他的TCP、UDP Small服务。
Catalyst(Config)# no service tcp-small-servers
Catalyst(Config)# no service udp-samll-servers
5.3禁止Finger服务。
Catalyst(Config)# no ip finger
Catalyst(Config)# no service finger
5.4建议禁止HTTP服务。
Catalyst(Config)# no ip http server
如果启用了HTTP服务则需要对其进行安全配置:设置用户名和密码;采用访问列表进行控制。
如:
Catalyst(Config)# username BluShin privilege 10 G00dPa55w0rd |
5.5禁止BOOTp服务。
Catalyst(Config)# no ip bootp server
禁止从网络启动和自动从网络下载初始配置文件。
Catalyst(Config)# no boot network
Catalyst(Config)# no servic config
5.6禁止IP Source Routing。
Catalyst(Config)# no ip source-route
5.7建议如果不需要ARP-Proxy服务则禁止它,路由器默认识开启的。
Catalyst(Config)# no ip proxy-arp
Catalyst(Config-if)# no ip proxy-arp
5.8明确的禁止IP Directed Broadcast。
Catalyst(Config)# no ip directed-broadcast
5.9禁止IP Classless。
Catalyst(Config)# no ip classless
5.10禁止ICMP协议的IP Unreachables,Redirects,Mask Replies。
Catalyst(Config-if)# no ip unreacheables
Catalyst(Config-if)# no ip redirects
Catalyst(Config-if)# no ip mask-reply
5.11建议禁止SNMP协议服务。在禁止时必须删除一些SNMP服务的默认配置。或者需要访问列表来过滤。如:
5.12如果没必要则禁止WINS和DNS服务。
Catalyst(Config)# no ip domain-lookup
如果需要则需要配置:
Catalyst(Config)# hostname Catalyst
Catalyst(Config)# ip name-server 202.102.134.96
5.13明确禁止不使用的端口。
Catalyst(Config)# interface eth0/3
Catalyst(Config)# shutdown
5.14屏蔽ping包
5.14.1屏蔽外部ping包
Catalyst(Config)#access-list 110 deny icmp any any echo log
Catalyst(Config)#access-list 110 deny icmp any any redirect log
Catalyst(Config)#access-list 110 deny icmp any any mask-request log
Catalyst(Config)#access-list 110 permit icmp any any
5.14.2允许内部ping包
Catalyst(Config)#access-list 111 permit icmp any any echo
Catalyst(Config)#access-list 111 permit icmp any any Parameter-problem
Catalyst(Config)#access-list 111 permit icmp any any packet-too-big
Catalyst(Config)#access-list 111 permit icmp any any source-quench
Catalyst(Config)#access-list 111 deny icmp any any log
6.交换机端口安全----端口隔离
目的:隔离同一交换机上属于相同Vlan的端口之间的互访。
实现:
6.1、Cisco3560系列交换机可以做基于2层的端口安全,即mac地址与端口进行绑定。
6.2、Cisco3560以上交换机均可做基于2层和3层的端口安全,即mac地址与端口绑定以及mac地址与ip地址绑定。
6.3、以cisco3560交换机为例
做mac地址与端口绑定的可以实现两种应用:
a、设定一端口只接受第一次连接该端口的计算机mac地址,当该端口第一次获得某计算机mac地址后,其他计算机接入到此端口所发送的数据包则认为非法,做丢弃处理。
b、设定一端口只接受某一特定计算机mac地址,其他计算机均无法接入到此端口。
6.4、破解方法:网上前辈所讲的破解方法有很多,主要是通过更改新接入计算机网卡的mac地址来实现,但本人认为,此方法实际应用中基本没有什么作用,原因很简单,如果不是网管,其他一般人员平时根本不可能去注意合法计算机的mac地址,一般情况也无法进入合法计算机去获得mac地址,除非其本身就是该局域网的用户。
6.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地址
注意:保护端口只对同一VLAN内的端口有效,对不同VLAN的端口无效。
因为一般不同VLAN访问都做了路由,而相同VLAN内的保护端口是不能访问的了