分享

AAA基本原理与基本配置,RADIUS的基本原理

 剩矿空钱 2021-04-24

前言:

对于任何网络,用户管理都是最基本的安全管理要求之一。

AAA(Authentication, Authorization, and Accounting)是一种管理框架,它提供了授权部分用户访问指定资源和记录这些用户操作行为的安全机制。因其具有良好的可扩展性,并且容易实现用户信息的集中管理而被广泛使用。AAA可以通过多种协议来实现,在实际应用中,最常使用RADIUS (Remote Authentication Dial-In User Service)协议。

本文将介绍AAA基本概念、AAA的实现方式、AAA的基本配置以及常见AAA应用场景。

AAA基本概念

AAA是Authentication(认证)、Authorization(授权)和Accounting(计费)的简称,是网络安全的一种管理机制,提供了认证、授权、计费三种安全功能。

·认证(Authentication):验证用户是否可以获得访问权,确定哪些用户可以访问网络。

·授权(Authorization):授权用户可以使用哪些服务。

·计费(Accounting):记录用户使用网络资源的情况。

·网络运营商(ISP)需要验证家庭宽带用户的账号密码之后才允许其上网,并记录用户的上网时长或上网流量等内容,这就是AAA技术最常见的应用场景。

AAA基本原理与基本配置,RADIUS的基本原理

AAA常见架构

AAA常见网络架构中包括用户、NAS(Network Access Server)、AAA服务器(AAA Server)。

NAS负责集中收集和管理用户的访问请求。

在NAS上会创建多个域来管理用户。不同的域可以关联不同的AAA方案。AAA方案包含认证方案,授权方案,计费方案。

当收到用户接入网络的请求时,NAS会根据用户名来判断用户所在的域,根据该域对应的AAA方案对用户进行管控。

AAA基本原理与基本配置,RADIUS的基本原理

·NAS基于域来对用户进行管理,每个域都可以配置不同的认证、授权和计费方案,用于对该域下的用户进行认证、授权和计费。

·每个用户都属于某一个域。用户属于哪个域是由用户名中的域名分隔符@后的字符串决定。例如,如果用户名是user1@domain1,则用户属于domain1域。如果用户名后不带有@,则用户属于系统缺省域。

认证(Authentication)

AAA支持的认证方式有:不认证,本地认证,远端认证。

AAA基本原理与基本配置,RADIUS的基本原理

·AAA支持三种认证方式:

▫不认证:完全信任用户,不对用户身份进行合法性检查。鉴于安全考虑,这种认证方式很少被采用。

▫本地认证:将本地用户信息(包括用户名、密码和各种属性)配置在NAS上,此时NAS就是AAA Server。本地认证的优点是处理速度快、运营成本低;缺点是存储信息量受设备硬件条件限制。这种认证方式常用于对用户登录设备进行管理,如Telnet,FTP用户等。

▫远端认证:将用户信息(包括用户名、密码和各种属性)配置在认证服务器上。支持通过RADIUS协议或HWTACACS协议进行远端认证。NAS作为客户端,与RADIUS服务器或HWTACACS服务器进行通信。

授权(Authorization)

·AAA支持的授权方式有:不授权,本地授权,远端授权。

·授权信息包括:所属用户组、所属VLAN、ACL编号等。

AAA基本原理与基本配置,RADIUS的基本原理

·AAA授权功能赋予用户访问的特定网络或设备的权限。AAA支持以下授权方式:

▫不授权:不对用户进行授权处理。

▫本地授权:根据NAS上对应域下的配置进行授权。

▫远端授权:支持由RADIUS服务器授权或HWTACACS服务器授权。

▪HWTACACS授权,使用HWTACACS服务器对所有用户授权。

▪RADIUS授权,只支持对通过RADIUS服务器认证的用户授权。RADIUS协议的认证和授权是绑定在一起的,不能单独使用RADIUS进行授权。

·当采用远端授权时,用户可以同时从授权服务器和NAS获取授权信息。NAS配置的授权信息优先级比授权服务器下发的授权信息低。

计费(Accouting)

·计费功能用于监控授权用户的网络行为和网络资源的使用情况。

·AAA支持的计费方式有:不计费,远端计费。

AAA基本原理与基本配置,RADIUS的基本原理

·AAA支持以下两种计费方式:

▫不计费:为用户提供免费上网服务,不产生相关活动日志。

▫远端计费:支持通过RADIUS服务器或HWTACACS服务器进行远端计费。

AAA实现协议 - RADIUS

·AAA可以用多种协议来实现,最常用的是RADIUS协议。

AAA基本原理与基本配置,RADIUS的基本原理

·AAA可以用多种协议来实现,最常用的是RADIUS协议。RADIUS是一种分布式的、客户端/服务器结构的信息交互协议,可以实现对用户的认证、计费和授权功能。

·通常由NAS作为RADIUS客户端,负责传输用户信息到指定的RADIUS服务器,然后根据从服务器返回的信息进行相应处理(如接受/拒绝用户接入)。

·RADIUS服务器一般运行在中心计算机或工作站上,维护相关的用户认证和网络服务访问信息,负责接收用户连接请求并认证用户,然后给客户端返回所有需要的信息(如接受/拒绝认证请求)。RADIUS使用UDP(User Datagram Protocol)作为传输协议,并规定UDP端口1812、1813分别作为认证、计费端口,具有良好的实时性;同时也支持重传机制和备用服务器机制,从而具有较好的可靠性。

·RADIUS客户端与服务器间的消息流程如下:

1.当用户接入网络时,用户发起连接请求,向RADIUS客户端(即NAS)发送用户名和密码。

