[H3C/华三] AAA配置

1. AAA基础概念

AAA是网络安全的管理机制,提供三种安全功能:认证(Authentication)确认用户身份合法性、授权(Authorization)赋予用户不同的权限、计费(Accounting)记录用户操作和资源使用情况。

采用客户端/服务器结构,客户端运行于 NAS(Network Access Server,网络接入服务器)上,负责验证用户身份与管理用户接入,服务器上则集中管理用户信息。

image

协议种类

  • RADIUS:最常用,认证和授权绑定,UDP协议
  • HWTACACS:认证授权分离,TCP协议,支持命令行授权
  • LDAP:轻量级目录访问协议(用不上所以后面没有相关内容)

2. 配置本地用户

本地认证、本地授权、本地计费方法对应用户。本地用户分为两类,一类是设备管理用户(设备管理员);另一类是网络接入用户(普通用户和临时访客)。

  • 支持的服务类型包括:FTP、HTTP、HTTPS、lan-access、Portal、SSH、Telnet、Terminal、ONU
/***管理类用户***/
# 创建管理类用户 
[H3C] local-user admin class manage
[H3C-luser-manage-admin] password simple Hello@123
# 允许 SSH 和 Web (HTTP) 登录
[H3C-luser-manage-admin] service-type ssh http
# 授予管理员权限(可选)
[H3C-luser-manage-admin] authorization-attribute user-role network-admin
[H3C-luser-manage-admin] quit

**/*网络接入类用户*/**
# 创建网络接入类用户
[H3C] local-user guest class network
[H3C-luser-network-guest] password simple Guest123
# 允许网络接入服务 portal
[H3C-luser-network-guest] service-type portal
# 授予自定义角色 level-1(可选)
[H3C-luser-network-guest] authorization-attribute user-role level-1
[H3C-luser-network-guest] quit

**/*临时访客*/**
[H3C]local-user guest2 class network guest
[H3C-luser-network-guest-guest2] password simple Temp@Pass456
# 配置访客基本信息
[H3C-luser-network-guest-guest2] full-name 临时访客   # 姓名
[H3C-luser-network-guest-guest2] company 外部合作伙伴 # 所属公司
[H3C-luser-network-guest-guest2] phone 13800000000   # 联系电话
...# 还可以配置电子邮箱和描述信息这里不赘述

# 配置接待人信息
[H3C-luser-network-guest-guest2] sponsor-full-name 李四  # 接待人姓名
[H3C-luser-network-guest-guest2] sponsor-department 行政部 # 接待人部门

# 设置有效期(例如:2025年12月3日14:00至23:59)
[H3C-luser-network-guest-guest2] validity-datetime from 14:00 12/03/2025 to 23:59 12/03/2025

3. RADIUS服务器

RADIUS 协议合并了认证和授权的过程,规定使用 UDP 作为封装报文的传输层协议,UDP 端口 1812、1813 分别作为认证/授权、计费端口。

image

配置RADIUS

<H3C> system-view

# 创建RADIUS方案
[H3C] radius scheme company-radius
# 配置认证服务器
[H3C-radius-company-radius] primary authentication 10.1.1.100 1812
# 配置计费服务器
[H3C-radius-company-radius] primary accounting 10.1.1.100 1813

# 配置共享密钥
# 方式一:cipher(密文)类型,输入明文后设备自动加密
[H3C-radius-company-radius] key authentication cipher MySecureKey123
# 方式二:simple类型,查看配置时密码明文显示
[H3C-radius-company-radius] key authentication simple MySecureKey123

# 如果认证和计费使用不同的密钥,需分别指定:
[H3C-radius-company-radius] key authentication cipher AuthKey456
[H3C-radius-company-radius] key accounting cipher AcctKey789

# 设置发送给RADIUS服务器的用户名格式
# with-domain:用户名携带域名(如 user1@tech.dept)
# without-domain:用户名不携带域名(如 user1)
[H3C-radius-company-radius] user-name-format with-domain

配置设备发送RADIUS报文使用的源IP地址

