前言

用户只要接入网络,就需要通过认证,而不是收插上网线,连上wifi就能直接使用(不安全、无法追溯源头)。


AAA认证
AAA简介

AAA常见应用场景

AAA的基本架构

NAS
Network access server(网络接入服务器)不一定是一台服务器,可以是交换机也可以是防火墙。
问题:为什么中间要有NAS,而不是直接连接AAA服务器







配置AAA
SSH知识点
SSH协议本身就是一个安全的加密隧道,它既可以保护类似FTP的文件传输(这就是SFTP),也可以保护远程终端登录(这通常直接称为SSH,但在历史上,它的前身Telnet不安全,所以安全的Telnet本质上就是SSH终端)。


配置用户登录

创建用户

防火墙还得开启stelnet

当您尝试SSH登录时,防火墙执行两步验证 :
bash
# 第一步:检查AAA总权限
1. 防火墙收到SSH连接请求,用户admin
2. 系统查找aaa manager-user admin的service-type
3. 如果service-type中**没有ssh** → 直接拒绝!不再执行第二步
# 第二步:检查SSH服务细化权限
4. 如果service-type中有ssh → 继续检查ssh user配置
5. 根据ssh user的service-type(stelnet)决定具体功能
问题一:为什么SSH配置没有FTP和Web?
根本原因:协议完全独立
FTP、Web(HTTP/HTTPS)、SSH是三个完全不同的协议,就像:
-
SSH = 专用军事通信频道(加密、专门协议)
-
FTP = 邮政快递服务(专门文件传输)
-
Web = 公众广播系统(HTTP协议)
它们在网络架构中是并行关系,不是包含关系:
bash
网络接入层
├── SSH协议栈(端口22)
│ ├── Stelnet(远程终端)
│ ├── SFTP(文件传输)
│ └── SCP(文件拷贝)
├── FTP协议栈(端口21)
└── HTTP/HTTPS协议栈(端口80/443)
技术架构差异
| 服务 | 协议 | 端口 | 配置体系 | 为什么分开 |
|---|---|---|---|---|
| SSH | SSH协议 | 22 | 独立ssh user配置 |
SSH协议复杂,需要精细控制子功能 |
| FTP | FTP协议 | 21 | 继承AAA配置 | 功能单一,只需开关控制 |
| Web | HTTP(S)协议 | 80/443 | 继承AAA配置 | 功能单一,只需开关控制 |
问题二:为什么SFTP要在SSH里配置,不在AAA直接配置?
这是最巧妙的设计,原因有三:
1. 安全隔离原则:权限分离
SFTP和FTP虽然都是文件传输,但安全级别完全不同:
bash
# 传统FTP(危险)
FTP: admin/Huawei@123 → 传输**明文密码**,数据**不加密**
# 如果只允许FTP,黑客截获流量就能看到密码和文件
# SFTP(安全)
SSH: admin/Huawei@123 → 建立**加密隧道**,所有数据加密
SFTP: 在加密隧道内传输文件,密码、文件都加密
设计逻辑:
-
AAA控制能不能用某个协议
-
SSH配置控制怎么用这个协议
2. 精细化控制需求
SSH协议内部功能复杂,需要精细控制:
bash
# 不同角色需要不同的SSH权限
网络管理员:只需要stelnet(配置设备)
→ ssh user admin service-type stelnet
文件管理员:只需要sftp(传配置文件)
→ ssh user admin service-type sftp
超级管理员:需要全部
→ ssh user admin service-type stelnet sftp
审计员:只能看日志,不能改配置
→ ssh user admin service-type sftp(只能传文件,不能登终端)
AAA做不到这么细,它只能说"允许SSH",但不能说"允许SSH的哪些功能"。
3. 技术实现的必然
SSH协议的设计决定了这一点:
bash
# SSH登录时,客户端告诉服务器要做什么
ssh user@host "ls -la" # 只执行命令
sftp user@host # 启动SFTP会话
ssh -D 1080 user@host # 开启SOCKS代理
# 服务器端(防火墙)需要知道:
# "admin用户,允许哪种连接方式?"
一个完美的比喻:大楼安保系统
整个系统架构:
bash
公司大楼(防火墙)
├── 主入口登记处(AAA系统)
│ ├── 访客名单:admin
│ ├── 通用密码:Huawei@123
│ └── 通行权限:[FTP仓库门] [Web大厅门] [SSH专用通道门]
│
├── SSH专用通道(独立安检)
│ ├── 安检规则(ssh user配置)
│ │ ├── admin只能去"命令行办公室"(stelnet)
│ │ ├── bob只能去"文件交换室"(sftp)
│ │ └── root可以去所有办公室
│ └── 内部还有多个房间(SSH子功能)
│
├── FTP仓库(简单门禁)
│ └── 只看AAA的通行卡,有卡就进
│
└── Web大厅(简单门禁)
└── 只看AAA的通行卡,有卡就进
为什么这样设计?
-
SSH通道最复杂:
-
里面有多个房间(stelnet、sftp、scp、隧道等)
-
需要二次安检(ssh user配置)
-
不同人能进的房间不同
-
-
FTP和Web很简单:
-
只有一个大房间
-
有AAA通行卡就能进
-
不需要内部细分
-
但是现在配置好之后还是没法远程stelnet到防火墙(即使都加入相同的安全区域)


