AAA服务器实现用户telnet认证


  AAA简介


AAA是Authentication,Authorization and Accounting(认证、授权和计费)的简称,它提供了一个对认证、授权和计费这三种安全功能进行配置的一致性框架,实际上是对网络安全的一种管理。
这里的网络安全主要是指访问控制,包括:
      哪些用户可以访问网络服务器。
      具有访问权的用户可以得到哪些服务。
      如何对正在使用网络资源的用户进行计费。
针对以上问题,AAA必须提供认证功能、授权功能和计费功能。
1. 认证功能
AAA支持以下认证方式:
      不认证:对用户非常信任,不对其进行合法检查。一般情况下不采用这种方式。
      本地认证:将用户信息(包括本地用户的用户名、密码和各种属性)配置在设备上。本地认证的优点是速度快,可以降低运营成本;缺点是存储信息量受设备硬件条件限制。
      远端认证:支持通过RADIUS协议或HWTACACS协议进行远端认证,设备(如Quidway系列交换机)作为客户端,与RADIUS服务器或TACACS服务器通信。对于RADIUS协议,可以采用标准或扩展的RADIUS协议。
2. 授权功能
AAA支持以下授权方式:
      直接授权:对用户非常信任,直接授权通过。
      本地授权:根据设备上为本地用户帐号配置的相关属性进行授权。
      RADIUS认证成功后授权:RADIUS协议的认证和授权是绑定在一起的,不能单独使用RADIUS进行授权。
      HWTACACS授权:由TACACS服务器对用户进行授权。
3. 计费功能
AAA支持以下计费方式:
      不计费:不对用户计费。
      远端计费:支持通过RADIUS服务器或TACACS服务器进行远端计费。
AAA一般采用客户端/服务器结构:客户端运行于被管理的资源侧,服务器上集中存放用户信息。因此,AAA框架具有良好的可扩展性,并且容易实现用户信息的集中管理。

 

ISP域简介


ISP域即ISP用户群,一个ISP域是由属于同一个ISP的用户构成的用户群。
“userid@isp-name”形式的用户名中,“@”后的“isp-name”即为ISP域的域名。接入设备将“userid”作为用于身份认证的用户名,将“isp-name”作为域名。
在多ISP的应用环境中,同一个接入设备接入的有可能是不同ISP的用户。由于各ISP用户的用户属性(例如用户名及密码构成、服务类型/权限等)有可能各不相同,因此有必要通过设置ISP域的方法把它们区别开。
在ISP域视图下,可以为每个ISP域配置包括使用的AAA策略(使用的RADIUS方案等)在内的一整套单独的ISP域属性。


RADIUS协议简介


AAA是一种管理框架,因此,它可以用多种协议来实现。在实践中,人们最常使用RADIUS协议来实现AAA。
1. 什么是RADIUS
RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)是一种分布式的、客户端/服务器结构的信息交互协议,能保护网络不受未授权访问的干扰,常被应用在既要求较高安全性,又要求维持远程用户访问的各种网络环境中。
RADIUS服务包括三个组成部分:
      协议:RFC 2865和RFC 2866基于UDP/IP层定义了RADIUS帧格式及其消息传输机制,并定义了1812作为认证端口,1813作为计费端口
      服务器:RADIUS服务器运行在中心计算机或工作站上,包含了相关的用户认证和网络服务访问信息。
      客户端:位于拨号访问服务器设备侧,可以遍布整个网络。
RADIUS基于客户端/服务器模型。交换机作为RADIUS客户端,负责传输用户信息到指定的RADIUS服务器,然后根据从服务器返回的信息对用户进行相应处理(如接入/挂断用户)。RADIUS服务器负责接收用户连接请求,认证用户,然后给交换机返回所有需要的信息。
RADIUS服务器通常要维护三个数据库,如图1-1所示。
      第一个数据库"Users"用于存储用户信息(如用户名、口令以及使用的协议、IP地址等配置)。
      第二个数据库"Clients"用于存储RADIUS客户端的信息(如共享密钥)。
      第三个数据库"Dictionary"存储的信息用于解释RADIUS协议中的属性和属性值的含义。