# 方法一(全局设置):在系统视图下配置,对所有RADIUS方案生效
[H3C-radius-company-radius] quit
# ! 指定设备Loopback或管理接口的IP
[H3C] radius nas-ip 192.168.0.1  

# 方法二(方案级设置):在RADIUS方案视图下配置,仅对该方案生效
[H3C] radius scheme company-radius

[H3C-radius-company-radius] nas-ip 192.168.0.1
# 也可以指定源接口,设备会自动使用该接口的主IP地址
[H3C-radius-company-radius] nas-ip interface LoopBack0

[H3C-radius-company-radius] quit
[H3C] save

3. HWTACACS服务器配置

采用客户端/服务器模式实现 NAS 与 HWTACACS 服务器之间的通信。
HWTACACS 协议使用TCP网络传输,主要用于 PPP(Point-to-Point Protocol,点对点协议)和 VPDN(Virtual PrivateDial-up Network,虚拟专用拨号网络)接入用户及终端用户的认证、授权和计费。

系统最多支持配置 16 个 HWTACACS 方案。一个 HWTACACS 方案可以同时被多个 ISP 域引用。

# 创建HWTACACS方案
[H3C] hwtacacs scheme corp-tacacs
# 配置认证服务器
[H3C-hwtacacs-corp-tacacs] primary authentication 10.2.2.100 key cipher MyTacacsKey

# 配置授权服务器
[H3C-hwtacacs-corp-tacacs] primary authorization 10.2.2.100

# 配置计费服务器
[H3C-hwtacacs-corp-tacacs] primary accounting 10.2.2.100

4. ISP域配置

NAS 对用户的管理是基于 ISP(Internet Service Provider,互联网服务提供商)域的,每个用户都属于一个 ISP 域,一个 ISP 域对应着设备上一套实现 AAA 的配置策略(无/本地/远端)。用户所属的 ISP 域是由用户登录时提供的用户名决定。

graph TD A[用户输入用户名userid @ domain-name或者userid] --> B[用户名是否携带 @domain-name] B -- Yes --> C[使用domain-name域认证用户] B -- No --> D[使用系统缺省域认证用户]

用户类型

  • lan-access 用户:LAN 接入用户,如 802.1X 认证、MAC 地址认证用户。
  • login 用户:登录设备用户,如 SSH、Telnet、FTP、终端接入用户(即从 Console 口登录的用户)。
  • Portal 接入用户。
  • ONU(Optical Network Unit,光网络单元)用户:专指接入 OLT(Optial Line Terminal,光线路终端)的 ONU 设备。(此种用户不支持授权和计费)

ISP 域类型

image

配置认证方法

  • FIPS 模式下不支持 none 认证方法。
  • 采用本地认证方法为主认证,且配置了备选认证方法时,仅当 “AAA 处理过程异常”“用户与设备断开连接”“没有本地用户配置的情况”“用户本地认证失败后”才会尝试使用备选方法进行认证,其它情况下直接认为认证失败。
# 创建ISP域
[H3C] domain corp.com

/***(场景:普通员工网络接入LDAP方案corp-ldap;网络管理员登录RADIUS方案admin-radius)***/

# 配置缺省认证方法:先尝试LDAP,若无反应用本地认证
[H3C-isp-corp.com] authentication default ldap-scheme corp-ldap local
# lan-access用户(例如普通员工)配置认证方法
[H3C-isp-corp.com] authentication lan-access ldap-scheme corp-ldap local
# login用户(如网络管理员)配置认证方法:默认RADIUS,故障用本地
[H3C-isp-corp.com] authentication login radius-scheme admin-radius local
# Portal用户(如访客无线认证)配置认证方法
[H3C-isp-corp.com] authentication portal ldap-scheme corp-ldap local
# 配置用户角色切换认证方法(例如从network-operator切换到network-admin):必须用RADIUS
[H3C-isp-corp.com] authentication super radius-scheme admin-radius

