一、AAA(Authentication、Authorization、Accounting) 验证、授权和记费
验证 Authentication :验证用户身份
授权 Authorization :授权用户可以使用哪些服务
记费 Accounting :记录用户使用网络资源的情况,对用户进行计费
实现AAA功能可以在本地进行,也可以由AAA服务器在远程进行。

计费功能由于占用系统资源大通常都使用AAA服务器实现。对于用户数量大的情况,验证和授权也应该使用AAA服务器。
AAA服务器与网络设备的通信有标准的协议,目前比较流行的是RADIUS协议。

二、提供AAA支持的服务
PPP: PPP的PAP、CHAP验证的用户。
EXEC: 指通过telnet登陆到路由器,以及通过各种方式(如console口,aux口等)进入到路由器进行配置的操作。
FTP: 通过ftp登陆到路由器的用户。

三、验证与授权
1、验证
用户名、口令验证: 包括PPP的PAP验证、PPP的CHAP验证、EXEC用户验证、FTP用户验证。
拨号的PPP用户可以进行主叫号码验证。

2、授权
服务型授权: 对一个用户授权提供的服务。可以是PPP、EXEC、FTP中的一种或几种。
回呼号码: 对PPP回呼用户可以设定回呼号码。
隧道属性: 配置L2TP的隧道属性。

验证、授权可以在本地进行,也可以在RADISU服务器进行。但对一个用户的验证和授权使用相同的方法,即或者验证、授权均在本地进行,或者均使用RADIUS服务器。

四、计费及AAA使用特别提醒
+记录用户使用资源情况
+只能使用AAA服务器进行计费
+对于进行了验证的用户缺省都要进行计费
+如果不希望计费一定要配置如下命令:
aaa accounting-scheme optional

首次使用AAA,经常发生配置了用户而验证不通过的情况。这实际上是由于没有学会灵活使用aaa accounting-scheme optional的原因。其实这种情况不是验证不通过,而是计费失败,切断了用户。
因为开始使用的时候启用AAA,这时缺省使用本地验证。而本地验证也是需要计费的,由于没有配置RADIUS服务器,造成计费失败,而因为没有配置aaa accounting-scheme optional,在计费失败时的处理就是断开用户,因此用户不能成功上网。
aaa accounting-scheme optional的作用是在计费失败时允许用户继续使用网络。因此在只验证不计费的情况下,一定要注意配置aaa accounting-scheme optional命令。

五、AAA基本配置命令
aaa-enable: 启用AAA。
aaa accounting-scheme optional: 计费处理选项。
aaa authentication-scheme login { default | methods-list } { method1 [ method2 ... ] }
aaa authentication-scheme ppp { default | methods-list } { method1 } [ method2 ... ]
配置login的验证方法表和ppp的验证方法表,方法表的名字可以是default也可以自己取。缺省方法表的缺省方法为本地验证。验证方法有三种:radius、local、none。配置多种方法时,前面的方法失败则使用后面的方法,这里说的失败不是验证失败,而是验证不能成功进行,比如与RADIUS服务器通信失败,因此只有RADIUS方法才可能有失败的情况。所以只有5种有意义的方法组合:
后面的方法有5种有效组合: radius、local、none、radius local、radius none。
方法表的概念:
login只能配置一个方法表,配置了方法表即自动应用到所有需要AAA的FTP用户、EXEC用户。
PPP可以配置多个方法表,特定的接口使用哪个方法表还需要将这个方法表应用到接口上。即在接口上配置ppp authentication-mode { chap | pap } [ callin ] [ scheme { default | name-list } ],缺省使用default方法表。

六、本地用户数据库

使用本地验证、授权需要在路由器上维护用户数据库。由于路由器上资源有限,此数据库不宜过大。最多只支持配置50个用户。大量用户应该使用RADIUS服务器。

七、调试和监控信息
+显示在线用户
display aaa user
+原语调试信息,观察AAA请求与结果
debugging radius primitive
+事件调试信息,观察AAA过程
debugging radius event

