密码安全  

设置密码并加密

Switch(config)#enable secret 123456
Switch(config)#servic
Switch(config)#service pass
Switch(config)#service password-encryption 
Switch(config)#service password-encryption 
Switch(config)#enable secret 123456
Switch(config)#servic
Switch(config)#service pass
Switch(config)#service password-encryption 

Switch#sh running-config 
Building configuration...

Current configuration : 1143 bytes
!
version 12.1
no service timestamps log datetime msec
no service timestamps debug datetime msec
service password-encryption
!
hostname Switch
!
enable secret 5 $1$mERr$H7PDxl7VYMqaD3id4jJVK/

部署外部AAA(认证,授权,审计)服务器

可无需在每台设备上维护用户的身份信息

##交换机aaa服务器配置
aaa new-model


username admin privilege 15 password admin

aaa authentication login default group tacacs+ local

aaa authorization exec default group tacacs+ local

aaa accounting exec default start-stop group tacacs+

aaa accounting commands 15 default start-stop group tacacs+


tacacs-server host ***.***.***.****

tacacs-server directed-request

tacacs-server key cds-china

console,vty线路密码

1)  console密码

SW2(config)#line console 0
SW2(config-line)#password cisco
SW2(config-line)#login //启用密码认证,默认没有,需要加上去
SW2(config-line)#login local //本地开启用户认证
SW2(config)username xiao password fan //创建本地用户
SW2(config)username xiao privilege 15 password fan //以该用户登入设备后直接进入特权模式
说明---对用户的权限定义0-15级,最高为15,任何命令都可操作
SW2(config)service password-encryption //明文密码加密

2)  特权模式密码(设置全局密码)
SW2>enadle
SW2(config)#configure terminal

1.(config)#enable password en cisco←密码encisco 
2.(config)#enable secret jmcisco←密码jmcisco  #2个同时设,只有secret 有效,因为其优先极高
(config)#login  <--一定要加,表示启用
全局密码设置完成 
exitenable password xiaofan 优先级低
enable secret cisco  优先级高

思科加密方式:
0 显示的是密码本身
7 密文加密,容易破解  
5 复杂密文加密

3)  虚拟通道密码

SW2>enadle
SW2(config)#configure terminal
SW2(config)#line vty 0 4
SW2(config-line)#password telnetcisco
SW2(config-line)#login //默认就有
SW2(config-line)#login local //开启本地用户认证,使用本地用户数据库
SW2(config-line)no login //不需要密码就可登陆

telnet登入交换机或路由器,若不设置line vty密码,则默认客户端不能远程访问到设备
ctrl + shift + 6一起松开再按X即退出
show users/who  查看当前有哪些用户存在,console段是自己登陆到别的设备,vty段是别人登录到自己这端,*代表自己登陆用的line
show sessions   显示当前所有会话
show line   显示当前所有线路,*代表有用户在线的line
R#disconnect 2  断开由自己建立的会话2
R#clear line 3  关闭别的设备登录到自己的会话3 

ssh登入设备:只能以username和password登入
设备端做配置:
ip domain name cisco #设置交换机domain
crypto key generate
hostname cisco    //要有domain name和hostname
username cisco password cisco

在vty下:
login local
transport input ssh  //只允许以ssh方式登入,telnet时抓包可以看到用户和密码,ssh采用非对称加密技术,比telnet安全
登入端登入命令:ssh -l cisco 3.3.3.3


vty准入安全:仅允许特定源IP地址的管理用户远程访问vty线路
Switch(config)#access-list 1 permit 10.1.1.2
Switch(config)#access-list 1 permit 10.1.1.3
Switch(config)#line
Switch(config)#line vt
Switch(config)#line vty 0 3
Switch(config-line)#ac
Switch(config-line)#access-class 1 in

内置web界面安全

如果不使用web界面,应no ip http server 关闭web界面功能

如果计划使用web界面管理交换机,应尽量使用https协议,因为标准http流量是不加密的,使用全局配置命令 ip http secure server 开启HTTPS功能

Router(config)#ip http secure server
Router(config)#access-list 1 p
Router(config)#access-list 1 permit 10.3.3.3 0.0.0.255
Router(config)#ip http access-class 1

SSH使用SSH关闭Telnet

【Telne易于使用但安全性差,所有流量通过明文方式传输,Telnet会话很容易被窃听并通过抓包工具查看到明文的用户名和密码】