配置授权方法

  • 目前设备暂不支持使用 LDAP 进行授权。FIPS 模式下不支持 none 授权方法。
  • 在一个 ISP 域中,RADIUS 授权生效需要 RADIUS 授权方法和认证方法引用相同的 RADIUS 方案。若 RADIUS 授权未生效失败,则用户认证会失败。
  • 采用本地授权方法为主授权,且配置了备选授权方法时,仅当“AAA 处理过程异常”“用户与设备断开连接”“没有本地用户配置的情况”“用户本地认证失败后”才会尝试使用备选方法进行授权,其它情况下直接认为授权失败。
/***(场景:网络管理员授权为HWTACACS方案admin-tacacs;普通用户授权为RADIUS方案user-radius)***/
[H3C] domain corp.com

# 配置缺省授权方法:先试RADIUS,失败使用本地
[H3C-isp-corp.com] authorization default radius-scheme user-radius local
# 配置命令行授权方法(HWTACACS特色功能)
[H3C-isp-corp.com] authorization command hwtacacs-scheme admin-tacacs
# lan-access用户配置授权方法:RADIUS下发
[H3C-isp-corp.com] authorization lan-access radius-scheme user-radius
# login用户配置授权方法:管理员HWTACACS,普通维护人员RADIUS备用
[H3C-isp-corp.com] authorization login hwtacacs-scheme admin-tacacs radius-scheme user-radius
# Portal用户配置授权方法:RADIUS授权,失败允许访问(none)
[H3C-isp-corp.com] authorization portal radius-scheme user-radius none

配置计费方法

  • 不支持对 FTP 类型 login 用户进行计费。
  • 本地计费仅用于配合本地用户视图下的 access-limit 命令来实现对本地用户连接数的限制功能。
  • FIPS 模式下不支持 none 计费方法。
  • 采用本地计费方法为主计费,且配置了备选计费方法时,仅当“AAA 处理过程异常”“用户与设备断开连接”“没有本地用户配置的情况”“用户本地认证失败后”才会尝试使用备选方法进行计费,其它情况直接认为计费失败。
/***(场景:详细计费的RADIUS方案acct-radius;命令行审计的HWTACACS方案acct-tacacs)***/
[H3C] domain corp.com

# 配置缺省计费方法:主用RADIUS备用HWTACACS,最后本地记录
[H3C-isp-corp.com] accounting default radius-scheme acct-radius hwtacacs-scheme acct-tacacs local
# 配置命令行计费方法
[H3C-isp-corp.com] accounting command hwtacacs-scheme acct-tacacs
# lan-access用户配置计费方法:同时向两台RADIUS服务器发送计费信息
[H3C-isp-corp.com] accounting lan-access broadcast radius-scheme acct-radius1 radius-scheme acct-radius2
# login用户配置计费方法:使用HWTACACS记录管理员登录操作
[H3C-isp-corp.com] accounting login hwtacacs-scheme acct-tacacs
# Portal用户配置计费方法:使用RADIUS计费,失败后允许用户继续在线(none)
[H3C-isp-corp.com] accounting portal radius-scheme acct-radius none

# 配置用户计费开始失败策略
# accounting start-fail { offline | online }
# online:失败仍允许用户上网
# offline:失败则拒绝用户接入
[H3C-isp-corp.com] accounting start-fail offline/online

# 配置用户计费更新失败策略
# accounting update-fail { [ max-times *times* ] offline | online }
# max-times 3:允许连续3次计费更新失败,第4次失败则强制下线
[H3C-isp-corp.com] accounting update-fail max-times 3 offline

# 用户计费配额耗尽策略
# accounting quota-out { offline | online }
[H3C-isp-corp.com] accounting quota-out online

# 配置双协议栈用户的计费方式
# accounting dual-stack { merge | separate }
# separate:IPv4和IPv6分别计费
# merge:统一计费(默认)
[H3C-isp-corp.com] accounting dual-stack separate

# 记得退出并保存配置
[H3C-isp-corp.com] quit
[H3C] save

5. 分权分域配置示例

网络管理员和操作员分权

# 创建HWTACACS方案
[H3C] hwtacacs scheme admin-scheme
[H3C-hwtacacs-admin-scheme] primary authentication 192.168.1.10 49
[H3C-hwtacacs-admin-scheme] primary authorization 192.168.1.10 49
[H3C-hwtacacs-admin-scheme] key authentication simple Admin123
[H3C-hwtacacs-admin-scheme] key authorization simple Admin123
[H3C-hwtacacs-admin-scheme] user-name-format without-domain

