网络技术基础(20)——AAA原理与配置

简介: 【3月更文挑战第6天】华为设备的AAA框架实现网络安全管理,包括认证、授权、计费三要素,常使用RADIUS协议。用户、NAS(Network Access Server)和AAA服务器构成基本架构。认证方式有不认证、本地认证和远端认证,授权方式包括不授权、本地授权和远端授权,计费则为不计费和远端计费。RADIUS作为分布式协议,处理认证、计费和授权。常见应用场景如SSH登录,配置涉及创建认证方案、用户及服务类型。实验配置示例展示了SSH登录的AAA验证过程。

对于任何网络,用户管理都是最基本的安全管理要求之一,在华为设备管理中通过AAA框架进行认证、授权、计费实现安全验证。

AAA概述

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

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

image.png

AAA常见网络架构中包括:

  • 用户,接入用户,需要访问资源的接入者

  • NAS(Network Access Server),网络设备,如果配置了本地认证则网络设备作为认证服务器角色

  • AAA服务器(AAA Server),远程认证服务器,常见如RADIUS服务器

image.png

因为这边没有搭建RADIUS服务器所以我也没有用过这个远程认证,一般用的本地认证。

AAA实现

认证、授权、计费每个部分可以独立进行设置。

image.png

AAA支持三种认证方式:

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

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

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

image.png

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

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

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

  • 远端授权:支持由RADIUS服务器授权或HWTACAS服务器授权。

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

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

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

image.png

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

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

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

认证和授权都有三种形式:不认证、本地认证、远端认证(RADIUS服务器认证),计费一般用得少。

RADIUS简介

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

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

image.png

简单来讲就是在服务器区域部署一个认证服务器用于账号与权限管理,在网络设备NAS上配置到认证服务器的地址和端口,当指定用户实现RADIUS时代理认证和请求信息,通过了认证才允许访问资源。

AAA的应用场景

常见的有以下应用场景:

image.png

因为没有搭建服务器一般可以使用NAS本地认证就是网络设备作为认证服务器将账号密码和授权配置好即可。

在华为的网络设备上的AAA的配置简介:

image.png

aaa中以域为一个分组,域配置绑定对应的认证、授权、计费模板,模板里面可以设置(不认证、本地认证、远端认证等),然后创建用户关联到指定的域配置模板,用户默认不使用@符号就是关联到系统默认的default域,因此如果需要自定义认证域在创建时必须指定@域名,域名可以自行设置。

系统默认配置如下:

# 默认域default和default_admin,默认认证、授权是本地认证和不认证
aaa 
 authentication-scheme default
 authorization-scheme default
 accounting-scheme default
 domain default 
 domain default_admin 
 local-user admin password cipher %$%$K8m.Nt84DZ}e#<0`8bmE3Uw}%$%$
 local-user admin service-type http

AAA配置

配置示例:

# 进入AAA视图
[Huawei] aaa

# 创建认证方案
[Huawei-aaa] authentication-scheme authentication-scheme-name 

# 创建认证方案并进入相应的认证方案视图,配置认证方式,local指定认证方式为本地认证。缺省情况下,认证方式为本地认证。
[Huawei-aaa-authentication-scheme-name] authentication-mode {
   
    hwtacacs | local | radius }

# 创建domain并绑定认证方案
[Huawei-aaa] domain domain-name

# 在相应的domain视图下绑定认证方案
[Huawei-aaa-domain-name] authentication-scheme authentication-scheme-name 

# 在aaa视图下创建用户,如果用户名中带域名分隔符,如@,则认为@前面的部分是用户名,后面部分是域名如果没有@,则整个字符串为用户名,域为默认域
[Huawei-aaa] local-user user-name  password cipher password

# 配置用户接入类型
[Huawei-aaa] local-user user-name service-type {
   
    {
   
    terminal | telnet | ftp | ssh | snmp | http } | ppp | none }

# 配置用户级别
[Huawei-aaa] local-user user-name privilege level level

因为没有RADIUS只能测试NAS本地认证实现ssh和telnet实验配置。

SSH实验配置

image.png

AR1服务器端

# 服务器端配置
# 配置接口地址
interface GigabitEthernet0/0/0
 ip address 12.1.1.1 255.255.255.0 
#
interface GigabitEthernet0/0/1
 ip address 192.168.1.254 255.255.255.0 

# 开启SSH服务器功能,华为上叫stelnet
stelnet server enable 

# 配置远程VTY的验证方式,因为SSH和telnet通过一个虚拟终端连接到设备,也就是VTY方式因此需要配置VTY验证,配置aaa验证
user-interface vty 0 4
 authentication-mode aaa
 protocol inbound all

# 最后进入aaa视图配置
authentication-scheme test        # 创建一个认证模板,认证方式为local,默认为local
  authentication-mode local
  qu                              # 返回aaa视图 
authorization-scheme test         # 创建一个授权模板,使用本地授权,就是在创建本地用户时候指定授权
  authorization-mode local
  qu                              # 返回aaa视图
accounting-scheme test            # 创建一个计费模板,不计费
  accounting-mode none 
  qu                              # 返回aaa视图
domain test                       # 创建一个域模板,将上面3个模板关联到域模板下
  authentication-scheme test 
  accounting-scheme test
  authorization-scheme test
  qu                              # 返回aaa视图
# 开始创建用户,使用用户名@域名格式创建,服务允许telent ,ssh ,terminal
local-user chuck@test password cipher 123456
 local-user chuck@test privilege level 13
 local-user chuck@test service-type telnet terminal ssh

<AR1> save

AR2通过stelnet登录到服务器

# 正确配置接口地址
interface GigabitEthernet0/0/0
 ip address 12.1.1.2 255.255.255.0 

