二、Radius认证技术及配置

1、Radius协议介绍

  • Remote Authentication Dial In User Service ,远程用户拨号认证系统,是目前应用最广泛的 AAA 协议。
  • 一种 C / S 结构的协议,它的客户端最初就是 NAS ( Net Access Server ) 服务器,任何运行 RADIUS 客户端软件的计算机都可以成为 RADIUS 的客户端。 RADIUS 协议认证机制灵活,可以采用 PAP、CHAP 或者 Unix 登录认证等多种方式。
  • 深信服 AC / SG和VPN 的外部 RADIUS 认证过程,AC / SG 和 VPN 是作为 NAS 服务器,也就是客户这角色,同时,从11.8开始 AC / SG 也可作为服务器角色,结合无线控制器做免认证和准入模式下结合交换机做802.1x认证收取radius计费报文实现用户上线。

2、RADIUS报文格式

radius认证 AD认证 LDAP认证 radius认证方式_网络安全

  • Code:1个字节,用于区分RADIUS包的类型。
  • 常用类型有:
  • 接入请求(Access-Request),Code=1;
  • 接入允许(Access-Accept),Code =2;
  • 接入拒绝(Access-Reject),Code=3;
  • 计费请求(Accounting-Request),Code=4等。
  • Identifier:1个字节,用于请求和应答包的匹配。
  • Length:2个字节,表示RADIUS数据区(包括Code、Identifier、Length、Authenticator、Attributes)的长度,单位是字节,最小为20,最大为4096。

radius认证 AD认证 LDAP认证 radius认证方式_网络安全_02

  • Authenticator:16个字节,用于验证服务器端的应答,另外还用于用户口令的加密。RADIUS服务器和NAS的共享密钥(Share Secret)与请求认证码(Request Authenticator)和应答认证码(Response Authenticator),共同支持发、收报文的完整性和认证。另外,用户密码不能再NAS和Radius服务器之间用明文传输,而一般使用共享密钥和认证码通过MD5加密算法进行加密隐藏。
  • Attributes:不定长度,最小可为0个字节,描述RADIUS协议的属性,如用户名、口令、IP地址等信息都是存放在本数据段。

 3、RADIUS认证流程

        (1)用户输入用户名和口令

        (2)radius客户端(NAS)根据获取的用户名和口令,想radius服务器发送认证请求包(Access-Request)

        (3)radius服务器将该用户信息与users数据库信息进行对比分析,如果认证成功,则将用户的权限信息以认证响应包(Access-Accept)发送给radius客户端;如果认证失败,则返回access-reject响应包。

        (4)RADIUS认证常用端口:UDP 1812(认证)、UDP 1813(计费)

RADIUS认证交互过程:

radius认证 AD认证 LDAP认证 radius认证方式_信息安全_03

CLASS分组交互过程:

radius认证 AD认证 LDAP认证 radius认证方式_信息安全_04

         当AC/SG或VPN使用外部RADIUS认证时,AC/SG和VPN充当RADIUS客户端角色。

        使用外部认证时,AC/SG或VPN和RADIUS服务器进行交互,认证协议支持PAP、CHAP和EAP-MD5。

4、外部RADIUS认证流程-PAP认证协议

        (1)远端(Radius)验证——PAP方式:密码验证协议PAP是认证协议的一种。

        (2)具体过程:

  • 当用户把用户名密码传给 RADIUS 客户端(如 AC / SG 设备);
  • 然后,RADIUS 客户端(如: AC / SG 设备)会把这个用户名密码发给 RADIUS 服务器,RADIUS 服务器通过用户名去数据库查询出密码。 
  • 最后 RADIUS 服务器进行校验,如果一致就通过认证,如果不一致就验证失败。                    

radius认证 AD认证 LDAP认证 radius认证方式_安全_05

5、 外部RADIUS认证流程-CHAP认证协议

        (1)远端(Radius)验证——CHAP方式:CHAP是查询握手验证协议的简称,使我们使用的另一种认证协议。

        (2)具体过程:

  • 用户把用户名密码传给我们设备之后,我们的设备首先会生成一个16字节的Chap—challenge,同时生存一个1—256的随机数。
  • 然后我们的设备会对Chap—challenge、随机数、 password 做一个MD5,并且将Chap—chalenge随机数,用户名以及MD5的结果一起传给 RADIUS 服务器。
  • RADIUS服务器通过用户名去数据库查询出密码。最后 RADIUS 服务器会用Chap—chalenge、随机数以及 password 算一个MD5,与从我们设备传过来的进行比较,如果一致则验证通过,否则验证失败。

radius认证 AD认证 LDAP认证 radius认证方式_服务器_06

 6、Radius服务端角色

        (1)本地Portal认证场景:

                从11.8开始AC/SG也可作为服务器角色,作为Radius服务器,对接不同的无线控制器,通过Radius计费端口实现本地Portal认证需求,实现MAC免认证功能。

        (2)802.1x认证场景:

                准入模式下结合交换机做802.1x认证,通过收取Radius计费报文实现用户上线。