# 创建ISP域
[H3C]domain admin-domain
[H3C-isp-admin-domain] authentication login hwtacacs-scheme admin-scheme
[H3C-isp-admin-domain] authorization login hwtacacs-scheme admin-scheme
[H3C-isp-admin-domain] accounting login hwtacacs-scheme admin-scheme

# 配置用户角色(在TACACS+服务器上配置)
# 网络管理员:network-admin角色
# 网络操作员:network-operator角色

不同部门用户分域

# 技术部RADIUS方案
[H3C] radius scheme tech-scheme
[H3C-radius-tech-scheme] primary authentication 192.168.1.20 1812
[H3C-radius-tech-scheme] key authentication simple Tech123
[H3C-radius-tech-scheme] user-name-format with-domain

# 市场部RADIUS方案
[H3C] radius scheme market-scheme
[H3C-radius-market-scheme] primary authentication 192.168.1.30 1812
[H3C-radius-market-scheme] key authentication simple Market123
[H3C-radius-market-scheme] user-name-format with-domain

# 技术部域
[H3C] domain tech.com
[H3C-isp-tech.com] authentication lan-access radius-scheme tech-scheme
[H3C-isp-tech.com] authorization lan-access radius-scheme tech-scheme

# 市场部域
[H3C] domain market.com
[H3C-isp-market.com] authentication lan-access radius-scheme market-scheme
[H3C-isp-market.com] authorization lan-access radius-scheme market-scheme

6. 完整配置示例

SSH用户TACACS+认证授权

image

在HWTACACS服务器上设置与Switch交互报文时的共享密钥为expert;添加SSH用户名及密码。

/*配置 Switch*/
# 配置各接口的 IP 地址,具体配置步骤略。
# 创建 HWTACACS 方案 hwtac。
<Switch> system-view
[Switch] hwtacacs scheme hwtac
# 配置主认证服务器的 IP 地址为 10.1.1.1,认证端口号为 49。
[Switch-hwtacacs-hwtac] primary authentication 10.1.1.1 49
# 配置主授权服务器的 IP 地址为 10.1.1.1,授权端口号为 49。
[Switch-hwtacacs-hwtac] primary authorization 10.1.1.1 49
# 配置主计费服务器的 IP 地址为 10.1.1.1,计费端口号为 49。
[Switch-hwtacacs-hwtac] primary accounting 10.1.1.1 49
# 配置与认证、授权、计费服务器交互报文时的共享密钥均为明文 expert。
[Switch-hwtacacs-hwtac] key authentication simple expert
[Switch-hwtacacs-hwtac] key authorization simple expert
[Switch-hwtacacs-hwtac] key accounting simple expert
# 配置向 HWTACACS 服务器发送的用户名不携带域名。
[Switch-hwtacacs-hwtac] user-name-format without-domain
[Switch-hwtacacs-hwtac] quit

# 创建 ISP 域 bbb,为 login 用户配置 AAA 认证方法为 HWTACACS 认证/授权/计费。
[Switch] domain bbb
[Switch-isp-bbb] authentication login hwtacacs-scheme hwtac
[Switch-isp-bbb] authorization login hwtacacs-scheme hwtac
[Switch-isp-bbb] accounting login hwtacacs-scheme hwtac
[Switch-isp-bbb] quit

# 创建本地 RSA 及 DSA 密钥对。
[Switch] public-key local create rsa
[Switch] public-key local create dsa

# 使能 SSH 服务器功能。
[Switch] ssh server enable
# 设置 SSH 用户登录用户线的认证方式为 AAA 认证。
[Switch] line vty 0 63
[Switch-line-vty0-63] authentication-mode scheme
[Switch-line-vty0-63] quit
# 使能缺省用户角色授权功能,使得认证通过后的 SSH 用户具有缺省的用户角色 network-operator。
[Switch] role default-role enable
posted @ 2025-12-04 10:51  qiqimk  阅读(37)  评论(0)    收藏  举报