必须关闭telnet服务,开启ssh服务
即用ssh方式登录网络设备,而不允许用telnet。
输入密码、en 再次输入密码、sh run 这些常规动作就不再赘述。

1.关闭telnet
Router> config t
Router(config) > line vty 0 4
Router(config-line-vty)> no password
Router(config-line-vty)> exit
Router(config) > exit
Router>

几个注意点:
必须用 line vty 0 4 这个vty进去修改。
我们曾经用过 line vty 5 15 这个vty进去修改,以失败告终。
必须写 : no password 来关闭 telnet。
如果不小心写成了 no transport input
然后sh run时,就会变成:
transport input none
然后就没法通过 telnet 或者 ssh 进去了。。。

2.开启ssh服务
常规操作步骤:
1.SSH-Test#config t
2.SSH-Test(config)#ip domain-name bxxxx.gov
3.SSH-Test(config)#crypto key generate rsa
4.SSH-Test(config)#aaa new-mode
5.SSH-Test(config)#username test password test
6.SSH-Test(config)#line vty 0 4
7.SSH-Test(config-line)#transport input ssh
8.SSH-Test(config-line)#exit
9.SSH-Test(config)#exit
10.SSH-Test#sh run
测试下,如果是自己中意的结果,即ssh1能够登录的话,执行11
11. .SSH-Test#wr
把结果写入。

我们遇到的一种情况
在写 crypto key generate rsa这句话时,不让写入
原因排查方法(查看当前CIO是否支持SSH):
SSH-Test#config t
SSH-Test(config)#line vty 0 4
SSH-Test(config-line)#transport input ?
发现,只有 telnet 、all、none三种模式
没有ssh方法。
也就是说,该交换机不支持ssh登录方式。

SNMP

如不需要SNMP的写入权限,应关闭写入功能,以防止未授权用户通过SNMP修改设备配置

  SNMP可以用来远程监控和管理Cisco设备。然而,SNMP存在很多安全问题,特别是SNMP v1和v2中。要关闭SNMP服务,需要完成以下三件事:

  *从路由器配置中删除默认的团体字符串;

  *关闭SNMP陷阱和系统关机特征;

  *关闭SNMP服务。

  要查看是否配置了SNMP命令,执行show running-config命令。下面是用来完全关闭SNMP的配置命令:

        Router(config)#no snmp-server community public RO

        Router(config)#no snmp-server community private RW

        Router(config)#no snmp-server enable traps

        Router(config)#no snmp-server system-shutdown

        Router(config)#no snmp-server trap-auth

        Router(config)#no snmp-server

  前两个命令删除了只读和读写团体字符串(团体字符串可能不一样)。接下来三个命令关闭SNMP陷阱、系统关机和通过SNMP的认证陷阱。最后在路由器上关闭SNMP服务。关闭SNMP服务之后,使用show snmp命令验证

交换机未使用端口的安全

未使用端口应保持关闭,对于未使用的端口,还可将其统一放入到某一VLAN中,如果恶意用户成功访问到了未使用端口,会被限制到特定的VLAN中,并无法访问其他网络

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-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/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时,交换机继续工作,但来自新的主机的数据帧将丢失。
此配置在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 /在相应的接口丢弃流量。

CDP安全

Cisco discovering protocol 在cisco设备上,默认所有端口都启用了CDP特性。CDP本身是一种非常有用的网络发现协议,不过 在连接外部网络的接口上,应关闭CDP功能。攻击者可以通过侦听CDP信息获取到交换机的许多信息,CDP通告以明文形式发送,且无法配置认证功能 连接到终端的ACCESS也应关闭CDP

点击查看:具体可参考思科官方文档

STP操作安全

应始终在所有交换机的接入端口上启用BPDU保护,配置了BPDU保护特性的端口收到了BPDU后,端口会自动关闭

不要在一个端口上同时配置BPDU保护(BPDU grant) 和BPDU过滤(BPDU filter)如果同时配置了两种特性,只有BPDU filter会生效,启动BPDUfilter的端口会忽略收到的BPDU;如果在连接设备的ACCESS端口上启用此特性会大大增加二层环路的可能。

1、在全局下开启portfast

spanning-tree portfast default

2、在接口下开启BPDU防护

spanning-tree bpduguard enable

3、也可在全局下对所有端口开启BPDU防护

C3560G-1(config)#spanning-tree portfast default
C3560G-1(config)#spanning-tree portfast bpduguard default

当网络中真出现环路时,可以用以下命令查看环路来自哪个端口:

思科系-交换机安全配置命令_交换机命令行配置