Cisco IOS权限等级,接入管理和密码设置细节分析
文章结构:
一,Cisco IOS权限等级
1,Level 0
2,Level 1(Level 2~14)
3,Level 15:特权模式(Privilegemode)
4,各权限之间的关系
(1),权限等级跳转
(2),给Level 2~14下放部分Level 15权限
二,用户接入管理
1,console接入
2,aux接入
3,vty接入
三,设置密码
1,四种密码设置命令
(1),直接enablepassword配置密码
(2),enablepassword后加关键字再配置密码
(3),直接enablesecret配置密码
(4),enablesecret后加关键字再配置密码
2,加密show run显示的密码配置
一,Cisco IOS权限等级
Cisco IOS提供了16种权限等级,分别是levvel 0到level15,每一个Level都有不同的权限,同时对应着不同权限能使用的命令。对于所有16个Level来说,实际上只有3种Level而已:Level 0,Level 1(Level 2~14),Level 15。下面我们详细介绍一下。
1,Level 0
Level 0是最低的权限,只能使用极少数的几个命令:
2,Level 1(Level 2~14)
Level 1是用户EXEC模式(User mode),通常用来查看路由器的状态。在此状态下,无法对路由器进行配置,可以查看的路由器信息也是有限的。
Level 2~14是用来干什么的呢?
一些不允许拥有完全权限(Level 15)的用户或客户需要连接到路由器时,管理员可以把Level 15中的部分命令的使用权限下放给Level 2~14,然后把这些有权限运行部分命令的Level分发给相应的客户或用户。这样,那些客户或用户就能使用这些本来自己没有权限使用的命令了。Level 2~14的命令权限和Level 1相同,只不过缺省配置下是Level 1 而已。
权限原则:只赋予必需的最少的访问权限。
如图,在缺省配置下登录到Cisco路由器将处于用户EXEC模式(等级1)下。
Level 1(Level 2~14)能使用的命令较多,36个左右。(下图不完全)
3,Level 15:特权模式(Privilegemode)
特权模式(Privilege mode)可以更改路由器的配置,当然也可以查看路由器的所有信息,可以对路由器进行全面控制。用户模式下敲入“enable”命令(同“enable 15”)即进入特权模式。
特权模式(#)与全局配置模式(config)的关系:Cisco IOS的根本权限不是全局配置模式而是的特权模式,全局配置模式只不过是特权模式的一个功能特性模式而已。
如图,输入“enable”后进入了特权模式。
Level 15能使用全部命令,命令太多这里就不截图了。
4,各权限之间的关系
(1),权限等级跳转
除了Level1能直跳Level 15外,在没有设置等级权限密码的情况下,低等级权限模式下是不能跳转进入高等权限模式的。
比如我们在Level 1下需要进入权限等级3的话,在Level 1下敲入enable 3会报错:“% Nopassword set”。正确的方法是:先敲入enable或enable 15(enable命令默认进入等级15),之后敲入enable 3。查看当前权限等级命令是show privilege。)当然,我们给一些权限等级设置密码后低等级权限模式就能直接跳转进入高等级权限模式了。
配置如下:
Router(config)#enable password level3 cisco
% Converting to a secret. Please use "enable secret" in thefuture.
验证如图:
(2),给Level 2~14下放部分Level 15权限
下面用一个实例来说明如何给Level 2~14下放Level 15特权模式权限才能使用的命令。
实验拓扑:
说明:IP地址等基础配置已完全,R1为企业,R2为被下放命令的客户。
R1(config)#username aaa privilege 3password 0 aaa //新建用户aaa密码aaa权限等级3
R1(config)#privilege exec level 3show running-config //授予等级3使用命令“show run”
R1(config)#line vty 0 4 //开始对线路0~4进行配置
R1(config-line)#login local // 登陆验证调用本地用户列表
R2(权限受限制的客户)验证如图:
说明:远程终端输入用户名密码后直接进入特权等级3,无需从等级1 enable 3进入等级3。
二,用户接入管理
用户接入:管理设备的用户接入设备的方式有Console、HTTP、TTY、VTY或其他网管软件等等。这里我们主要讲3种,console口接入,aux口接入和vty(virtualteletype terminal虚拟终端)。
他们的配置如下:
1,console接入
Router(config)#line console 0 //进入console线路,这里只能是0,因为console线只有一条
Router(config-line)#password cisco //设置密码,password后可外加0或7来限制密码字段
Router(config-line)#login //确认启用密码设置,没用login密码设置无效)
退出后重新登陆设备将需要输入刚才设置的密码:
配置Console介入时的其他常用的设置:
Router(config-line)#logging synchronous 这个命令可以阻止控制台信息打断当前输入。
Router(config-line)#exec-timeout 0 0 这个命令将永不断开console的接入。为了防止在管理员在配置中途离开设备而有其他人操作设备,Cisco IOS默认控制台10分钟无操作自动断开接入。这条命令完全格式是exec-timeoutx x,表示控制台无操作x分x秒后自动断开接入。
2,aux接入
aux接入与console接入完全相同。
Router(config)#line aux 0 (一台设备也只有一个aux口不是?)
Router(config-line)#password cisco
Router(config-line)#login
Router(config-line)#loggingsynchronous
Router(config-line)#exec-timeout 0 0
3,vty接入
vty接入除了进入线路的line命令特别以外,也同console接入和aux接入。
Router(config)#line vty 0 4 (开启5条vty线路0~4)
Router(config-line)#password cisco
Router(config-line)#login
Router(config-line)#loggingsynchronous
Router(config-line)#exec-timeout 0 0
说明:使用show run可以看到IOS的默认设置里console线路0,aux线路0和vty线路0~4都是默认开启的。vty的0~4号线路开启表示设备可以同时允许5个虚拟终端同时接入设备,且按虚拟终端接入时间顺序依次使用线路0~4。禁用vty的方式就是在所有line 中去掉密码,在没有设置vty密码的情况下,vty是不能被使用的。
禁用vty配置:
Router(config)#line vty 0 4
Router(config-line)#no password。
三,设置密码
在成功登录Cisco ISO后我们应该考虑一下设备配置的安全问题。为了增强安全性,防止不应该的用户登录路由器串改重要配置,我们可以设置一些密码。
注意,Cisco IOS的密码都是大小写敏感的,并且支持空格作为密码字段,很多人在敲完命令后习惯性的会按一下空格键,对于其他命令这当然无关紧要。但是对于密码设置来说IOS会把最后那个空格算入密码字段中,密码将成为“XXX空格”。但是如果空格出现在密码字段的前面则不会影响密码字段,Cisco CLI默认合并命令词组前的多个空格为一个空格,密码前的空格会被合并入密码字段前面的命令正常空格。
Cisco IOS的enable密码默认为空,所以对设备进行初始设置时必须设定enable密码。
1,四种密码设置命令
(1),直接enable password配置密码
这种方式是明文的,即show run能看到明文密码。
(2),enable password后加关键字再配置密码
输入命令“enable password ?”后面会出现如下图:
enable password 0 后面可以直接跟加密的内容(UNENCRYPTED),这个命令和enablepassword 一样。
enable password 7后面必须要跟你加密的密码经过思科私有算法出来那个数值(HIDDEN)。
比如“enable password 7 060506324F41 “cisco”经思科私有算法处理后的结果为060506324F41。我们在在登陆设备后要求输入enable密码时,我们要输入“cisco”而不是“060506324F41”
(3),直接enable secret配置密码
这种方式是采用MD5算法加密密码,enablesecret命令设置的密码将会覆盖enable password命令设置的密码。
(4),enable secret后加关键字再配置密码
输入命令“enable secret ?”,出现下图:
enable secret 0后直接接密码字段(UNENCRYPTED),将使用MD5加密而不是明文,相当于enablesecret后直接接密码字段。
enable secret 5后面必须要跟你加密的密码经过MD5算法出来那个数值(ENCRYPTED)。
比如“enable secret 5 $1$IACW$LEPKyEV6Ak/0Tnkvk8BNA “cisco”经MD5算法处理后的结果为$1$IACW$LEPKyEV6Ak/0Tnkvk8BNA。我们在登陆设备后要求输入enable密码时,我们仍然要输入“cisco”而不是“$1$IACW$LEPKyEV6Ak/0Tnkvk8BNA.”
2,加密show run显示的密码配置
在使用show run查看设备配置命令时,如果配置的密码被明文显示在设备输出(终端的窗口界面)中,依然会有泄密的风险。为此我们可以使用“servicepassword-encryption”命令来使设备终端显示的密码为密文而不是明文。
service password-encryption这个加密的方式是采用了cisco的私有加密方式来加密的。(设置console密码后,开启service password-encryption。我们show run会发现密码配置命令为“password 70071A150754”数字7就表示采用了cisco的私有加密算法。)
如果我们在路由器上面再敲入:no service password-encryption这条命令后,是不可能直接解密密文的,必须通过其他办法解密。常常使用cisco私有算法密码逆算软件来通过密文逆算出真正的密码。
另外比较重要的一点就是,service password-encryption这条命令必须在设置密码后再配置,先配置servicepassword-encryption再设置密码的话,该密码将不会被加密。
service password-encryption是对配置中的所有密码加密,不单单是enable密码,如果enable是明文的将会被重新加密,如果enable密码已经被MD5(enablesecret 命令)或被Cisco私有算法(enablepassword 7命令)加密后,service password-encryption将不作额外处理。