如果现在是用console线的方式接到防火墙上,现在如果想对console口的认证方式做一个变化。
bash
user-interface console 0 # 登录到console口中

现在的登录方式是aaa,可以修改。

再设置密码
bash
[USG6000V1-ui-console0]set authentication password cipher Huawei@123
下次登录进该防火墙,就只需要输入密码即可(不需要输入账号)。

所以想对一个管理本设备的接口做一些修改时,可以通过user-interface进入到对应的接口下做修改。

stelnet 到该设备,是否也有相关的接口?
ssh,stelnet这种虚拟的方式登录到设备上,想去做一些配置修改时,肯定也有地方做管控。

vty(虚拟用户终端接口)
这个数量是可以修改的,默认是5个



目前来说还是登录不了(没有做权限的划分)
在防火墙AAA下给用户权限


-
最小权限原则 :不要给所有管理员
level 15。日常运维使用level 3-8足够。 -
逃生账户 :保留1-2个
level 15的本地账户,并妥善保管密码,用于AAA服务器故障时应急。 -
审计分离 :为审计人员创建仅具有
display命令权限的账户(如level 1或level 2),让他们可以查看配置和日志但无法修改。 -
角色划分:根据岗位定义角色(如安全策略员、路由管理员),然后为每个角色创建对应的权限级别和命令集。


现在还是登不上。
需要绑定角色




权限划分


理清配置逻辑
华为防火墙(以及几乎所有企业级设备)的安全访问模型是 "分层解耦" 设计的。
核心比喻:把防火墙想象成一家高科技公司
-
aaa manager-user admin= 在HR系统里创建员工档案-
password cipher ...= 他的工牌密码(Huawei@123) -
service-type ftp web ssh= 他拥有进入"FTP仓库"、"Web大厅"、"SSH研发中心"这三个区域的潜在资格(HR备案)。 -
但注意:这里还没说他能进哪个门,也没说他进去后是什么职位!
-
-
ssh user admin service-type stelnet= SSH研发中心的额外规定-
这个规定说:"叫
admin的这个员工,就算进了SSH研发中心,也只能使用stelnet(远程终端)这个实验室,不能用里面的sftp(文件传输)实验室。" -
这只是在细化规则,不解决他能不能进大楼的问题。
-
-
stelnet server enable= 打开"SSH研发中心"大楼的总电源- 这仅仅是让大楼通电,门禁系统可以工作。不代表任何人能进去。
现在,最关键的问题来了:员工 admin 到底从哪个门、用什么方式进入公司呢?