原语为各服务(PPP、EXEC、FTP)与AAA功能的接口,常见原语有7种。
请求原语三种:
join(pap):用户名、口令验证请求。
join(chap):PPP的CHAP验证请求。
leave:用户下网请求。
返回结果的原语三种:
accept:验证通过。
reject:验证不通过,拒绝用户。
bye:用户下网的确认。
另外还有一种:
cut:在计费失败时,如果没有配置 aaa accounting-scheme optional 则要求相应服务切断用户。
用事件调试信息可以简单观察AAA过程。由于事件调试信息很短,在用户验证活动量大时可以只打开事件调试信息,这样不会由于调试信息过多而无法观察。

RADIUS

一、
+RADIUS(Remote Authentication Dial-in User Service)是当前流行的安全服务器协议
+实现AAA(Authorization、Authentication、Accounting)

RADIUS采用客户机/服务器(Client/Server)结构。验证、授权时客户端的任务是将用户(User)的信息发送到指定的服务器,然后根据服务器的不同响应进行处理。RADIUS服务器的任务是接收客户端发来的用户连接请求,验证用户,并返回客户端提供服务所需要的配置信息。RADIUS服务器的数据库中集中存放了相关的安全信息,避免安全信息凌乱散布带来的不安全性,同时更可靠且易于管理。实现计费时,客户端将用户的上网时长、进出字节数、进出包数等原始数据送到RADIUS服务器上,以供RADIUS服务器计费时使用。
在路由器上运行RADIUS客户端程序。

二、RADIUS实现AAA的流程

首先由各种服务(PPP、EXEC、FTP)得到用户信息,然后将这些信息交给RADIUS服务器进行验证。如果通过验证,RADIUS服务器将验证信息连同RADIUS用户数据库中包含的用户授权信息一起送给路由器。路由器根据这些信息向用户提供相应服务。
通过验证的同时,通知RADIUS服务器会话开始。 于会话终止时再次通知RADIUS服务器。 这样由RADIUS服务器保存的记帐记录可以用于计费。

三、RADIUS结构及基本原理
RADIUS协议采用客户机/服务器(Client/Server)结构,路由器作为客户端与RADIUS服务器通信。
UDP(User Datagram Protocol)即用户数据报协议,它是一种面向无连接的协议,传输层不保证报文的可靠性和顺序性,这样报文可能丢失或者是乱序。RADIUS协议使用了两个UDP端口分别用于验证(以及验证通过后对用户的授权)和计费。在RADIUS的协议文本RFC 2138和RFC 2139中,使用1812号端口作为验证端口,1813号端口为计费端口。也可以使用其他端口。
RADIUS协议采用了“请求/响应”的操作模式,请求由客户端发起,当RADIUS服务器收到一个合法的请求后就要给予响应。由于UDP报文可能会丢失,网络也可能临时出现故障,因此路由器提供重传机制,当在一定时间内没有收到RADIUS服务器的响应时,会重传刚才的请求。如果多次重传后仍然收不到响应,那么路由器会向备用的RADIUS服务器发送请求。
作为安全协议,RADIUS自身的安全性也有一定考虑。 客户端与服务器端有共享密钥。通讯时使用MD5算法通过共享密钥对包进行数字签名,验证签名的正确性可以防止网络上的其他主机冒充路由器或者RADIUS服务器。用户口令也需要进行加密后再在网上传送,使口令不会泄漏。
每个RADIUS包有0到多个属性,用户的各种信息均写在属性中,一些属性协议还规定了各属性值的含义。性能的扩展只需要增加包中所带的属性即可。使用中还可以定义私有的属性类型和属性值。这需要修改RADIUS服务器的属性字典。

四、RADIUS验证与授权
+验证、授权过程如下:
路由器将得到的用户信息打包向RADIUS服务器发送
RADIUS服务器对用户进行验证:
合法用户--返回访问接受包(用户授权信息)
非法用户--返回范文拒绝包
路由器接收服务器的响应包:
访问接受包--允许上网,使用其授权信息对用户进行处理
访问拒绝包--拒绝用户上网请求