# 配置第一次远程认证,这个我理解就是第一次登录需要输入账号密码那个框,需要开启
ssh client first-time enable


# 在用户视图下进行登录
[AR2]stelnet 12.1.1.1
Please input the username:chuck@test
Trying 12.1.1.1 ...
Press CTRL+K to abort
Connected to 12.1.1.1 ...
Enter password:
<AR1>dis users
  User-Intf    Delay    Type   Network Address     AuthenStatus    AuthorcmdFlag
  0   CON 0   00:05:13                                   pass                   
  Username : Unspecified

+ 129 VTY 0   00:00:00  SSH    12.1.1.2                  pass                   
  Username : chuck@test          


<AR1>

# 注意第一次登录会提示y/n看清楚,然后用户名需要带域名的格式
# 通过dis users可以看到当前登录用户信息及登录方式

在服务器端进行AAA认证信息的查看

[AR1]dis aaa offline-record all 
  -------------------------------------------------------------------
  User name          : chuck@test
  Domain name        : test
  User MAC           : ffff-ffff-ffff
  User access type   : SSH
  User IP address    : 2.1.1.12
  User ID            : 8
  User login time    : 2024/01/17 16:40:32
  User offline time  : 2024/01/17 16:42:26
  User offline reason: user request to offline
  -------------------------------------------------------------------
  Are you sure to display some information?(y/n)[y]:y
  -------------------------------------------------------------------
  User name          : chuck@test
  Domain name        : test
  User MAC           : ffff-ffff-ffff
  User access type   : SSH
  User IP address    : 2.1.1.12
  User ID            : 7
  User login time    : 2024/01/17 15:28:41
  User offline time  : 2024/01/17 15:29:56
  User offline reason: user request to offline
  -------------------------------------------------------------------
  Are you sure to display some information?(y/n)[y]:y

# 查看域模板信息
[AR1]dis domain name test

  Domain-name                     : test                            
  Domain-state                    : Active
  Authentication-scheme-name      : test
  Accounting-scheme-name          : test
  Authorization-scheme-name       : test
  Service-scheme-name             : -
  RADIUS-server-template          : -
  HWTACACS-server-template        : -
  User-group                      : -

如果要配置RADIUS需要远程服务器,然后配置服务器地址和端口信息。

相关文章
|
9月前
|
人工智能 运维 安全
配置驱动的动态 Agent 架构网络:实现高效编排、动态更新与智能治理
本文所阐述的配置驱动智能 Agent 架构,其核心价值在于为 Agent 开发领域提供了一套通用的、可落地的标准化范式。
4323 111
|
8月前
|
机器学习/深度学习 PyTorch TensorFlow
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic,深度学习探索者。深耕TensorFlow与PyTorch,分享框架对比、性能优化与实战经验,助力技术进阶。
|
9月前
|
人工智能 安全 数据可视化
配置驱动的动态Agent架构网络:实现高效编排、动态更新与智能治理
本文系统性地提出并阐述了一种配置驱动的独立运行时Agent架构,旨在解决当前低代码/平台化Agent方案在企业级落地时面临困难,为Agent开发领域提供了一套通用的、可落地的标准化范式。
658 18
配置驱动的动态Agent架构网络:实现高效编排、动态更新与智能治理
|
8月前
|
监控 负载均衡 安全
WebSocket网络编程深度实践:从协议原理到生产级应用
蒋星熠Jaxonic,技术宇宙中的星际旅人,以代码为舟、算法为帆,探索实时通信的无限可能。本文深入解析WebSocket协议原理、工程实践与架构设计,涵盖握手机制、心跳保活、集群部署、安全防护等核心内容,结合代码示例与架构图,助你构建稳定高效的实时应用,在二进制星河中谱写极客诗篇。
WebSocket网络编程深度实践:从协议原理到生产级应用
|
8月前
|
网络协议 Linux 虚拟化
配置VM网络:如何设定静态IP以访问主机IP和互联网
以上就是设定虚拟机网络和静态IP地址的基本步骤。需要注意的是,这些步骤可能会因为虚拟机软件、操作系统以及网络环境的不同而有所差异。在进行设定时,应根据具体情况进行调整。
570 10
|
8月前
|
弹性计算 安全 应用服务中间件
阿里云渠道商:怎么配置阿里云网络ACL?
阿里云网络ACL是子网级无状态防火墙,支持精准流量控制、规则热生效且免费使用。本文详解5步配置流程,助您实现Web与数据库层的安全隔离,提升云上网络安全。
|
9月前
|
机器学习/深度学习 人工智能 算法
卷积神经网络深度解析:从基础原理到实战应用的完整指南
蒋星熠Jaxonic带你深入卷积神经网络(CNN)核心技术,从生物启发到数学原理,详解ResNet、注意力机制与模型优化,探索视觉智能的演进之路。
759 11
|
9月前
|
机器学习/深度学习 算法 搜索推荐
从零开始构建图注意力网络:GAT算法原理与数值实现详解
本文详细解析了图注意力网络(GAT)的算法原理和实现过程。GAT通过引入注意力机制解决了图卷积网络(GCN)中所有邻居节点贡献相等的局限性,让模型能够自动学习不同邻居的重要性权重。
1534 0
从零开始构建图注意力网络:GAT算法原理与数值实现详解
|
9月前
|
安全 测试技术 虚拟化
VMware-三种网络模式原理
本文介绍了虚拟机三种常见网络模式(桥接模式、NAT模式、仅主机模式)的工作原理与适用场景。桥接模式让虚拟机如同独立设备接入局域网;NAT模式共享主机IP,适合大多数WiFi环境;仅主机模式则构建封闭的内部网络,适用于测试环境。内容简明易懂,便于理解不同模式的优缺点与应用场景。
1231 0

热门文章

最新文章