基于ISE对Cisco网络设备部署AAA
上期小武老师我教你们安装了ISE服务器,那么现在服务器安装好了,AAA如何部署实现呢?现在我就来教你们!
跟着小武我开始吧……
一、ISE初始化配置
1.1、ISE启用设备管理
点击编辑,勾选此项,点击保存。
1.2、关闭系统密码策略
去掉所有勾选,然后保存。
再将这三个取消勾选。(关闭用户认证的密码策略)
二、在ISE中添加Cisco网络设备(NAS)
点击Add添加。
输入Name,IP地址,并且勾选相应的AAA标准,配置预共享密钥为cisco,最后点击提交。
添加其它设备的方式以此类推。
三、创建用户组与用户,将用户加入到相应的组中
3.1、创建用户组
选择User用户组,点击Add创建用户组。
创建一个用户组,名为Admin,最后点击提交。
创建其它用户组的方式,以此类推。
3.2、创建用户,并将用户加入到相应的组中去。
创建一个名为Nova的用户,并设置Login密码为cisco,将Nova添加到Admin组中去;最后点击提交。
其它用户的创建,以此类推。
- 部署AAA(基于RADIUS)
4.1、认证策略可以不用配置,因为有一个default策略(拿ISE中的所有用户来做匹配)
4.2、做授权策略(Radius对授权支持的不是很好,只能进行权限等级的授权,不支持对命令行的授权)
首先要去创建授权策略配置文件(就是一个模板,待会我们用来进行调用)
找到Authorization Profiles,点击Add添加一个模板。
Radius的授权,在Cisco中我们可以使用AV变量值来进行。
选择Cisco的av-pair,填入shell:priv-lvl=15
这个AV变量的含义表示,授予一个15级的用户权限等级。
其它的一些AV变量值,可以去Cisco官网可查!
最后,点击提交。
模板创建好后,这个授权并没有生效,因为我们还没有调用这个模板,我们需要去创建一个授权策略然后进行调用,针对特定的用户组来进行生效。
我们使用这个默认的 Default Policy即可,当然也可以单独创建一个。
点击一下这个像大于号的按钮。
这里面创建的认证策略和授权策略是会直接生效的,我们选择Authorization Policy授权策略。(这里面有一些预配的认证策略+授权策略)
点击+号,我们创建一条授权策略。
输入Rule的名字,然后指定这条策略应用到那一个用户组中,点击Conditions选择用户组。后面的Results Profiles中,就是调用我们刚刚创建的权限等级授权模板的地方,选择好我们刚刚创建的那个模板。
鼠标单击即可,我们先选择条件
我们选择组的名字。
在list中我们选择好我们刚刚创建的那个Admin用户组
最后点击保存即可,Radius的授权就大功告成了。
这就是创建好的样子了。
4.3、最后一A审计部分在ISE中我们不需要去配置,审计我们待会在网络设备上开启即可,
审计部分我们在最后面统一讲解吧。
五、部署TACACS+的AAA策略
Tacacs+的AAA和Radius的AAA,它们两个部署的位置在ISE中是不同的地方哈。
5.1、还是老样子,Tacacs+的认证策略我们也不用配置,使用默认的Default Policy即可;
Tacacs+的认证策略和Radius是一样的。
5.2、做Tacacs+的授权,Tacacs+在授权这块的功能,支持的比Radius要好,Tacacs+除了可以做用户权限等级的授权外,还可以做基于命令行的授权。(就是允许你敲什么命令,不允许你敲什么命令)
在做授权之前,我们也是老样子,也要先去创建授权策略的配置文件,创建后好,再去调用就行了。
选择Results,Tacacs+这里有两个创建授权配置文件的地方,Command Sets就是做基于命令行的授权了,Profiles就是做用户权限等级的授权。
我们先去做一个15级用户权限等级的授权策略配置文件,点击Add新建。
Privilege权限选择为15,然后点击保存。
ok,再接再厉,我们再去创建一个基于命令行授权的配置文件。
选择TACACS Command Sets,点击Add新建。
我们创建2个命令行的授权策略
第一个能敲所有命令
第二个只能敲show,exit命令。
Permit any command that is not listed below,我们勾选此项。
允许下面没有列出的任何命令,ok,这样我们第一条就做好了,点击提交。
我们再去Add新建一条,做第二条。
只允许show,exit命令
ok,到这,我们的授权配置文件模板就通通创建完毕了,接下来就剩调用了!
开始应用授权策略:(黄色的小箭头有点刺眼)
这个地方就是Tacacs+做策略的地方,我们直接使用默认自带的Default Policy吧。
新建一条授权策略吧。
还是跟Radius同样的配方,同样的味道。
Rule name随便指定一个名字
Conditions选择好相应的用户组(你打算把这条授权规则应用到那个用户组中去?)
Command Sets这个是调用基于命令行的授权配置文件的,具体作用你们懂的。
Shell Profiles 这个是调用用户权限等级授权配置文件的。
反正,把我们刚刚创建的授权配置文件,调用进来就可以了。
第一条Admin这一条授权规则的作用我给大家解释一下:
当Admin用户组的用户登录网络设备时,我们授予15级的用户权限等级,命令行授权能敲所有的命令。其实这个都是我们刚刚创建配置文件模板所定义好的。
下面,这是第二条。
当Manager用户组的用户登录网络设备时,我们也授予15级的用户权限等级,但是命令行授权只能敲show,exit命令。
ok,到这我们ISE的配置就彻底完成了。
其实说实话,ISE的配置非常简单,大家别被E文吓坏了,里面的E文都是一些简单的计算机专业英语,看到不懂的查词典即可,ISE的配置的难点不在于E文,而在于逻辑原理,以及套路。
5.3、最后一A审计部分在ISE中我们不需要去配置,审计我们待会在网络设备上开启即可,
审计部分我们在最后面统一讲解吧。
六、Cisco路由器的配置(启用AAA,关联AAA)
6.1、路由器关联Radius服务器
Router(config)#aaa new-model //全局启用AAA功能,这是AAA的一个开关。
路由器关联Radius服务器192.168.80.200
Router(config)#radius server ISE
Router(config-radius-server)# address ipv4 192.168.80.200 auth-port 1812 acct-port 1813
Router(config-radius-server)#key cisco
Router(config)#aaa server radius dynamic-author
Router(config-locsvr-da-radius)#client 192.168.80.200 server-key cisco
创建Radius服务器组,将Radius服务器加入到组中。
Router(config)#aaa group server radius ISE-Radius
Router(config-sg-radius)#server name ISE
向Radius服务器发送相关属性提供相关参数:(防止AAA异常,以及802.1X异常)
Router(config)#radius-server vsa send authentication
Router(config)#radius-server vsa send accounting
Router(config)#radius-server attribute 6 on-for-login-auth
Router(config)#radius-server attribute 8 include-in-access-req
Router(config)#radius-server attribute 25 access-request include
应用AAA:(Default方法列表不需要调用,命令式方法列表需要进行调用)
6.1.1、认证:1A
先给Console和Enable留个后门(console,enable认证不受AAA管辖)
Router(config)#aaa authentication login NOISE line none
(命名式方法列表,优先使用line线下密码进行认证,如果没配线下密码就none不进行认证)
Router(config)#aaa authentication enable default enable none
(enable密码,优先使用配置的enable密码进行认证,如果没配置enable密码,就none不进行认证)
在line下进行调用,因为命名式的方法列表需要手工进行调用
Router(config)#line con 0
Router(config-line)#login authentication NOISE
给vty接口下的服务启用认证(telnet、ssh)
Router(config)#aaa authentication login ISE group ISE-Radius local-case
(authentication表示认证,login做登录认证,优先使用服务器组中的AAA服务器做身份认证,如果AAA服务器无响应就使用local本地用户数据库认证)
6.1.2、授权:2A
aaa authorization 做授权的命令
基于用户权限等级的授权:
Router(config)#aaa authorization exec ISE group ISE-Radius local
Router(config)#aaa authorization config-commands //开启命令行授权
做完认证,授权后,先不着急在接口下进行调用,先ping一下与ISE的连通性。
Router#ping 192.168.80.200
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.80.200, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
可以在路由器上用命令来测试与AAA服务器是否能正常进行认证,授权工作
Router#test aaa group ISE-Radius Nova cisco legacy //传统方式
Router#test aaa group ISE-Radius Nova cisco new-code //新型方式
测试都没问题的话,我们就可以在接口下正式启用AAA了!
Router(config)#line vty 0 4
Router(config-line)#login authentication ISE
Router(config-line)#authorization exec ISE
Router(config-line)#transport input all
ok,到此为止Raidus部署全部完成,使用telnet测试一下AAA
使用Nova用户来登录
Nova用户一登录就直接进入到特权模式下,因为是一个15级的最高权限级别
而使用Frank用户去登录的话,那就是一个默认的1级用户权限等级了,登录后不能直接进入到特权模式下,而是默认的用户模式下。
6.2、路由器关联Tacacs+服务器
Router(config)#aaa new-model //全局启用AAA功能,这是AAA的一个开关。
路由器关联Tacacs+服务器192.168.80.200
Router(config)#tacacs server ISE
Router(config-server-tacacs)#address ipv4 192.168.80.200
Router(config-server-tacacs)#key cisco
创建Tacacs+服务器组,将Tacacs+服务器加入到组中。
Router(config)#aaa group server tacacs+ ISE-Tacacs
Router(config-sg-tacacs+)#server name ISE
Tacacs+的AAA应用部署:
6.2.1、认证:1A
先给Console和Enable留个后门(console,enable认证不受AAA管辖)
Router(config)#aaa authentication login NOISE line none
(命名式方法列表,优先使用line线下密码进行认证,如果没配线下密码就none不进行认证)
Router(config)#aaa authentication enable default enable none
(enable密码,优先使用配置的enable密码进行认证,如果没配置enable密码,就none不进行认证)
在line下进行调用,因为命名式的方法列表需要手工进行调用
Router(config)#line con 0
Router(config-line)#login authentication NOISE
给vty接口下的服务启用认证(telnet、ssh)
Router(config)#aaa authentication login ISE group ISE-Tacacs local-case
(authentication表示认证,login做登录认证,优先使用服务器组中的AAA服务器做身份认证,如果AAA服务器无响应就使用local本地用户数据库认证)
6.2.2、授权:2A
aaa authorization 做授权的命令
基于用户权限等级的授权:
Router(config)#aaa authorization exec ISE group ISE-Tacacs local
基于命令行的授权:
Router(config)#aaa authorization config-commands
Router(config)#aaa authorization commands 0 ISE group ISE-Tacacs local
Router(config)#aaa authorization commands 1 ISE group ISE-Tacacs local
Router(config)#aaa authorization commands 15 ISE group ISE-Tacacs local
//对用户权限等级为0、1、15的命令行进行授权
最后测试一下与AAA服务器的连通性,然后在接口下进行调用即可。
Router(config)#line vty 0 4
Router(config-line)#login authentication ISE
Router(config-line)#authorization exec ISE
Router(config-line)#authorization commands 0 ISE
Router(config-line)#authorization commands 1 ISE
Router(config-line)#authorization commands 15 ISE
Router(config-line)#transport input all
ok,到此为止Tacacs+部署全部完成,使用telnet测试一下AAA
最后,去telnet测试一下,看看Frank用户是不是只能敲show命令?
Nova用户可以敲所有命令。
七、完成最后一A,审计accounting
aaa accounting做审计的命令
审计只能在AAA服务器上去部署,在路由器是做不了本地审计的。
7.1、Tacacs+服务器的审计:
Router(config)#aaa accounting exec default start-stop group ISE-Tacacs
Router(config)#aaa accounting connection default start-stop group ISE-Tacacs
Router(config)#aaa accounting system default start-stop group ISE-Tacacs
exec(用户开始和中止exec会话的时间记录)
connection(用户发起外部连接的时间,地址,数据包多少等信息记录,比如telnet、ssh等)
system(系统重启,禁用AAA等系统信息)等系统事件的记录
Router(config)#aaa accounting commands 0 default start-stop group ISE-Tacacs
Router(config)#aaa accounting commands 1 default start-stop group ISE-Tacacs
Router(config)#aaa accounting commands 15 default start-stop group ISE-Tacacs
对0级、1级、15级命令行进行审计。
(Tacacs+支持对命令行进行审计,也就是说能知道用户在设备上执行了那些命令?)
ok,Tacacs+的审计就配置完成啦。
在ISE中去查看Tacacs+的审计信息就行了。
审计信息在ISE上的查看。
7.2、Radius服务器的审计:
Router(config)#aaa accounting exec default start-stop group ISE-Tacacs
Router(config)#aaa accounting connection default start-stop group ISE-Tacacs
Router(config)#aaa accounting system default start-stop group ISE-Tacacs
exec(用户开始和中止exec会话的时间记录)
connection(用户发起外部连接的时间,地址,数据包多少等信息记录,比如telnet、ssh等)
system(系统重启,禁用AAA等系统信息)等系统事件的记录
Radius对审计支持的也不是很好,不支持审计用户敲了那些命令行。
ok,那到这,我们的Radius服务器的审计也配置成功了。
在ISE中去查看Radius的审计信息吧。
查看Radius的审计信息。
OK,到这,我们整个3A就算真真正正的完成啦,1A不少1A不多,整整3A,我是小武,很高兴能与您分享。(联系方式+微信:HB19990113)