AAA学习笔记

这篇博客详细介绍了AAA(认证、授权、审计)服务在网络访问控制中的应用。AAA用于确认用户身份、授予访问权限及记录用户活动,常通过RADIUS或TACACS+协议与NAS(网络访问服务器)交互。内容涵盖认证的多种元素、授权的层次以及审计的类型。还讲解了如何配置AAA服务器、本地安全数据库和选择合适的认证协议。此外,文章讨论了AAA在防止未授权访问、控制用户权限和记录网络活动方面的重要性。
摘要由CSDN通过智能技术生成

AAA

AAA是一种后台服务,是一种对网络用户进行控制的安全措施,可用于对想要接入网络的用户进行认证(身份验证)、授权、审计。

Authentication 认证

认证的作用是确定你是谁,是否是合法用户,是否有资格进入。

认证强度跟元素有关,用于认证的元素越多越安全,元素包括密码,指纹,证书,视网膜等等

Authorization 授权

授权决定了你能做什么

授权用户能够使用的命令
授权用户能够访问的资源
授权用户能够获得的信息

Accounting 审计

审计确定你做了什么,对你的所做的事进行记录

两类审计:
1、时间审计
2、命令审计

AAA的基本拓扑:

NAS–网络访问服务器,或者叫网络接入服务器。其实就是你网络的边缘网关,外部节点需要通过这台路由器来访问你的网络。需要在这台路由器上对接入的用户进行控制。

AAA–通过在服务器上装上CISCO的ACS软件,就能构建出一台AAA服务器。

NAS是AAA服务器的client端

为什么要用AAA:
通过AAA技术,我们能对接入网络的用户进行控制,可以控制哪些用户能接入网络,能得到什么样的权限,还能记录用户上来之后做了啥事。

1、跟网络设备数量有关,也就是跟NAS的数量有关
2、跟用户数量有关
3、由于用户的频繁变动

三大类的需要认证的流量类型client-----NAS(网络访问服务器)
也就是三种到达NAS的流量

1、登入nas telnet/ssh/http/https(也叫网管流量)
2、拔入nas pptp/l2tp/pppoe/ipsec vpn…
3、穿越nas auth-proxy(ios)认证代理/cut-through(pix)

其实上面的分类也可以换个说法:
AAA的接入模式分为两类:
1、字符模式---------用于VTY、TTY、AUX、CON端口,该模式一般用来配置设备。
2、包模式--------用于串行端口或其它远程接口,以及拨号接口。该模式用于用户与网络内不同设备的通信。

AAA安全服务器的选择:

1、本地安全数据库
2、远程安全服务器,也就是AAA服务器

本地安全数据库:
本地安全数据库运行在NAS上为一小部分用户提供服务,实现起来容易,但是功能不够强大。

特点:
1、在小型网络中使用
2、在CISCO的路由器上存储用户名和密码
3、通过CISCO路由器上的本地安全数据库进行用户验证
4、不需要外部的数据库服务器

AAAprotocols:RADIUS和TACACS+
通常在网络中实现AAA,都是通过部署一台单独的AAA服务器来实现,而AAA服务器是需要跟NAS通信的,它们之间通信的协议有两种:RADIUS和TACACS+

TACACS+ 基于TCP cisco标准 端口号49 信息是加密后传送的

RADIUS 基于UDP 国际标准 新端口号1812(authen/author) 1813(account)
旧端口号1645(authen/author) 1646(account)

RADIUS的信息是明文传送的,只有密码是加密传送的。

注意:RADIUS各厂家是不一样的,有不同的av pair

AV PAIR-----由管理员定义的,为了进行验证而要求客户提供的一组信息。

RADIUS:
有四种消息类型:
access-request 访问请求,客户发给server
access-challenge 挑战信息,查询AAA服务器上的配置
access-accept  允许访问,查到有这个配置才会允许
access-reject  拒绝访问

ACS—CISCO的访问控制服务器,也就是AAA服务器。只需要在一台服务器上装上CISCO的ACS软件,就得到了一台AAA服务器。这台服务器可以配置为使用tacacs+和NAS通信,也可以配置为使用radius协议与NAS通信。