另外,RADIUS服务器还能够作为其他AAA服务器的客户端进行代理认证或计费。
2. RADIUS的基本消息交互流程
RADIUS客户端(交换机)和RADIUS服务器之间通过共享密钥来认证交互的消息,增强了安全性。RADIUS协议合并了认证和授权过程,即响应报文中携带了授权信息。  
用户、交换机、RADIUS服务器之间的交互流程

 基本交互步骤如下:
(1) 用户输入用户名和口令。
(2) RADIUS客户端根据获取的用户名和口令,向RADIUS服务器发送认证请求包(Access-Request)。
(3) RADIUS服务器将该用户信息与Users数据库信息进行对比分析,如果认证成功,则将用户的权限信息以认证响应包(Access-Accept)发送给RADIUS客户端;如果认证失败,则返回Access-Reject响应包。
(4) RADIUS客户端根据接收到的认证结果接入/拒绝用户。如果可以接入用户,则RADIUS客户端向RADIUS服务器发送计费开始请求包(Accounting-Request),Status-Type取值为start。
(5) RADIUS服务器返回计费开始响应包(Accounting-Response)。
(6) 用户开始访问资源。
(7) RADIUS客户端向RADIUS服务器发送计费停止请求包(Accounting-Request),Status-Type取值为stop。
(8) RADIUS服务器返回计费结束响应包(Accounting-Response)。
(9) 用户访问资源结束。

RADIUS协议采用UDP报文来承载数据,通过定时器管理机制、重传机制、备用服务器机制,确保RADIUS服务器和客户端之间交互消息正确收发。RADIUS报文结构

(1) Code域(1字节)决定RADIUS报文的类型,   

(2) Identifier域(1字节)用于匹配请求包和响应包,随着Attribute域改变、接收到有效响应包而不断变化,而在重传时保持不变化。
(3) Length域(2字节)指明整个包的长度,内容包括Code,Identifier,Length,Authenticator和Attribute。超过长度域的字节被视为填充,在接收时应被忽略;如果包比长度域所指示的短时,则应被丢弃。
(4) Authenticator域(16字节)用于验证RADIUS服务器传输回来的报文,并且还用于密码隐藏算法中,分为Request Authenticator和Response Authenticator。
(5) Attribute域携带专门的认证、授权和计费信息,提供请求和响应报文的配置细节,该域采用(Type、Length、Value)三元组的形式提供。
     类型(Type)域1个字节,取值为1~255,用于指明属性的类型。表1-2列出了RADIUS授权、认证常用的属性。
     长度(Length)域1个字节,指明此属性的长度,单位为字节,包括类型字段、长度字段和属性值字段。
     属性值(Value)域包括该属性的信息,其格式和内容由类型域和长度域决定,最大长度为253字节。                      

 

RADIUS协议具有良好的可扩展性,协议中定义的26号属性(Vendor-Specific)用于设备厂商对RADIUS进行扩展,以实现标准RADIUS没有定义的功能。
如图1-4所示的报文结构,Vendor-ID域占4字节,表示厂商代号,最高字节为0,其余3字节的编码见RFC1700。厂商可以封装多个自己定义的“(Type、Length、Value)”子属性,从而在应用中得以扩展。   

 配置案例

一、实验描述

 
通过AAA服务来实现用户telnet到交换机的认证

二、环境搭建
1、AAA服务器
ACS server –H3C client 实现AAA认证,server部分的配置
2、ACS server在配置时的环境:
安装jre,ACS需要JVM的支持,同时要调IE浏览器的安全级别,设为中低以下,否则安装了通过http://server ip:2002出现空白页,无法进入配置。
Telnet管理用户到ACS Radius Server认证由ACS给telnet用户下发权限,为了使对应用户获取相应权限,需要导入H3C的用户级别的私有Radius属性到ACS中,保证用户权限正常下发。
3、配置步骤
安装JRE

