一、AAA概述
这里的网络安全主要是指访问控制,包括:
l 哪些用户可以访问网络服务器;
l 具有访问权的用户可以得到哪些服务;
l 如何对正在使用网络资源的用户进行计费;
针对以上问题,AAA必须提供下列服务:
l 认证:验证用户是否可获得访问权。
l 授权:授权用户可使用哪些服务。
l 计费:记录用户使用网络资源的情况。
AAA一般采用客户/服务器结构:客户端运行于被管理的资源侧,服务器上集中存放用户信息。因此,AAA框架具有良好的可扩展性,并且容易实现用户信息的集中管理。
RADIUS协议概述
如前所述,AAA是一种管理框架,因此,它可以用多种协议来实现。在实践中,人们最常使用RADIUS协议来实现AAA。
当RADIUS系统启动后,如果用户想要通过与NAS(PSTN环境下的拨号接入服务器或以太网环境下带接入功能的以太网交换机)建立连接从而获得访问其 它网络的权利或取得使用某些网络资源的权利时,NAS,也就是RADIUS客户端将把用户的认证、授权和计费请求传递给RADIUS服务器。RADIUS 服务器上有一个用户数据库,其中包含了所有的用户认证和网络服务访问信息。RADIUS服务器将在接收到NAS传来的用户请求后,通过对用户数据库的查 找、更新,完成相应的认证、授权和计费工作,并把用户所需的配置信息和计费统计数据返回给NAS——在这里,NAS起到了控制接入用户及对应连接的作用, 而RADIUS协议则规定了NAS与RADIUS服务器之间如何传递用户配置信息和计费信息。
NAS和RADIUS之间信息的交互是通过将信息承载在UDP报文中来完成的。在这个过程中,交互双方将使用密钥对报文进行加密,以保证用户的配置信息(如密码)被加密后才在网络上传递,从而避免它们被侦听、窃取。
AAA和RADIUS协议典型配置举例
1. 组网需求
l 要求在端口GigabitEthernet3/0/1上对接入用户进行认证,以控制其访问Internet;接入控制方式要求是基于MAC地址的接入控制。
l 所有接入用户都属于一个缺省的域:aabbcc.net,该域最多可容纳30个用户;认证时,先进行RADIUS认证,如果RADIUS服务器没有响应再转而进行本地认证;计费时,如果RADIUS计费失败则切断用户连接使其下线。
l 由两台RADIUS服务器组成的服务器组与Device相连,其IP地址分别为10.1.1.1和10.1.1.2,使用前者作为主认证/计费服务器,使用后者作为备份认证/计费服务器。
l 设置系统与认证RADIUS服务器交互报文时的共享密钥为name、与计费RADIUS服务器交互报文时的共享密钥为money。
l 设置系统在向RADIUS服务器发送报文后5秒种内如果没有得到响应就向其重新发送报文,发送报文的次数总共为5次,设置系统每15分钟就向RADIUS服务器发送一次实时计费报文。
l 设置系统从用户名中去除用户域名后再将之传给RADIUS服务器。
l 本地802.1X接入用户的用户名为localuser,密码为localpass,使用明文输入;闲置切断功能处于打开状态,正常连接时用户空闲时间超过20分钟,则切断其连接。
2. 组网图
图1-9 802.1X认证典型组网图
# 配置各接口的IP地址(略)。
# 添加本地接入用户,启动闲置切断功能并设置相关参数。
system-view
[Device] local-user localuser
[Device-luser-localuser] service-type lan-access
[Device-luser-localuser] password simple localpass
[Device-luser-localuser] authorization-attribute idle-cut 20
[Device-luser-localuser] quit
# 创建RADIUS方案radius1并进入其视图。
[Device] radius scheme radius1
# 设置主认证/计费RADIUS服务器的IP地址。
[Device-radius-radius1] primary authentication 10.1.1.1
[Device-radius-radius1] primary accounting 10.1.1.1
# 设置备份认证/计费RADIUS服务器的IP地址。
[Device-radius-radius1] secondary authentication 10.1.1.2
[Device-radius-radius1] secondary accounting 10.1.1.2
# 设置系统与认证RADIUS服务器交互报文时的共享密钥。
[Device-radius-radius1] key authentication name
# 设置系统与计费RADIUS服务器交互报文时的共享密钥。
[Device-radius-radius1] key accounting money
# 设置系统向RADIUS服务器重发报文的时间间隔与次数。
[Device-radius-radius1] timer response-timeout 5
[Device-radius-radius1] retry 5
# 设置系统向RADIUS服务器发送实时计费报文的时间间隔。
[Device-radius-radius1] timer realtime-accounting 15
# 指示系统从用户名中去除用户域名后再将之传给RADIUS服务器。
[Device-radius-radius1] user-name-format without-domain
[Device-radius-radius1] quit
# 创建域aabbcc.net并进入其视图。
[Device] domain aabbcc.net
# 指定radius1为该域用户的RADIUS方案,并采用local作为备选方案。
[Device-isp-aabbcc.net] authentication default radius-scheme radius1 local
[Device-isp-aabbcc.net] authorization default radius-scheme radius1 local
[Device-isp-aabbcc.net] accounting default radius-scheme radius1 local
# 设置该域最多可容纳30个用户。
[Device-isp-aabbcc.net] access-limit enable 30
# 启动闲置切断功能并设置相关参数。
[Device-isp-aabbcc.net] idle-cut enable 20
[Device-isp-aabbcc.net] quit
# 配置域aabbcc.net为缺省用户域。
[Device] domain default enable aabbcc.net
[Device] dot1x
# 开启指定端口GigabitEthernet3/0/1的802.1X特性。
[Device] interface GigabitEthernet 3/0/1
[Device-GigabitEthernet3/0/1] dot1x
[Device-GigabitEthernet3/0/1] quit
# 设置接入控制方式(该命令可以不配置,因为端口的接入控制在缺省情况下就是基于MAC地址的)。
[Device] dot1x port-method macbased interface GigabitEthernet 3/0/1
使用命令display dot1x interface GigabitEthernet 3/0/1可以查看802.1X的配置情况。当802.1X用户使用username@aabbcc.net形式的用户名成功通过RADIUS认证上线后,可使用命令display connetion查看到上线用户的连接情况。若RADIUS认证失败,则进行本地认证。