以下是在路由器上配置AAA的步骤:

先做准备工作:

1、启用AAA
aaa new-model 注意:启用AAA后,路由器上不符合AAA的命令会被去掉

2、client指server的地址
NAS(config)#tacacs-server host 150.100.1.100 key cisco 密码后面千万不要打上空格,敏感的

还要在AAA服务器上增加一个client,并指明client的地址,最好起个环回口让服务器指,在服务器的CMD下加一个路由指向这个环回口。如果server指的是环回口,在client上还要指定一下更新源。
ip tacacs source-interface lo0

参数详解:

tacacs-server host x.x.x.x

key //指定路由器和tacacs+服务器之间使用的认证和加密密钥
nat //被发送到tacacs+服务器的客户端NAT地址
port //指定tacacs+服务器的端口号
single-connection //在路由器和tacacs+服务器之间维护一条开放连接
timeout //指定超时时间

radius-server host x.x.x.x

auth-port //为认证请求指定UDP目的端口号
acct-port //为记帐请求指定UDP目的端口号
timeout //指定路由器在重发请求之前等待的radius服务器响应的秒数
retransmit //指定radius请求的重传次数
key //指定路由器和radius服务器之间使用的认证和加密密钥
alias //为radius服务器指定别名,最多8个

3、测试
test aaa group tacacs+ testR5(用户名) cisco(口令) new-code 本命令纯属测试,没别的作用,只是看AAA服务器起没起作用,new-code是在新的IOS中才要用到的。
如果出现user successfully authenticated表示没问题

4、做保护
为了防止启用AAA后,导致自已进不了路由器,建议在console接口下做个保护设置,让console口即使不用密码也能登录。

aaa authentication login NOACS none 保护-不认证
aaa authorization exec NOACS none 保护-不授权

line console 0 本地线路的保护
login authentication NOACS 设定对CON口不进行认证,保留最后一个进入的方法,以防万一
authorization exec NOACS 建议配置,但最好配置上

line aux 0 AUX的保护
login authentication NOACS
authorization exec NOACS

一、认证:

1、开启对login的认证

要先定义一个认证方法列表
aaa authentication login FOR_VTY none //不进行认证直接进入
aaa authentication login FOR_VTY line //注意line意思是用line下的密码进行认证
aaa authentication login FOR_VTY local //启用本地数据库,要自定义username和password
aaa authentication login FOR_VTY local-case //用户名大小写敏感
aaa authentication login FOR_VTY enable //使用enable密码进行验证
aaa authentication login FOR_VTY group tacacs+ //使用AAA服务器进行验证
aaa authentication login FOR_VTY local line none //如果第一种方法没有的话,就用第二种进行认证,如果第二种也没有,就不进行认证直接进入了,因为设了none

aaa authentication login default local //default的意思相当于全局启用

定义好的认证方法列表需要在线程下调用:
line vty 0 4
login authenticate FOR_VTY

2、开启对enable的认证
aaa authentication enable default group tacacs+ //在用户进入enable模式的时候进行认证,本命令不需要再单独调用,默认就启用了。

二、授权:
授权就是对接入的用户给予一定的级别权限,对用户所能进行的操作进行限制。

基本知识:
在IOS中,对用户分为16个级别,0-15,默认用户登录时级别为1
在IOS中,对于命令也为分16个级别库,分别对应于16个用户级别。高级别的用户可以使用低级别的命令。默认情况下,只有0级、1级、15级这三个级别库中有命令。

授权也有两种方式:分为本地数据库授权和AAA服务器授权

1、本地数据库授权
NAS(config)#username wolf privilege 15 password cisco //定义本地数据库并指明用户权限
NAS(config)#aaa authorization exec VTY group local //定义一个授权方法列表,并注明是对exec会话授权
line vty 0 4
authorization exec VTY //调用

2、AAA授权
注意:在AAA服务器上的授权分为用户级别的授权和命令的授权