安装ACS

 
调节IE


 

在ACS中导入华为私有属性
编辑配置文件 h3c.ini
[User Defined Vendor]
Name=Huawei
IETF Code=2011
VSA 29=hw_Exec_Privilege
[hw_Exec_Privilege]
Type=INTEGER
Profile=IN OUT
Enums=hw_Exec_Privilege-Values
[hw_Exec_Privilege-Values]
0=Access
1=Monitor
2=Manager
3=Administrator
[Encryption-Type]
1=1
2=2
3=3
[Frp_Directory]
Type=STRING
Profile=OUT
在cmd中导入配置文件

通过IE进入界面
 

二、实验配置
 1、配置ACS 

 
Interface Configuaration
 

 

 Group Setup中编辑用户组

 


在user setup中添加用户账户

查看用户

 注:其中Group1组的privilege为access ,RADIUSHuawei组的privilege为administrator

2、配置交换机
创建radius方案
radius scheme h3c
配置radius 属性
server-type huawei                                   设置支持何种类型的RADIUS服务器
primary authentication 192.168.100.100  设置认证服务的的IP地址
accounting optional                                  设置用户计费模式
key authentication 123456                       设置认证共享密钥(要跟服务器上的相同)
user-name-format without-domain            设置发送给RADIUS服务用户名的格式
创建ISP域
domain hu
配置ISP域
scheme radius-scheme h3c   配置域使用的AAA方案
radius-scheme h3c              设置域使用的RADIUS方案
access-limit enable 10         指定可容纳最大用户数
accounting optional             设置用户计费模式
设置终端用户登录验证模式
user-interface vty 0 4
authentication-mode scheme
查看配置如下
<sw5>dis cu
#
 sysname sw5
#
radius scheme system
 server-type huawei
 primary authentication 127.0.0.1 1645
 primary accounting 127.0.0.1 1646
 user-name-format without-domain
radius scheme h3c
 server-type huawei
 primary authentication 192.168.100.100 1812
 accounting optional
 key authentication 123456
 user-name-format without-domain

domain hu
 radius-scheme h3c
 access-limit enable 10
 state active
 vlan-assignment-mode integer
 idle-cut disable
 self-service-url disable
 messenger time disable
                                         
domain system                            
 radius-scheme system
 access-limit disable
 state active
 vlan-assignment-mode integer
 idle-cut disable
 self-service-url disable
 messenger time disable

 domain default enable system
#
 local-server nas-ip 127.0.0.1 key huawei

local-user user1
 password simple 123
 service-type telnet level 3
#
 queue-scheduler wrr 1 2 4 8
#
 web set-package force flash:/wnm2.2.2-0001.zip
#
vlan 1
#
interface Vlan-interface1                
 ip address 192.168.100.25 255.255.255.0
#
interface Aux0/0
#
interface Ethernet0/1
#
interface Ethernet0/2
#
interface Ethernet0/3
#
interface Ethernet0/4
#
interface Ethernet0/5
#
interface Ethernet0/6
#
interface Ethernet0/7
#
interface Ethernet0/8
#
interface Ethernet0/9
#                                        
interface Ethernet0/10
#
interface Ethernet0/11
#
interface Ethernet0/12
#
interface Ethernet0/13
#
interface Ethernet0/14
#
interface Ethernet0/15
#
interface Ethernet0/16
#
interface Ethernet0/17
#
interface Ethernet0/18
#
interface Ethernet0/19
#
interface Ethernet0/20
#                                        
interface Ethernet0/21
#
interface Ethernet0/22
#
interface Ethernet0/23
#
interface Ethernet0/24
#
interface Ethernet0/25
#
interface NULL0
#
user-interface aux 0
user-interface vty 0 4
 authentication-mode scheme
#
return

四、实验结果

test的级别为access级别,test1级别为administror级别

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章