网络设备 密码、用户级别 AAA授权 的管理
一.进入 特权模式 密码
设置访问网络设备特权模式口令
cisco>enable
cisco#config terminal
cisco(config)#enable password 密码
enable password存在的问题是它将口令以可阅读文本的形式储存在 running-config和startup-config中
特别说明:
Router(config)#enable password ?
7 Specifies a HIDDEN password will follow
LINE The UNENCRYPTED (cleartext) 'enable' password
level Set exec level password
7
是思科自有的加密协议type7,比较简单,容易破解,这里的用法是 enable password 7 ……
后面是加入密文才有效。这个密文通常要在以前备份的配置里拷贝才行,用于配置恢复时使用。
比如你设置enable password cisco
然后使用service password-encryption命令开启加密
在show running-config里面能够看到enable password 7 104D000A0618
104D000A0618这个值你就可以直接写在enable password 7后面,实际就是cisco密文加密的结果
LINE
直接输入密码,不加密,明文显示
level (后面讲)
设置用户级别密码 指定密码作用于哪个级别(实际操作中会将密码加密保存)
共15个等级 最低为1 最高为15(相当于root权限)
进入对应的级别输入 相应的密码
如:Router>enable 5 (此时应输入5级密码)
在网络设备中,默认情况下,除了使能加密口令外,其它所有口令都以明文格式储存在startup-config 和 running-config中。使用 service password-encryption 命令后,所有系统口令都将以加密形式存储。
加密系统所有口令
cisco(config)# service password-encryption
加密的方式是cisco私有加密方式
取消系统口令加密
cisco(config)# no service password-encryption
取消加密不会将已加密的口令恢复为可阅读文本,但是新设置的密码将会以明文存在
二.使能密码
思科引入新的口令控制特权模式访问,即加密口令,使能密码
设置访问网络设备特权模式加密口令
cisco>enable
cisco#config terminal
cisco(config)#enable secret 密码
采用了MD5加密,如果配置了加密口令,则不在使用未加密口令,两种口令不能并列使用
特别说明:
Router(config)#enable secret ?
0 Specifies an UNENCRYPTED password will follow
5 Specifies an ENCRYPTED secret will follow
LINE The UNENCRYPTED (cleartext) 'enable' secret
level Set exec level password
其实对于Secret 选项来说,密码肯定是会被加密的。
假设我要设置的密码为cisco
0 是指:我现在即将输入的密码是原始密码,是:cisco
5 是指:就是输入cisco 的MD5值:$1$XNRo$8FSa/XSF9DbmF6VbK6L6K
level : 设置用户级别密码 指定密码作用于哪个级别
三.控制台登录密码
配置console 访问密码
cisco>enable
cisco# config terminal
cisco(config)# line console 0 切换为控制台0号 线路配置模式
cisco(config)# password 密码 设置密码
cisco(config)# login 将控制台线路设置为登陆需要输入口令 才能访问(否则即使设置密码也不需要输入)
四.辅助线路
配置vty访问密码
cisco>enable
cisco#config terminal
cisco(config)#line aux 0 对aux0号 线路进行配置
cisco(config)#password 密码 设置密码
cisco(config)#login 将控制台线路设置为登陆需要输入口令 才能访问(否则即使设置密码也不需要输入)
五.虚拟终端线路(vty 同步)(tty异步) telnet ssh
配置vty访问密码
cisco>enable
cisco#config terminal
cisco(config)#line vty 0 15 对vty0到15号 线路进行配置(最大允许16个人同时登陆,VTY线路的编号)
cisco(config)#password 密码 设置密码
cisco(config)#login 将控制台线路设置为登陆需要输入口令 才能访问(否则即使设置密码也不需要输入)
特别说明:
Router(config-line)#login ?
authentication authenticate using aaa method list
local Local password checking
authentication 配置Telnet口登录进行AAA认证(后面讲)
local 如果设置 local 则指明使用本地数据库进行身份验证,将要输入 用户名 和 密码
首先必须要用username xxx password xxx命令
来创建你的用户并且给你的用户设置密码
特别说明,在默认情况下,除了password secret外,所有cisco密码都以明文形式,存贮在路由器的配置,这些密码通过 show running-config命令来查看。这是非常不安全的行为。
为提高密码安全性,可进行如下配置。
1.设置最短密码长度
cisco IOS 12.3 以后的版本,可以利用命令
security passwords min-length 长度
设置0~16位的最短字符长度,启用后,user passwords、enable secret、line passwords、都会遵循此设置
2.禁用无用连接
在线路配置模式下,使用
Router(config-line)#exec-timeout 时间
该命令来控制管理接口连接时间,
3.加密配置文件中的所有密码
加密系统所有口令
cisco(config)# service password-encryption
加密的方式是cisco私有加密方式,是一种可逆的加密,建议使用与enable 不同的密码
取消系统口令加密
cisco(config)# no service password-encryption
取消加密不会将已加密的口令恢复为可阅读文本,但是新设置的密码将会以明文存在
4.使用本地数据库中的用户和密码执行登陆验证,有两种配置方式
Router(config)# username 用户名 passwords 密码
Router(config)# username 用户名 secret 密码 (用md5加密,安全性更高)
然后在线路配置中,启用本地登陆验证
Router(config-line)#login local
5.其它的登陆安全措施
R1(config)#login block-for 60 attempts 3 within 30
//30s内连续登录失败3次后,等待60s(进入安静期)后才能再次登录
R1(config)#login quiet-mode access-class 10
//安静期内ACL10指定的计算机仍可以远程访问本路由器
R1(config)#login delay 2 //登录成功后有2s延迟,即2s后才能再次登录
R1(config)#login on-failure log //登录失败会在日志中记录
R1(config)#login on-success log //登录成功会在日志中记录
R1(config)#security authentication failure rate 5 log
//连续登录失败5次后,默认等待15s后才能再次登录,并会产生日志,IOS12.3(1)
验证配置可以使用 show login
6.设置标语
配置旗标消息:
R1(config)#banner motd @ @ //每日报告旗标(MOTD Message-of-the-day banner) 连接时
R1(config)#banner login@ @ //登录旗标 登录前
R1(config)#banner exec @ @ //EXEC旗标 登陆后
R1(config)#banner incoming@ @ //传入旗标
在与反向Telnet线路连接的终端上显示,该旗标有助于向用户提供指令;
R1(config)#banner slip-ppp@ @ //SLIP-PPP旗标
常用于兼容非Cisco系列线路Internet协议(如:SLIP和PPP拨号软件连接中),如果使用默
认旗标,会导致连接问题。
用户级别控制:
Cisco IOS提供从0到15的16个优先权等级:
①默认情况下IOS有3个预定义的用户等级,分别为:
优先权等级0:包括disable、enable、exit、help和logout命令;
优先权等级1:User EXEC mode,即用户模式(R1>)的所有用户级命令;
优先权等级15:Privileged EXEC mode(启用模式),包括R1#提示的所有启动级命令。
②2至14等级用于用户自定义的模式;
cisco(config)# enable secret level 级别 密码
设置从用户模式进入各级别 特权模式的密码
R1(config)# username user3 privilege 5 secret 密码
创建优先权等级5的user3用户
③ R1(config)# privilege mode level 级别 命令
命令可以更改、移动或设置上述任一级别的命令优先权,
mode:是指路由器上的不同模式
cisco(config)#privilege ?
configure Global configuration mode
exec Exec mode
interface Interface configuration mode
line Line configuration mode
router Router configuration mode
示例: R1(config)#privilege configure level 5 interface
//移动等级15的“interface”命令到等级5
R1(config)#privilege configure level 5 ping
//等级5及以上才可以使用 ping 命令
④“R1(config-line)#privilege level level 命令可以修改给定线路的优先权等级。
示例:R1(config)#line vty 3 4
R1(config-line)#privilege level 1 //修改VTY线路3-4的默认优先权等级为1
使用 show privilege 命令显示当前级别
AAA认证:
一、简介
AAA是Authentication(认证)Authorization授权 Account记帐的简称;
它们不是必须的也不是要同时一起使用的;
他们可以使用路由器设备本地数据库,也可以使用外部数据库(ACS);
首先我们要认证,即通过密码验证;我们就算没有设置其实也用到了认证,就是登陆路由器要输入的密码,
这个叫enable,
我们在配置了,username abc password aaa
username abc secret password
使用这个帐号的话,叫local;
这二种是本地的数据库。
如果要用到认证服务器,如 tacacs+ radius 就属于group 服务器组方式了,这时你必须要在tacacs+ radius中选一个,同时还最多可选三个其它的认证方式;当然如果你对你的服务器和网络环境有信心的话可以不选。
二、配置教程
1、使用它们都是三个步骤
1、建立帐户数据库(本地或认证服务器);
2、定义列表;
3、应用到接口和链路;
2、首先我们要启用AAA功能
Router(config)# aaa new-model
3、一般来说第二步定义一个本地数据库防止配置失误造成无法登陆
Router(config)# Username abc password aaa
4、定义认证配置
认证相当于在问你是谁,你要回答我是哪个;但不可能不停的在问就算不烦嗓子也疼啊,只有在进门时我会问下你是谁,开保险柜时我在问下你是谁,或者是检查指纹测试瞳孔什么的等等;所以我们要对动作进行认证定义。
Router(config)#aaa authentication 行为 列表名 认证方法
行为主要有以下三种:
aaa authentication login ――――――当有一个登陆行为时进行认证;
aaa authentication ppp ――――――对基于PPP协议的一些网络应用进行认证;
aaa authentication enable ――――――对使用enable命令进入特权模式时进行认证;
列表名是自己定义的,这样我们可以把各种认证方式互相组合保存成一个个列表,用的时候方便,修改起来也方便,我改了一个列表里的认证方式那么所有使用这个列表的地方都改了,不需要去一个个地方去改了。
Dedautl列表是一个系统自己建立的列表名作为缺省列表。它与我们自己建的列表没有任何区别,只不过他是系统建的而已。
3、认证方法,就是指我们是查口令呢还是看指纹还是其它等等,也就是把我们的回答和谁进行分析比较。主要有以
下几种:
关键字 | 描述 |
enable | 使用enabel口令认证; |
krb5 | 使用Kerberos5来认证; |
line | 使用线路口令来认证; |
local | 使用本地用户数据库来认证; |
none | 不认证; |
group radius | 使用radius服务器来认证; |
group tacacs+ | 使用tacacs+服务器来认证; |
local-case 使用本地验证(对大小写敏感)
每个列表中必须定义一种认证方法,最多可以定义四种方法,当第一种认证不通过再使用第二种,以此类推。
例如我们定义
Router(config)# aaa authentication login 二号方案 group tacacs+ local
//我们定义了一个名叫二号方案认证方式,就是先去tacacs+服务器验证,如果不成功在试试用本地帐号来试;
Router(config)# aaa authentication login 三号方案 group local enable
//我们定义了一个名叫三号方案认证方式,就是先用本地帐号验证,如果不成功就用enable密码来验证;
五、应用到接口和链路
我们上面做了那么多但是还没有效果为什么呢,就好像我们做好了报警器,指纹验证器但没装到门上你说可有效果,那当然是不行的了,我们是定义了当登陆时就启用一个列表名字叫二号方案的认证方式,但只有我们把他装到门上才能有效果啊,有人说太麻烦应该定义好了就能用,那就惨了,你给自己家的门上装了二号方案没关系,如果楼道门、院子门,都给装上了那就有问题了,所以我们要把定义好的认证方法列表装到我们需要使用认证的门上,例如我们可能对Telnet要认证,但通过console登陆的就不要认证。
Router(config)# line vty 0 //我们先要进入接口
Router(config-line)# aaa authentication 二号方案 //线路vty0使用名为二号方案的方式进行认证;
或者:
Router(config)# line vty 1
Router(config-line)# login authentication 三号方案
aaa的一些其他命令:
锁死失败超过限制的账号
Router(config)# aaa local authentication at tempts max-fail 失败次数
显示所有被锁死的用户
Router# show aaa local user lockout
解除锁定
Router(config)# clear aaa local user lockout {username 用户名| all}
只显示aaa认证授权的用户
Router# show aaa user {all | 唯一id}
显示一个会话的唯一id
Router# show aaa sessions
AAA授权:
配置供用户通过认证之后的AAA授权
aaa authorization 命令
aaa authorization {network | exec | commands level | reverse-access | configuration} {default
|list-name} method1 [method2~~~]
network 为所有网络相关的服务请求进行授权,包括SLIP,PPP,PPP NCP和ARA
exec 使用授权,以确定是否用户可以运行一个EXEC shell.
commands 为所有处于规定的特权级别的命令使用授权
level 规定应该被授权的命令级别,有效值 0-15
reverse-access 为反向访问连接使用授权,例如反向Telnet
configuration 从AAA服务器上下载配置
default 使用此变量后列出的认证方法,作为缺省方法列表供认证
listname 用来命令认证方法列表的字符串
method 规定以下关键字的至少一种
group 用radius或tacacs+服务器的一个子集来认证,这些服务器定义在aaa group server radius
或aaa group server tacacs+命令中
if-authenticated 如果用户为认证,允许用户访问请求的功能;
krb5-instance 使用被kerberos instance map命令定义的实例;
local 用本地用户名数据库来授权
none 不用授权
例子:
enable secret level 1 *** 为级别1的用户建立一个enable secret口令
enable secret level 15 *** 为级别15的用户建立一个enable secret口令
aaa new-model 启用AAA
aaa authentication login default enable 将enable口令作为缺省的登入方式
aaa authentication login console-in group tacacs+ local 无论何时使用名为console-in的列
表,都使用TACACS+认证,如果TACACS+认证失败,己用本地用户名和口令
aaa authentication login dial-in group tacacs+ 无论何时使用名为dial-in的列表,都使用
TACACS+认证.
username *** password **** 建立一个本地用户名和口令,最可能与console-in登录方法列
表一起使用
aaa authorization commands 1 alpha local 用本地用户名数据库来为所有级别1命令的使用进行
授权 www.2cto.com
aaa authorization commands 15 bravo if-authenticated group tacplus local 如果用户已经认
证了,让其运行级别15的命令,如果还未认证,在允许其访问级别15的命令之前,必须基于tacplus组中的
TACACS+服务器来认证
aaa authorization network charlie local none 使用本地数据库来对所有网络服务的使用授权,
如果本地服务器不可用,此命令执行并不授权,用户能使用所有的网络服务
aaa authorization exec delta if-authenticated group tacplus 如果用户已经认证,让其运行
EXEC过程,如果没有认证,在允许EXEC之前,必须基于tacplus组中的TACACS+服务器来认证
privilege exec level 1 ping 为级别1的用户启用PING
line console 0
login authentication console-in 使用console-in列表作为控制台端口0的登录认证
line s3/0
ppp authentication chap dial-in 使用dial-in列表作接口S3/0 的PPP CHAP的登录认证
AAA记账:
配置规定如何写记帐记录的AAA记帐
aaa accounting [auth-proxy |system |network |exec |connection |commands level]{default
|list-name} [vrf vrf-name] [start-stop|stop-only|none][broadcast][method][method2]
auth-proxy 提供有关所有认证代理用户事件的信息
system 为所有非用户相关的系统级事件执行记帐
network 为所有网络相关的服务请求运行记帐
exec 为EXEC shell会话运行记帐。
connection 提供所有有关源子NAS的外出连接的信息
commands 为所有处于特定特权级别的命令运行记帐,有效的特权级别取值0-15
default 使用本参数之后列出的记帐方式
list-name 用来命令记帐方式列表的字符串
vrf vrf-name 规定一个VRF配置
start-stop 在一个过程的开端,发送一个开始记帐通知,在过程结束时,发送一个停止记帐通知
。
stop-only 在被请求用户工程结束时发送一个停止记帐通知
none 禁止此链路或接口上的记帐服务
broadcast 启用发送记帐记录到多个3A服务器,同时向每个组中第一台服务器发送记帐记
录 www.2cto.com
method 规定一下关键子中的至少一个
group radius 用所有RADIUS服务器列表作为记帐
group tacacs+ 用所有列出的TACACS+服务器来记帐
group group-name 用RADIUS或TACACS+服务器的一个子集作为记帐
在路由器上启用下列命令以启用几张
aaa accounting system wait-start local 用记帐方法审计系统事件
aaa accounting network stop-only local 当网络服务中断,发送停止记录通知
aaa accounting exec start-stop local 当EXEC过程开始时,发送一个开始记录通知,结束时,发
送停止记录
aaa accounting commands 15 wait-start local 在任何级别15的命令开始之前,发送一个开始记录通
知,并等待确认,当命令中止时,发送一个停止记录通知。
6 校验配置
debug aaa authentication 显示有关认证功能的调试信息
debug aaa authorization 显示有关授权功能的调试信息
debug aaa accounting 显示有关记帐功能的调试信息
网络设备 密码、用户级别 AAA授权 的管理的更多相关文章
- oAuth 使得第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权
OAUTH协议为用户资源的授权提供了一个安全的.开放而又简易的标准.与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可 ...
- Linux 管理环境变量的文件分为系统级和用户级别
Linux 管理环境变量的文件分为系统级和用户级别 管理环境变量的文件也分为系统级和用户级别: 1.系统级:/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件,应用于 ...
- MongoDB用户授权和管理
转载于https://blog.csdn.net/yu757371316/article/details/55210536 1.mongodb安装好后第一次进入是不需要密码的,也没有任何用户,通过sh ...
- 转 在SQL Server中创建用户角色及授权(使用SQL语句)
目录 要想成功访问 SQL Server 数据库中的数据 我们需要两个方面的授权 完整的代码示例 使用存储过程来完成用户创建 实例 要想成功访问 SQL Server 数据库中的数据, 我们需要两个 ...
- 在SQL Server中创建用户角色及授权
参考文献 http://database.51cto.com/art/201009/224075.htm 正文 要想成功访问 SQL Server 数据库中的数据, 我们需要两个方面的授权: 获得准许 ...
- ORACLE - 用户和角色的权限管理
在ORACLE中,创建用户后需要授权才能使用. 一.用户管理 1. 用户和角色信息查询 --查询所有用户 SQL> select * from dba_users; --经授予的用户或角色的系统 ...
- Oracle 11g安装步骤以及Oracle11g创建表空间和用户,并授权
Oracle 11g安装步骤详解 一.Oracle 下载 注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可. 路径名称中,最好不要出现中文,也不要出现空格等不规则字符. 官方下地 ...
- MONGODB用户、角色和权限管理
最近遇到很多问MONGODB用户认证授权方面的问题,现在特记录下来,与大家共享. 一.概念理解 1.用户概念 Mongodb的用户是由 用户名+所属库名组成 例如: 登录mongo testdb ...
- 最简实例演示asp.net5中用户认证和授权(4)
上篇: 最简实例演示asp.net5中用户认证和授权(3) 上面我们把自定义认证和授权的相关的最小基础类和要实现的接口都实现了,下面就是如何来进行认证和授权的配置. 首先我们要告诉系统,我们的用户和角 ...
随机推荐
- ReactNative: 将自定义的ReactNative组件制作成第三方库的详细流程(制作-->发布)
一.简介 在讲本篇博文之前,需要你熟知怎么自定义ReactNative组件,然后才好学习将自定义的ReactNative组件制作成第三方库.本文中的自定义的ReactNative组件LoginMana ...
- Jenkins 应用
一.Jenkins Linux shell集成 新建任务 shell-freestyle-job,选择Freestyle project,点击[确定] 添加描述,This is my first ...
- mysql累加、累减
累加 先上表结构: CREATE TABLE `abc` ( `jidu` ) NOT NULL AUTO_INCREMENT, `jine` ) DEFAULT NULL, PRIMARY KEY ...
- 异数OS TCP协议栈测试(一)--数据传输篇
异数OS TCP协议栈测试(一)--数据传输篇 本文来自异数OS社区 github: 异数OS-织梦师(消息中间件)群: 476260389 测试目标 数据传输IO性能测试,主要是建立连接后测试收 ...
- BZOJ 2648 世界树
题目传送门 分析: 喜 闻 乐 见 的虚树 但是建好虚树后的DP也非常的恶心 我们先考虑每个关键点的归哪个点管 先DFS一次计算儿子节点归属父亲 再DFS一次计算父亲节点归属儿子 然后然后我们对于虚树 ...
- 个人第四次作业Alpha2版本测试~顾毓
个人第四次作业Alpha2版本测试 这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience/ 这个作业要 ...
- HTML超全笔记
HTML概述 概念:是最基础的网页开发语言 Hyper Text Markup Language 超文本标记语言 超文本: 超文本是用超链接的方法,将各种不同空间的文字信息组织在一起的网状文本. 标记 ...
- day04_IDEA、方法
day04_IDEA.方法 1.快捷输入 psvm:public static void main(String[] args){ } sout:System.out.print("&quo ...
- MySQL会话控制限制登录次数
前言 一般我们开发环境的MySQL是没有配置登录保护的,但仅限于开发环境,正式环境是不允许无限制登录,存在很大的风险. MySQL 5.7 以后提供了Connection-Contro ...
- ImageButton去边框&Button或者ImageButton的背景透明
在ImageButton中载入图片后,很多人会觉得有图片周围的白边会影响到美观,其实解决这个问题有两种方法 一种方法是将ImageButton的背景改为所需要的图片.如:android:backgro ...