计算机网络-AAA原理概述

news2024/11/15 14:09:54

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

一、AAA概述

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

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

AAA常见网络架构中包括:

  • 用户,接入用户,需要访问资源的接入者
  • NAS(Network Access Server),网络设备,如果配置了本地认证则网络设备作为认证服务器角色
  • AAA服务器(AAA Server),远程认证服务器,常见如RADIUS服务器 AAA网络架构

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

二、AAA实现

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

认证 AAA支持三种认证方式:

  • 不认证:完全信任用户,不对用户身份进行合法性检查。鉴于安全考虑,这种认证方式很少被采用。
  • 本地认证:将本地用户信息(包括用户名、密码和各种属性)配置在NAS上,此时NAS就是AAA Server。本地认证的优点是处理速度快、运营成本低;缺点是存储信息量受设备硬件条件限制。这种认证方式常用于对用户登录设备进行管理,如Telnet,FTP用户等。
  • 远端认证:将用户信息(包括用户名、密码和各种属性)配置在认证服务器上。支持通过RADIUS协议或HWTACACS协议进行远端认证。NAS作为客户端,与RADIUS服务器或HWTACACS服务器进行通信。

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

  • 不授权:不对用户进行授权处理。
  • 本地授权:根据NAS上对应域下的配置进行授权。
  • 远端授权:支持由RADIUS服务器授权或HWTACAS服务器授权。
    • HWTACACS授权,使用HWTACACS服务器对所有用户授权。
    • RADIUS授权,只支持对通过RADIUS服务器认证的用户授权。RADIUS协议的认证和授权是绑定在一起的,不能单独使用RADIUS进行授权。

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

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

  • 不计费:为用户提供免费上网服务,不产生相关活动日志。
  • 远端计费:支持通过RADIUS服务器或HWTACACS服务器进行远端计费。

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

三、RADIUS简介

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

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

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

四、AAA的应用场景

常见的有以下应用场景: 应用场景

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

在华为的网络设备上的AAA的配置简介: 华为AAA认证概述 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实验配置。

5.1 SSH实验配置。 SSH

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需要远程服务器,然后配置服务器地址和端口信息。

总结:AAA是一套认证授权的模板,分为认证、授权、计费,每个功能可以设置不认证、本地认证、远端认证,3个模板可以灵活实现认证功能,简单实验了一下通过AAA实现远程登录验证,今天就先这样了。

对文章感兴趣的欢迎搜索:不喜欢热闹的孩子 不喜欢热闹的孩子

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1404304.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

vue3-组件基础

什么是组件 组件允许我们将 UI 划分为独立的、可重用的部分&#xff0c;并且可以对每个部分进行处理。在实际应用中&#xff0c;组件常常被组织成层层嵌套的树状结构。 定义一个组件 我们一般会将 Vue 组件定义在一个单独的 .vue 文件中&#xff0c;这被叫做单文件组件 (简称…

Leetcode刷题笔记题解(C++):670. 最大交换

思路&#xff1a; 假设数字 9923676 从右边找最大的数字的下标maxindex&#xff0c;然后向左边寻找小于最大数字的数的下标&#xff0c;直到找到最左边&#xff0c;交换两者得出新的数字&#xff0c;比如从左到右递减的数字如9621则不需要变化&#xff0c;在寻找中记录这种数…

最长子字符串的长度(二) - 华为OD统一考试

OD统一考试&#xff08;C卷&#xff09; 分值&#xff1a; 200分 题解&#xff1a; Java / Python / C 题目描述 给你一个字符串 s&#xff0c;字符串s首尾相连成一个环形 &#xff0c;请你在环中找出’l’、‘o’、‘x’ 字符都恰好出现了偶数次最长子字符串的长度。 输入描…

【数据结构与算法】排序算法:冒泡排序,冒泡排序优化,选择排序、选择排序优化

目录 一、冒泡排序 1、冒泡排序思想 2、冒泡排序算法的性能分析 代码实现&#xff1a; 二、选择排序 1、选择排序思想 2、选择排序算法的性能分析 代码实现&#xff1a; 一、冒泡排序 1、冒泡排序思想 冒泡排序的基本思想是通过相邻元素之间的比较和交换来逐步将最大…

前端JavaScript篇之实现有序数组原地去重方法有哪些?

目录 实现有序数组原地去重方法有哪些&#xff1f;方法一&#xff1a;使用 Set 数据结构代码实现&#xff1a;思路说明&#xff1a; 方法二&#xff1a;使用双指针遍历代码实现&#xff1a;思路说明&#xff1a; 实现有序数组原地去重方法有哪些&#xff1f; 在 JavaScript 中…

Dockerfile-xxxx

1、Dockerfile-server FROM openjdk:8-jdk-alpine WORKDIR /app COPY . . CMD java -Xms1536M -Xmx1536M -XX:UseG1GC -jar -Dlog4j2.formatMsgNoLookupstrue -Dloader.pathresources,lib -Duser.timezoneGMT-05 /app/server-main-1.0.0.jar 2、Dockerfile-bgd #FROM openjdk…

(笔记总结)C/C++语言的常用库函数(持续记录,积累量变)

