aaaCISCO.docx
- 文档编号:24296181
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:17
- 大小:21.58KB
aaaCISCO.docx
《aaaCISCO.docx》由会员分享,可在线阅读,更多相关《aaaCISCO.docx(17页珍藏版)》请在冰豆网上搜索。
aaaCISCO
认证(Authentication)
认证是设备或者用户在访问不同类型的资源前,进行身份验证的过程。
通常,包括一个用于用户或者设备与认证服务器之间进行验证时需要提交的口令,然后根据认证服务器数据库中的口令校验此口令的正确性。
如果校验正确,则用户或设备就被获准而获得相应的登录权限,同时如果设置了授权参数的话,就必须依据授权参数进行访问和使用。
在小范围的网络中,通常可以使用一台路由器或者其它的网络设备如交换机,防火墙等作为认证服务器,维护一个较小的数据库来完成认证的过程。
对于大范围的网络中,通常建议设置一台专门的安全服务器,来完成相应的AAA服务,比如使用TACACS+或者Radius服务器。
这些服务器可以支持更高级的安全特性,如一次性口令(OneTimePassword,OTP),基于外部数据库的身份认证;我们在本节中将对使用TACACS+或者Radius构建本地认证和安全服务器认证的方法做讲解。
一、 认证方法
认证方法列表是一个或者多个认证方法的有序的列表,路由器按照输入的方法的顺序执行轮询的来进行操作,当第一种方法失效时尝试第二种方法,依次类推。
假定,路由器定义了三种认证方法:
1. 使用TACACS+服务器对用户进行认证;
2. 使用本地认证数据库对用户进行认证;
3. 不进行认证。
使用该方法列表时,路由器将首先尝试使用TACACS+服务器对用户进行验证,当路由器不能连接该TACACS+服务器的时候,路由器认为方法列表中的第一种方法失效,则使用第二种方法,查询由username命令构建的本地数据库是否有效,假如此时路由器没有配置username、enablesecret或者enablepassword命令时,路由器认为本地认证方法失效,则开始尝试使用第三种方法,不对用户进行认证。
在这里要注意的是,认证方法失效不是指认证失败。
必须注意,认证失效不能等同于用户认证失败。
在使用外部安全服务器的情况下,如果连接外部安全服务器的链路失效或者不能访问该服务器时,路由器认为此时为认证方法失效。
而在用户输入了正确的username,但输入了错误的密码,路由器将认为本次的认证行为是有效但失败的认证。
只有在路由器需要对username等命令进行查询,而此时username等命令不存在的情况下,则路由器认为方法失效,尝试下一种认证方法,如没有下一种认证方法则自动拒绝本次认证请求。
二、 配置认证选项
下面我们对AAA认证的命令:
aaaauthentication进行介绍,首先为路由器配置AAA服务的认证,需要以下几个步骤:
步骤1 启动AAA服务
命令的语法如下:
hostname(config)#aaanew-model
步骤2 设置一个本地认证数据库或者配置对TACACS+或Radius服务器的访问
在这一步中用户名口令或者可以定义在本地数据库中也可以定义在通过TACACS+协议或者Radius协议对路由器进行访问的外部AAA安全服务器中。
在用户提交用户名和口令后,服务器(包含本地认证数据库)会进行验证,并返回给路由器允许或者拒绝的结果信息。
配置本地认证数据库时,我们使用如下的命令:
hostname(config)#usernameusername[privilegelevel]passwordpassword
privilege参数是指定义用户的级别,这里的级别是和命令的授权级别相联系的。
如果要使用TACACS+或者Radius服务器时,必须指定服务器的地址和共享密钥等参数,命令已在之前介绍过了。
步骤3 设置方法列表
方法列表是指使用哪些方法对用户或者设备进行认证,命令的语法如下:
hostname(config)#aaaauthentication
此命令包含三个参数,第一个参数为service参数,定义了受此访问方法列表所控制的用户或者设备,所需要进行认证的服务。
以下类型的服务可以在这里选用:
ARAP:
对AppleTalk远程访问(ARA)的认证;
Enable:
对远程用户访问特权级EXEC进行的认证;
Login:
对登录到接入设备本身的认证;
PPP:
对使用PPP协议的认证;
Dot1x:
对用户使用Dot1x服务接入网络进行连接的认证;
EOU:
对用户使用EAPoUDP接入网络进行连接的认证。
第二个参数为列表的名字,可以选择使用默认的Default或者自定义名称,需要注意的是如采用default列表名,则在所有的线路上都默认调用该列表方法。
第三个参数是方法,下表对经常使用的方法做简要的介绍:
AAA认证常用方法
方法关键字
描述
enable
使用enable password或者enablesecret中的口令执行认证
line
使用用户正在登录的线路上的password命令的口令进行认证
local
使用username口令来进行认证
local-case
使用username口令来进行认证,大小写敏感
none
不进行认证
group tacacs+
所有使用tacacs+协议的外部安全服务器执行认证
group radius
所有使用radius协议的外部安全服务器执行认证
group group_name
使用aaa groupserver命令指定的服务器来执行认证
建议:
尽可能不要在认证列表方法的最后使用none方法,这将会造成安全隐患
步骤4 在线路上调用方法列表
如果配置的方法列表名称是default时,路由器默认会在所有的线路上调用该列表;
如果配置的方法列表名称是自定义名称,则使用以下的命令进行调用:
hostname(config)#line[console|aux|vty|tty]start_line_#[stop_line_#]
hostname(config)#loginauthentication[default|list_name]
步骤5 可选的设置用户名口令提示符,登录标识,尝试登录最大次数
设置用户名和口令提示符使用如下命令:
hostname(config)#aaaauthentication[username-prompt|password-prompt]text
设置登录标识符使用如下的命令:
hostname(config)#aaaauthenticationbannerbanner
也可以设置在认证失败时所显示的消息:
hostname(config)#aaaauthenticationfail-messagemessage
设置最大登录尝试次数:
如超过最大次数则路由器会断开连接
hostname(config)#aaaauthenticationattemptslogin1-25
三、 配置认证的例子
下面我们通过一个例子来说明如何进行AAA认证的配置:
认证方法的使用
RouterA(config)#aaa new-model
RouterA(config)#tacacs-server host10.1.1.100keycisco
RouterA(config)#aaaauthenticationloginconsolelocal
RouterA(config)#aaa authenticationlogindefaultgrouptacacs+local
RouterA(config)#aaa authenticationenabledefaultgrouptacacs+enable
RouterA(config)#enable secrettest123
RouterA(config)#username test1passwordtest1
RouterA(config)#username test2secrettest2
RouterA(config)#aaa authenticationusername-prompt"password:
"
RouterA(config)#aaa authenticationpassword-prompt"username:
"
RouterA(config)#aaa authenticationattemptslogin1
RouterA(config)#line console0
RouterA(config-line)#login authenticationconsole
命令的说明如下:
第一行命令:
表示开启AAA服务;
第二行命令:
表示指定作为认证服务器的地址为10.1.1.100,使用的协议为tacacs,共享密钥为cisco;
第三行命令:
表示建立一个名为console的采用本地认证方式,需要对login服务进行认证的方法列表
第四行命令:
表示建立一个默认的需要对login服务进行认证的方法列表,所采用的认证方法1是tacacs,方法2是本地认证
第五行命令:
表示建立一个默认的需要对enable模式进行认证的方法列表采用的方法1是tacacs,方法2是使用enablepassword或者enablesecret的口令进行认证
第九、十行:
为修改登录提示
第十一行:
修改最大登录次数范围是1-25
第十三行:
在console线路先调用名为console的认证方法列表
授权(Authorization)
授权是用户和设备被给予对受控制的网络资源的访问权限的过程,授权行为发生在认证之后,当一个用户或设备已成功的认证之后,授权可以限制用户或者设备访问什么样的服务或执行什么样的命令。
授权是可选的配置,只有在想限制用户和设备在登录设备时受到控制的时候,授权才需要进行配置。
授权和认证一样,可以采用本地用户数据库授权和外部安全服务器授权两种方式。
四、 授权方法
授权方法列表和认证方法列表一样是一个或者多个认证方法的有序的列表,路由器按照输入的方法的顺序执行轮询的来进行操作,当第一种方法失效时尝试第二种方法,依次类推。
授权方法列表既可以为用户所使用的服务进行授权,也可以对用户需要使用的命令进行授权,本节中以为用户的命令授权为例进行说明。
假定以对路由器命令的授权为例,路由器定义了两种授权方法:
1. 使用TACACS+服务器对用户进行授权;
2. 使用本地认证数据库对用户进行授权;
使用该方法列表时,路由器将首先尝试使用TACACS+服务器对用户进行授权,当路由器不能连接该TACACS+服务器的时候,路由器认为方法列表中的第一种方法失效,则使用第二种方法,查询由privilege命令构建的本地授权列表,对用户输入的命令进行授权。
在这里要注意的是,不管是使用外部安全服务器进行命令的授权的时候,还是使用本地数据库进行命令的授权的时候,首先我们都要在路由器上配置privilege命令,这条命令在两种方式下有不用的意义。
在外部安全服务器进行的命令授权时,本条命令的含义是,使用本条命令使路由器识别自定义级别下所需要进行授权的命令,至于命令的授权与否由外部安全服务器进行控制,同时这也是命令授权的前提条件。
在使用本地用户数据库进行的命令授权时,本条命令具有两层含义,1.使用本条命令使路由器识别自定义级别下所需要进行授权的命令;2.结合username命令定义的用户级别来对用户进行命令的授权,命令的授权与否也是通过本条命令来实现的。
五、 配置授权选项
授权的方法列表定义了用于授权的服务,以及用来进行授权的方法。
授权方法列表的定义和设置认证方法列表的方法很相似,在这里就不做过多的重复解释。
授权方法列表的配置如下:
hostname(config)#aaaauthorization
在授权列表中需要进行三个参数的定义,第一个是服务,service参数定义了用于授权的服务的类型,在这里我们对常使用的服务进行介绍:
Auth-proxy:
在用户成功认证之后,认证代理用来在路由器或者是防火墙上打开一个临时的入口。
在安全服务器上定义了用户的访问权限;
Commands:
可以对用户在登录路由器上所使用的命令进行限制;
EXEC:
限制到路由器EXEC模式的访问;
Network:
在用户被认证并获得EXEC的访问权限之后,如果路由器上有拨号相关的服务,则对这些拨号服务的权限进行限制;
对于授权方法来说,和认证方法一样,在方法列表中最多使用4种授权方法,定义了授权方法的使用顺序,路由器使用轮询的方式执行授权方法,如果第一种方法失效,则尝试下一种授权方法,直到如没有下一种认证方法则自动拒绝本次认证请求。
六、 命令授权配置举例
要设置授权,首先需要进行以下的配置:
(前三个步骤为配置认证方法)
步骤1 打开AAA功能;
步骤2 指定AAA安全服务器或者是使用本地认证数据库方式;
步骤3 设置认证方法列表;
步骤4 配置访问EXEC模式授权方法列表:
在本节中,以为用户的命令授权为例进行说明;如果需要在路由器上配置对用户的命令授权,首先要对用户访问EXEC模式进行授权,只有授权了EXEC模式,才能在以后的配置中对全局配置模式的命令进行授权所需要配置的命令的语法如下:
注意:
如需要对命令进行授权,只能采用TACACS+协议与外部安全服务器进行通信。
hostname(config)#aaaauthorizationexec[default|list_name]method1[method2]…
在这里方法的列表名称可以选择使用默认的default或者自定义名称,需要注意的是如采用default列表名,则在所有的线路上都默认调用该列表方法。
步骤5 配置对命令的授权方法列表
hostname(config)#aaaauthorizationcommandslevel_#[default|list_name]method1[method2]…
本条命令中commands字符后面的级别参数表示,对多少级的用户启用命令的授权:
如果是采用本地认证数据库的方式,则路由器会查询username和privilege命令,对相应级别的用户进行命令的授权;如果采用外部安全服务器的方式,则路由器会与安全服务器进行通信,以对相应级别的用户启用命令授权。
步骤6 为用户指定级别;(本地认证数据库模式)
为用户指定级别命令语法如下:
hostname(config)#usernameusernameprivilege0-15[password|secret]password
privilege参数为用户定义了所属的级别
步骤7 使用privilege命令使路由器识别所需要授权的命令范围:
privilege命令语法如下:
hostname(config)#privilegemode[all|levellevel]command_line
该命令有三个参数,mode参数表示需要对哪个模式下的命令进行授权,all参数表示代表command_line所设置命令下的子命令都可以使用,而不用一个一个指定,level参数表示用户的级别,command_line所输入的命令是mode模式下的命令。
步骤8 在线路上调用方法列表
如果配置的方法列表名称是default时,路由器默认会在所有的线路上调用该列表;
如果配置的方法列表名称是自定义名称,则使用以下的命令进行调用:
hostname(config)#line[console|aux|vty|tty]start_line_#[stop_line_#]
hostname(config)#authorizationmode[default|list_name]
配置命令授权的例子
RouterA(config)#aaa new-model
RouterA(config)#aaa authenticationloginconsolelocal
RouterA(config)#aaa authenticationloginvtylocal
RouterA(config)#aaa authorizationexecvtylocal
RouterA(config)#aaa authorizationcommand3vtylocal
RouterA(config)#aaa authorizationcommand5vtylocal
RouterA(config)#enable secrettest123
RouterA(config)#username test1privilegelevel3passwordtest1
RouterA(config)#username test2privilegelevel5secrettest2
RouterA(config)#privilege configurealllevel5router
RouterA(config)#privilege execlevel5configureterminal
RouterA(config)#privilege execlevel5configure
RouterA(config)#privilege execlevel3showiproute
RouterA(config)#privilege execlevel3showip
RouterA(config)#privilege execlevel3showrunning-config
RouterA(config)#privilege execlevel3show
RouterA(config)#line console0
RouterA(config-line)#login authenticationconsole
RouterA(config-line)#authorization execvty
RouterA(config-line)# authorizationcommand3vty
RouterA(config-line)# authorizationcommand5vty
记账(Accounting)
在配置了认证和授权之后,可选的可以配置记账功能。
记账功能用来记录AAA日志和路由器上所进行的活动信息,配置记账功能可以跟踪网络中发生的事件,提供网络环境的安全性。
鉴于认证和授权对用户和设备访问网络资源进行了限制,记账就负责进一步的工作并记录被认证或被授权的行为。
另外,记账也可以用来跟踪接入设备状态和TACACS+/Radius通信。
记账信息以统计的形式记录在TACACS+/Radius服务器上,网络管理、客户端统计和审计都可以利用这些数据。
一、 配置记账方法
记账方法同样是一个或者多个认证方法的有序的列表,路由器按照输入的方法的顺序执行轮询的来进行操作,当第一种方法失效时尝试第二种方法,依次类推。
配置记账方法列表的命令语法如下:
hostname(config)#aaaaccounting
该命令有四个参数,service参数表示对某些服务进行记账,这些服务主要包括:
System:
提供有关于系统级事件的信息。
例如系统重新启动和重新加载。
Network:
对访问授权的网络服务的信息进行记录。
EXEC:
提供关于网络接入服务器用户EXEC终端会话的信息。
Connection:
提供关于所有来自网络接入服务器的输出链接信息。
比如Telnet等。
Command:
提供关于用户使用的EXEC模式命令的信息。
命令记账产生对所有EXEC模式命令的统计记录,包括与特权级别相关的全局配置命令。
Auth-proxy:
提供对认证代理用户信息的记账。
第二个参数为列表的名字,可以选择使用默认的Default或者自定义名称,需要注意的是如采用default列表名,则在所有的线路上都默认调用该列表方法。
第三个参数是统计过程所需要定义的选项,如下:
Start-stop:
在事件开始和结束时建立一个记账记录。
Stop-only:
只在用户处理过程结束后建立一个记账记录。
None:
为特定服务关闭记账。
第四个参数为使用的记账方法,和认证和授权不同的是,记账命令方法列表只支持两种方法:
TACACS+和Radius
在有些情况下,记账功能在没有用户名的时候也会输出记账记录。
例如,如果为登录配置了认证(aaaauthenticationlogin),并在列表内指定了两种方法,TACACS+和none,这种情况下,当tacacs服务器不可用时,用户无须为none方法提交用户名,然而使用一个空用户,记账功能依然生成记录。
如果我们想解决这个问题,可以使用如下的命令:
hostname(config)#aaaaccountingsuppressnull-username
如果,想要多台外部安全服务器接收记账信息,同时减少主安全服务器的负载,AAA记账功能也可以打开广播方式发送记账信息:
hostname(config)#aaaaccounting
二、 配置记账的例子
配置记账的例子
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- aaaCISCO