1、首先发送验证请求包。在用户名、口令验证时验证请求包包含用户名和加密后的口令;CHAP验证中包含用户名,CHAP验证过程中的各项(Challenge、CHAP Identifier、Response);主叫号码验证还需要有主叫号码。
2、RADIUS服务器收到验证请求包后,首先检查包的合法性,然后根据包中用户信息验证用户是否合法。如果用户非法,则向路由器发送访问拒绝包;如果用户合法,那么RADIUS服务器会将用户的授权信息(如用户类型、回呼号码等等)打包发送到路由器,该包称为访问接受包。
3、路由器收到访问接受/拒绝包时,首先要判断包中的签名是否正确,如果不正确将认为收到了一个非法的包。如果签名正确,且收到的是访问接受包那么路由器会判断授权服务类型是否与此用户相符,如果不符则拒绝该用户的上网请求,如果符合则接受用户的上网请求,并使用其他用户授权信息对用户进行处理(如回呼、L2TP隧道属性的设置)。 如果签名正确且收到的是访问拒绝包,则拒绝该用户的上网请求。

五、RADIUS计费

路由器负责收集可能同用户上网费用有关的信息,并将这些信息发送到RADIUS服务器。RADIUS服务器通常是网上的一台工作站,使用这些信息进行计费。
每次计费交互过程包括路由器发到RADIUS服务器的计费请求包,和RADIUS服务器返回的应答包。对于需要计费的用户,在一个会话过程中至少需要两次这样的交互过程,分别在验证通过后和用户下网时。如果配置了实时计费,还会每隔一段时间进行一次实时计费。
计费信息包括会话时间、输入输出包数、输入输出字节数。
当得不到正确计费应答包时认为计费失败。此时如果配置了aaa accounting-scheme optional命令则继续允许用户访问网络,否则将切断用户。

六、RADIUS用户管理
+RADIUS协议为标准协议,遵循RADIUS协议的所有服务器可以互通
+用户管理放置在RADIUS服务器端进行,有相应的管理软件
+用户可以灵活选用RUDIUS服务器及用户管理软件

RADIUS协议只规定了RADIUS服务器同RADIUS客户端(路由器)的信息交互的格式。由于RADIUS协议是标准的,所以路由器能与不同的RADIUS服务器互通。而在RADIUS服务器上,使用者可以任意根据自己的需要对得到的信息进行处理,满足不同的需求。

七、RADIUS基本配置
+配置RADIUS服务器
radius server { hostname | ip-address } [authentication-port port-number ]
[accouting-port port-number ] 配置服务器地址和端口号,最多可以配置3个RADIUS服务器。
radius shared-key string 配置共享密钥。
+配置重传参数
radius retry times 配置最大重传次数,如果达到这个次数仍然未得到应答包则认为此RADIUS服务器已不可用。
radius timer response-timeout seconds 配置重传时间间隔,单位为秒。
+配置实时计费
radius timer realtime-accounting minutes 配置实时计费时间间隔,单位为分钟。此时间不宜过短,否则会大量占用系统资源。

八、RADIUS包调试信息
+配置RADIUS服务器密钥、重传次数、超时定时器
redius shared-key this-is-my-secret
redius retry 2
radius timer response-timerout 5
+将缺省方发表应用到封装了PPP的接口
ppp authentication-mode pap scheme default