写在前面&#xff1a; 由于时间的不足与学习的碎片化&#xff0c;写博客变得有些奢侈。 但是对于记录学习&#xff08;忘了以后能快速复习&#xff09;的渴望一天天变得强烈。 既然如此 不如以天为单位&#xff0c;以时间为顺序&#xff0c;仅仅将博客当做一个知识学习的目录&a…

代码+视频R语言绘制逆概率加权后的基线表

基于 PS &#xff08;倾向评分&#xff09;的逆概率加权(IPTW )法首先由&#xff32;osenbaum作为一种以模型为基础的直接标准化法提出&#xff0c;属于边际结构模型。简单来说&#xff0c;就是把许多协变量和混杂因素打包成一个概率并进行加权&#xff0c;这样的话&#xff0c…

Android双指缩放ScaleGestureDetector检测放大因子大图移动到双指中心点ImageView区域中心,Kotlin

Android双指缩放ScaleGestureDetector检测放大因子大图移动到双指中心点ImageView区域中心&#xff0c;Kotlin 在 Android双击图片放大移动图中双击点到ImageView区域中心&#xff0c;Kotlin-CSDN博客 基础上&#xff0c;这次使用ScaleGestureDetector检测两根手指的缩放动作&a…

开源人工智能AI壁纸生成器--AI Wallpaper Generator

AI Wallpaper Generator AI Wallpaper Generator&#xff1a;AI Wallpaper Generator | AI Wallpaper Shop GitHub地址&#xff1a;https://github.com/all-in-aigc/aiwallpaper 一款开源人工智能AI壁纸生成器&#xff0c;根据用户的输入提示词&#xff0c;即可生成对应的高…

Python Tornado 实现SSE服务端主动推送方案

一、SSE 服务端消息推送 SSE 是 Server-Sent Events 的简称&#xff0c; 是一种服务器端到客户端(浏览器)的单项消息推送。对应的浏览器端实现 Event Source 接口被制定为HTML5 的一部分。相比于 WebSocket&#xff0c;服务器端和客户端工作量都要小很多、简单很多&#xff0c…

使用Bitcoin Core钱包启动signet测试网络

使用Bitcoin Core钱包启动signet测试网络 为什么要启动测试网络 我们的目的是了解BTC网络的运行原理&#xff0c;学习BTC相关技术。在主网中有较高的手续费和大量的区块数据&#xff0c;不利于我们进行测试。 下载钱包 一定要去可信的网站下载钱包&#xff0c;否则非常容易…

java web servlet 学习系统进度管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web学习系统进度管理系统是一套完善的java web信息管理系统 &#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环 境为TOMCAT7.0,Myeclipse8.5开发&#xff0c;数据库为…

go语言(十四)----反射

变量的结构 2 举个例子 package mainimport "fmt"type Reader interface {ReadBook() }type Writer interface {WriteBook() }//具体类型 type Book struct {}func (this *Book) ReadBook() {fmt.Println("Read a Book")}func (this *Book) WriteBook() {…

Mac上如何设置映射某个网站站点域名的IP

最近某常用的站点换 IP 了&#xff0c;但是 DNS 服务器还没有修改&#xff0c;这就导致无法访问&#xff08;换 DNS 服务器也不行&#xff09;。在用了一段时间的 IP 访问之后&#xff0c;还是没好&#xff0c;不知道是 DNS 污染还是咋了&#xff0c;所以最后还是手动改一下吧。…

【LeetCode】每日一题 2024_1_22 最大交换(模拟)

文章目录 LeetCode&#xff1f;启动&#xff01;&#xff01;&#xff01;题目&#xff1a;最大交换题目描述&#xff1a;代码与解题思路 LeetCode&#xff1f;启动&#xff01;&#xff01;&#xff01; 几百年没有见到题目描述这么短的题目了&#xff0c;泪目了 题目&#x…

电商平台接口自动化框架实践

技术栈 Mimproxy(抓包)pytestalluredockerJenkinsgitlab 语言&#xff1a;电商API接口自动化实现流程 红色为可实现/尚未完成 绿色为需要人工干预部分 自动生成测试用例模板&#xff08;俩种方式二选一&#xff09;&#xff1a; mimproxy&#xff0c;通过浏览器代理抓包方式…

074:vue+mapbox 加载here地图(影像瓦片图 v2版)

第074个 点击查看专栏目录 本示例的目的是介绍演示如何在vue+mapbox中加载here地图的影像瓦片图 v2软件版本。 直接复制下面的 vue+mapbox源代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例源代码(共77行)相关API参考:专栏目标示例效果

区块链游戏:Web3时代玩法的全新演绎

随着区块链技术的蓬勃发展&#xff0c;区块链游戏正成为数字娱乐领域的一颗璀璨明珠。在Web3时代&#xff0c;区块链游戏以其去中心化、透明、可验证的特性&#xff0c;为玩家带来了全新的游戏体验。本文将深入探讨区块链游戏在Web3时代的崭新玩法和引领未来的可能性。 1. 去中…

GPTBots:利用FlowBot中的卡片和表单信息,提供丰富的客服体验

在当今的数字化时代&#xff0c;客户服务的形式和体验正在经历着前所未有的变革。传统的文字消息方式已经无法满足现代用户对于服务体验的多元化需求。那么&#xff0c;如何才能在这个信息爆炸的时代&#xff0c;让我们的服务方式更加个性化、多样化&#xff0c;从而提供更丰富…