用户级别的授权:确定你是几级的用户
NAS(config)#aaa authorization exec VTY group tacacs+
line vty 0 4
authorization exec VTY

命令的授权:
NAS(config)#aaa authorization commands 0 FOR_VTY group tacacs+
NAS(config)#aaa authorization commands 1 FOR_VTY group tacacs+
NAS(config)#aaa authorization commands 15 FOR_VTY group tacacs+ //对15级的命令进行授权,在你使用15级的命令时,会先去查询否已有授权,然后才能使用。注意,最好从高级别的向低级别的授权

调用:
line vty 0 4
authorization commands 0 FOR_VTY
authorization commands 1 FOR_VTY
authorization commands 15 FOR_VTY

这样,你所输入的各种命令都会发向AAA服务器去检查是否得到授权,得到授权的才能使用。

授权参数详解:
aaa authenorization {network|exec|login|commands|reverse-access}

network //为所有与网络相关的服务请求进行授权
exec //进行授权以确定用户是否被授权执行exec会话,其实就是授权是否进入CLI进行配置
commands //为命令进行级别授权
reverse-access //为反向telnet连接进行授权

命令级别的改动:

注意:在cisco的路由器上有16个用户级别(0-15),其中0、1、15级是有命令的,其他的级别默认没有定义任何命令,高级别的用户可以使用低级别的命令。

在本地路由器上改动命令的级别:
R1(config)#privilege exec level 0 conf terminal 将一条15级命令放入0级(exec特指在特权模式下的命令)
R1(config)#privilege configure level 0 interface 将一条全局命令放入0级
R1(config)#privilege configure all level 0 router 将router命令及其下的所有命令放入0级

注意:当一条命令被放入0级后,它就不属于原来的级别了,因为被剪切过去了。但是因为高级别的授权能使用低级别的命令。所以在高级别用户还是可用的。

show privilege 查看用户级别

aaa authorization config-commands 开启对全局命令的授权,如果不打上这条命令,在AAA服务器上对conf terminal 命令做了授权后,所有的全局命令都可以使用了。打上后,就仅仅只能使用授权的命令。

aaa authorization console 新的IOS中AAA默认不影响console口的授权,需要打上这条命令才能影响。

三、审计:
分为命令审计和时间审计

aaa accounting commands 0 VTY start-stop group tacacs+ 基于命令的审计,会记录所有0级命令的操作
aaa accounting commands 1 VTY start-stop group tacacs+
aaa accounting commands 15 VTY start-stop group tacacs+
aaa accounting exec VTY start-group group tacacs+ 基于时间的审计,会记录所有登录用户的进出时间

line vty 0 4
accounting commands 0 vty
accounting commands 1 vty
accounting commands 15 vty
accounting exec vty

审计参数详解:

aaa accounting {auth-proxy|system|network|exec|connection|commands} {start-stop|stop-only} broadcast

auth-proxy //为所有已通过认证的代理事件进行记帐
system //为所有与用户无关联的系统级事件(如重启等)进行记帐
nework //为所有与网络相关的请求进行记帐
exec //为所有exec会话进行记帐
connection //为所有从网络接入服务器出站的连接进行记帐
commands //为所以指定级别的命令记帐

start-stop //在记帐进程开始时发送“start”指示,在记帐进程结束时发送“stop”指示
stop-only //只在记帐进程结束时发送“stop”指示
broadcast //启用向多个AAA服务器发送记帐记录的功能


举例:
aaa authentication login VTY group tacacs+
line vty 0 4
login auth VTY

aaa authentication login VTY group tacacs+ local 服务器down后转到本地认证
aaa auth exec VTY group tacacs+
line vty 0 4
login auth exec VTY

aaa accounting login VTY start-stop group tacacs+ 审计

aaa accounting commands 0 VTY start-stop group tacacs+
注意,路由器的0-15级中,只有0、1、15级是有命令的,2-14级没有命令

NAR网络访问限制:
在AAA上配置,可以用来限制只有哪些IP地址能够来访问网络,还可以限制端口号。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值