enable,俗称特权密码。不同的级别,可以执行的命令大不相同。从低级别进入到高级别,需要输入相对应高级别的enable密码。本文重点分析enable password与enable secret的区别和设置。
一、环境
两台路由器,R2作为telnet server,R5作为telnet client。
二、基本配置
R2:
int e0/0
ip add 10.1.1.1 255.255.255.0
R5:
int e0/0
ip add 10.1.1.2 255.255.255.0
三、验证与分析过程
方式一、直接enable password 密码
1、R2新建本地用户
2、配置line vty 0 4
允许telnet用户使用密码admin登录
3、配置enable password
4、sh run
本地用户密码、enable密码、line密码均为明文。
5、从R5登录R2--line密码登录
R5#telnet 10.1.1.1
Trying 10.1.1.1 ... Open
User Access Verification
Password: (不显示,实际输入admin-----line密码)
R2>sh pri
Current privilege level is 1
R2>en
Password: (不显示,实际输入cisco-----enable密码)
R2#sh pri
Current privilege level is 15
R2#
6、从R5登录R2--本地用户密码登录
R5#telnet 10.1.1.1
Trying 10.1.1.1 ... Open
User Access Verification
Username: test1
Password: (不显示,实际输入test1-----username密码)
R2>sh pri
Current privilege level is 1
R2>en
Password: (不显示,实际输入cisco-----enable密码)
R2#sh pri
Current privilege level is 15
R2#
7、配置service password-encryption,然后show runn
本地用户密码、enable密码、line密码均为密文。
解释:
字符串"cisco"+cisco私有算法=070C285F4D06
字符串"test1"+ cisco私有算法=06120A32581F
字符串"admin"+ cisco私有算法=1304131F0202
所有明文密码都被cisco私有算法加密变成密文。
不影响telnet登录-telnet的登录还是用line密码admin或者本地用户test1和密码test1登录,进入特权模式,还是使用enable密码cisco。
8、配置no service password-encryption,然后show runn
本地用户密码、enable密码、line密码还是密文,没有变成原来的明文。
解释:service password-encryption加密过程不可逆。
方式二、enable password后加关键字再配置密码
1、删除前面的本地用户/密码、enable密码、line密码
2、设置本地用户/密码、line密码
3、设置enable password +关键字+密码
可用关键字0和7
A、关键字0
sh runn
效果: enable password 0 cisco= enable password cisco
解释:关键字0可有可无。
B、关键字7
输入cisco明文,报错。
输入使用私有算法加密字符串cisco后得到的密文070C285F4D06
sh runn
本地用户/密码、line密码为明文,enable 密码为私有算法加密后的密文。
R5#telnet 10.1.1.1
Trying 10.1.1.1 ... Open
User Access Verification
Username: test1
Password: (不显示,实际输入test1-----username密码)
R2>sh pri
Current privilege level is 1
R2>en
Password: (不显示,实际输入cisco-----enable密码)
R2#sh pri
Current privilege level is 15
R2#
总结:
关键字0:指示后面输入的为原始的未经处理的明文密码字符串。
关键字7:指示后面输入的为原始明文密码字符串经过私有算法处理后的密文字符串。
4、配置service password-encryption,然后show runn
enable密码为密文,未变化。
本地用户密码、line密码均变为密文。
相同的明文字符串和相同的私有算法,不同时间段计算出来的密文不一样。
但不影响telnet登录。
5、从R5登录R2--本地用户密码登录
R5#telnet 10.1.1.1
Trying 10.1.1.1 ... Open
User Access Verification
Username: test1
Password: (不显示,实际输入test1-----username密码)
R2>sh pri
Current privilege level is 1
R2>enable
Password: (不显示,实际输入cisco-----enable密码)
R2#
6、从R5登录R2--line密码登录
R5#telnet 10.1.1.1
Trying 10.1.1.1 ... Open
User Access Verification
Password: (不显示,实际输入admin-----line密码)
R2>sh pri
Current privilege level is 1
R2>enable 15
Password: (不显示,实际输入cisco-----enable密码)
R2#sh pri
Current privilege level is 15
R2#
方式三、直接enable secret 密码
1、删除前面的所有密码和service password-encryption
2、设置本地用户密码、line密码
2、设置enable secret
3、sh run
本地用户密码、line密码均为明文
enable密码被加密了
明文密码字符串cisco被sha256算法加密成 tnhtc92DXBhelxjYk8LWJrPV36S2i4ntXrpb4RFmfqY
解释:默认使用sha256加密明文密码字符串。
4、从R5登录R2--line密码登录
R5#telnet 10.1.1.1
Trying 10.1.1.1 ... Open
User Access Verification
Password: (不显示,实际输入admin-----line密码)
R2>enable
Password: (不显示,实际输入cisco-----enable密码)
R2#sh pri
Current privilege level is 15
R2#
5、从R5登录R2--本地用户密码登录
R5#telnet 10.1.1.1
Trying 10.1.1.1 ... Open
User Access Verification
Username: test1
Password: (不显示,实际输入test1-----username密码)
R2>enable
Password: (不显示,实际输入cisco-----enable密码)
R2#sh pri
Current privilege level is 15
R2#
6、配置service password-encryption
本地用户密码和line密码均成为密文,enable密码无变化。
service password-encryption只对明文密码加密,已经加密过的密码,不做处理。
方式四、enable secret后加关键字再配置密码
1、删除前面所有密码和service password-encryption
2、设置本地用户密码、line密码
3、设置enable secret +关键字+密码
可用关键字有0、4、5
A、enable secret +0
效果和前面一样,关键字0可有可无。
B、enable secret +4
直接输入明文密码字符串,报错。
输入明文密码字符串cisco被sha256算法加密处理后的密文 tnhtc92DXBhelxjYk8LWJrPV36S2i4ntXrpb4RFmfqY
sh run
R5#telnet 10.1.1.1
Trying 10.1.1.1 ... Open
User Access Verification
Username: test1
Password: (不显示,实际输入test1-----username密码)
R2>enabl
Password: (不显示,实际输入cisco-----enable密码)
R2#
line密码登录就不演示了。
C、enable secret +5
直接输入明文密码字符串,报错。
需要输入cisco经过MD5运算后的的密文 $1$WjRE$YWPwBueyhZ8wBsapiwGi10
sh run
设置本地用户密码、line密码均为明文字符串,enable密码为MD5加密后的密文
配置service password-encryption
sh run
配置service password-encryption后,本地用户密码、line密码均为私有算法加密后的密文;
enable密码无变化。
R5#telnet 10.1.1.1
Trying 10.1.1.1 ... Open
User Access Verification
Username: test1
Password: (不显示,实际输入test1-----username密码)
R2>ena
Password: (不显示,实际输入cisco-----enable密码)
R2#sh pri
Current privilege level is 15
R2#
R2#
line密码登录就不演示了。
enable密码四种方式总结:
(1)enable password 密码
(2)enable password后加关键字再配置密码
关键字有0和7
(3)enable secret 密码
enable secret 命令设置的密码将会覆盖enable password命令设置的密码。
(4)enable secret后加关键字再配置密码
关键字有0、4(sha256)、5(md5)、8(PBKDF2)、9(SCRYPT)等
对于enable password:
关键字0:指示后面输入的为原始的未经处理的明文密码字符串。
关键字7:指示后面输入的为原始明文密码字符串经过私有算法处理后的密文字符串。
对于enable secret:
关键字0:指示后面输入的为原始的未经处理的明文密码字符串。
关键字4:指示后面输入的为原始明文密码字符串经过sha256算法处理后的密文字符串。
关键字5:指示后面输入的为原始明文密码字符串经过MD5算法处理后的密文字符串。
关键字8和关键字9部分设备才有此算法。
PBKDF2:Password-Based Key Derivation Function
SCRYPT:scrypt是由著名的FreeBSD黑客 Colin Percival为他的备份服务 Tarsnap开发的。
注:
1、本文配置的本地用户名test1、密码test1,line密码admin,enable密码cisco,均为演示用密码;用户需要根据实际环境配置符合安全规定的密码。
2、本文设置的密码(本地用户密码、line密码、enable密码等)都没有设置权限,使用系统默认分配的权限。后面将介绍cisco ios权限-权限不同,可执行的命令也不同。
使用line密码登录后,默认的权限级别为1(可以使用的命令有限);
输入enable及对应的enable密码后,权限级别由1提升到最高的15(可以执行所有命令)