职位:技术总监 1、精通c++(linux平台、vc++Mfc、qt)、java、php、unity3d,略懂python 2、用c++开发过嵌入式产品,用c++开发过大型银行运维产品 3、用java开发大型银行运维产品,学校教务系统 4、用php开发进销存系统(在销售中),用php开发淘宝小程序 5、用unity3d开发衣柜设计软件,在运营中
分类: LINUX
2011-09-16 22:32:00
一、AAA知识点,4点
u 1、 AAA=authentication、authorization、accounting(认证、授权、计费):①认证是确认远端访问用户的身份是否合法②授权是对不同用户赋予不同权限,限制用户可以使用的服务③计费是记录用户使用网络服务中的所有操作,包括使用的服务类型、起始时间、数据流量等,不仅是计费手段,也对网络安全起监视作用。
u 2、 AAA是C/S架构,一般radius或hwtacacs规定NAS与server如何传递用户信息。
3.3个A可以搭配使用。
二、radius概述
u 1、radius=remote authentication dial-in user service(远程认证拨号用户服务)
u 2、radius是分布式、C/S架构的信息交互协议
u 3、radius基于UDP,1812为认证端口、1813为计费端口
u 4、radius最早用于拨号接入,后来用于以太网接入、ADSL接入
三、radius服务器通常维护3个数据库
u 1、users:用户名、口令、协议、ip地址
u 2、clients:共享密钥、ip地址
u 3、dictionary:属性和属性值
四、radius客户端和服务器端交互机制,共3点
u 1、radius客户端和服务器之间认证消息的交互通过共享密钥保证安全,网络不传输共享密钥。用户密码在网络上加密传输。
u 2、radius服务器支持多种方法认证用户(如基于PPP的PAP\CHAP)
u 3、radius服务器可以为其它类型认证服务器提供代理
五、radius消息交互流程,共9步
u Step①用户发起连接请求,向RADIUS客户端发送用户名和密码。
u Step②RADIUS客户端根据获取的用户名和密码,向RADIUS服务器发送认证请求包(Access-Request),其中的密码在共享密钥的参与下由MD5算法进行加密
u Step③RADIUS服务器对用户名和密码进行认证。如果认证成功,RADIUS服务器向RADIUS客户端发送认证接受包(Access-Accept);如果认证失败,则返回认证拒绝包(Access-Reject)。由于RADIUS协议合并了认证和授权的过程,因此认证接受包中也包含了用户的授权信息。
u Step④RADIUS客户端根据接收到的认证结果接入/拒绝用户。如果允许用户接入,则RADIUS客户端向RADIUS服务器发送计费开始请求包(Accounting-Request)。
u Step⑤RADIUS服务器返回计费开始响应包(Accounting-Response),并开始计费
u Step⑥用户开始访问网络资源。
u Step⑦用户请求断开连接,RADIUS客户端向RADIUS服务器发送计费停止请求包(Accounting-Request)。
u Step⑧RADIUS服务器返回计费结束响应包(Accounting-Response),并停止计费
u Step⑨用户结束访问网络资源。