AAA及Radius的更多相关文章

  1. Radius 远程用户拨号认证系统

    RADIUS 锁定 本词条由“科普中国”百科科学词条编写与应用工作项目 审核 . RADIUS:Remote Authentication Dial In User Service,远程用户拨号认证系 ...

  2. Radius协议-学习

    目录 RFC Radius 协议 Radius-学习 RADIUS协议的主要特征 客户端/服务器模式 安全的消息交互机制 良好的扩展性 AAA介绍 C/S结构 RADIUS在协议栈中的位置 RADIU ...

  3. 802.1x协议&eap类型

    EAP: 0,扩展认证协议 1,一个灵活的传输协议,用来承载任意的认证信息(不包括认证方式) 2,直接运行在数据链路层,如ppp或以太网 3,支持多种类型认证 注:EAP 客户端---服务器之间一个协 ...

  4. wifi与wimax

    这几天在看文献中看到802.11a,802.11n和802.16e这几种无信通信协议标准,在网上查了相关资料后,看到有个帖子总结得不错,故将其转载过来. 转:http://blog.csdn.net/ ...

  5. less做个径向菜单

    在慕课网发现了一个有意思的课程,叫 数学知识在CSS动画中的应用 .用到的数学知识是如何计算圆上每个点的坐标.统一名称,中间的菜单叫触发菜单,四周发散的菜单叫子菜单, 效果预览 慕课网通过jquery ...

  6. Wireless Intranet Captive Portal

    Wireless Intranet Captive Portal 配置AAA服务Radius认证 radius-server key 0 radius radius-server authentica ...

  7. 自学Aruba5.1-Aruba 基于角色(role)的策略管理(重点)

    点击返回:自学Aruba之路 自学Aruba5.1-Aruba 基于角色(role)的策略管理(重点) 1. 角色Role介绍 在ArubaOS中,用户(User)指的是已经完成连接,并获取到IP地址 ...

  8. 自学Aruba5.3.3-Aruba安全认证-有PEFNG 许可证环境的认证配置Captive-Portal

    点击返回:自学Aruba之路 自学Aruba5.3.3-Aruba安全认证-有PEFNG 许可证环境的认证配置Captive-Portal 1. Captive-Portal认证配置前言 1.1 新建 ...

  9. 自学Aruba5.3.4-Aruba安全认证-有PEFNG 许可证环境的认证配置802.1x

    点击返回:自学Aruba之路 自学Aruba5.3.4-Aruba安全认证-有PEFNG 许可证环境的认证配置802.1x 1. 采用InterDB认证服务器完成802.1X认证 (Aruba650) ...

随机推荐

  1. hdu4280 Island Transport 最大流

    In the vast waters far far away, there are many islands. People are living on the islands, and all t ...

  2. java 彻底理解 byte char short int float long double

    遇到过很多关于 数值类型范围的问题了,在这做一个总结,我们可以从多方面理解不同数值类型的所能表示的数值范围 在这里我们只谈论 java中的数值类型 首先说byte: 这段是摘自jdk中 Byte.ja ...

  3. js 三目运算

    语法: 一个条件,二选一: 条件?当条件满足时返回的值:当条件不满足时返回的值 多个条件,多选一: 条件1?条件1满足时的值: 条件2?条件2满足时的值: 条件n ?条件n 满足时的值: 默认值: 以 ...

  4. Python——scapy模块实现tcp探测目标服务器路由轨迹

      scapy模块的安装 484 yum install tcpdump graphviz ImageMagick -y 485 wget http://www.secdev.org/projects ...

  5. ML(4)——逻辑回归

    Logistic Regression虽然名字里带“回归”,但是它实际上是一种分类方法,“逻辑”是Logistic的音译,和真正的逻辑没有任何关系. 模型 线性模型 由于逻辑回归是一种分类方法,所以我 ...

  6. mina基础知识整理

    一.      简介: Apache Mina Server 是一个网络通信应用框架,Mina 可以帮助我们快速开发高性能.高扩展性的网络通信应用,Mina 提供了事件驱动.异步(Mina 的异步 I ...

  7. $("#form1"). serialize()提交表单

    一.jQuery ajax()使用serialize()提交form数据 jQuery的serialize()方法通过序列化表单值,创建URL编码文本字符串,我们就可以选择一个或多个表单元素,也可以直 ...

  8. 手动增加pe节并修改oep

    一直想学学怎么动动pe文件,学习了几篇文章尤其是寒晨的文章后,自己动手也尝试了一下加节和修改oep,写出来供和我一样菜的一起进步. 一.       增加pe节需要的操作 1.    确定内存中的节的 ...

  9. Spark Hadoop Free 安装遇到的问题

    运行 ./sbin/start-master.sh : SparkCommand:/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -cp /home/se ...

  10. RC4被JDK8默认禁用导致腾讯QQ邮箱无法访问

    7月29日开始,腾讯修改了邮箱的加密方式,导致我们线上的所有的腾讯代收.代发邮件的功能全部失效.解决方法在最后,如果需要可直接跳转至解决方法一节 问题出现 7月29日开始,线上的所有的腾讯代收.代发邮 ...