2.RADIUS客户端向RADIUS服务器发送包含用户名和密码信息的认证请求报文。

3.RADIUS服务器接收到合法的请求后,完成认证,并把所需的用户授权信息返回给客户端;对于非法的请求,RADIUS服务器返回认证失败的信息给客户端。

4.RADIUS客户端通知用户认证是否成功。

5.RADIUS客户端根据接收到的认证结果接入/拒绝用户。如果允许用户接入,则RADIUS客户端向RADIUS服务器发送计费开始请求报文。

6.RADIUS服务器返回计费开始响应报文,并开始计费。

7.用户开始访问网络资源。

8.当用户不再想要访问网络资源时,用户发起下线请求,请求停止访问网络资源。

9.RADIUS客户端向RADIUS服务器提交计费结束请求报文。

10.RADIUS服务器返回计费结束响应报文,并停止计费。

11.RADIUS客户端通知用户访问结束,用户结束访问网络资源。

AAA常见应用场景

1、通过RADIUS提供上网用户的AAA

AAA基本原理与基本配置,RADIUS的基本原理

·通过在NAS上配置AAA方案,实现NAS与RADIUS服务器的对接。

·用户在客户端上输入用户名和密码后,NAS可以将这些信息发送至RADIUS服务器进行认证。

·如果认证通过,则授予用户访问Internet的权限。

·在用户访问过程中,RADIUS服务器还可以记录用户使用网络资源的情况。

2、对管理用户进行本地认证和授权

AAA基本原理与基本配置,RADIUS的基本原理

·在Router上配置本地AAA方案后,当网络管理员登录Router时,Router将网络管理员的的用户名密码等信息,与本地配置的用户名信息进行比对认证。

·认证通过后,Router将授予网络管理员一定的管理员权限。

AAA配置 (1)

1.进入AAA视图

[Huawei] aaa

从系统视图进入AAA视图进行配置

2.创建认证方案

[Huawei-aaa] authentication-scheme authentication-scheme-name

创建认证方案并进入相应的认证方案视图

[Huawei-aaa-authentication-scheme-name] authentication-mode { hwtacacs | local | radius }

配置认证方式,local指定认证方式为本地认证。缺省情况下,认证方式为本地认证。

·authorization-scheme authorization-scheme-name命令用来配置域的授权方案。缺省情况下,域下没有绑定授权方案。

·authentication-mode { hwtacacs | local | radius }命令用来配置当前认证方案使用的认证方式。缺省情况下,认证模式为本地认证方式。

AAA配置 (2)

3.创建domain并绑定认证方案

[Huawei-aaa] domain domain-name

创建domain并进入相应的domain视图

Huawei-aaa-domain-name] authentication-scheme authentication-scheme-name

在相应的domain视图下绑定认证方案

4.创建用户

Huawei-aaa] local-user user-name  password cipher password

创建本地用户,并配置本地用户的密码:

·如果用户名中带域名分隔符,如@,则认为@前面的部分是用户名,后面部分是域名

·如果没有@,则整个字符串为用户名,域为默认域

AAA配置 (3)

5.配置用户接入类型

Huawei-aaa] local-user user-name service-type { { terminal | telnet | ftp | ssh | snmp | http } | ppp | none }

设置本地用户的接入类型。缺省情况下,本地用户关闭所有的接入类型。

6.配置用户级别

[Huawei-aaa] local-user user-name privilege level level

指定本地用户的权限级别。

AAA配置案例

·在设备R1上配置用户密码和级别,使主机A可以通过配置的用户名和密码远程登录到设备。

AAA基本原理与基本配置,RADIUS的基本原理
[R1]aaa[R1-aaa]local-user huawei password cipher huawei123[R1-aaa]local-user huawei service-type telnet[R1-aaa]local-user huawei privilege level 0[R1]user-interface vty 0 4[R1-ui-vty0-4]authentication-mode aaa

配置验证 (1)

·AAA中,每个域都会与相应的认证授权和计费方案相关联,当前为默认域。

[R1]display domain name default_admin  Domain-name:   default_admin                    Domain-state:   Active  Authentication-scheme-name:   default  Accounting-scheme-name:   default  Authorization-scheme-name:   -  Service-scheme-name:   -  RADIUS-server-template:   -  HWTACACS-server-template:   -  User-group:   -

·display domain [ name domain-name ]命令用来查看域的配置信息。

·Domain-state为Active表示激活状态。

·如果用户名后不带有@,则用户属于系统缺省域,华为设备支持两种缺省域:

▫default域为普通用户的缺省域。

▫default_admin域为管理用户的缺省域。

配置验证 (2)

·用户正常登录并且下线之后可以看到用户的记录信息。[R1]display aaa offline-record all  -------------------------------------------------------------------  User name:   huawei  Domain name:   default_admin  User MAC:   00e0-fc12-3456  User access type:   telnet  User IP address:   10.1.1.2  User ID:   1  User login time:   2019/12/28 17:59:10  User offline time:   2019/12/28 18:00:04  User offline reason:   user request to offline

display aaa offline-record命令用来查看系统中用户下线的记录。

小结:

·AAA技术为了提高企业网络的安全性,防止非法用户登录,需要对企业内部员工,外部客户等进行身份的认证,可访问资源的授权和上网为行为的监控。

认证(Authentication):验证用户是否可以获得访问权,确定哪些用户可以访问网络。

授权(Authorization):授权用户可以使用哪些服务。

计费(Accounting):记录用户使用网络资源的情况。

·AAA技术可以本地实现,也可以通过远端服务器实现。

·AAA可以用多种协议来实现,最常用的是RADIUS协议。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多