下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

什么是RADIUS服务器?

作者:课课家教育     来源: http://www.kokojia.com点击数:4247发布时间: 2018-12-17 09:01:38

标签: C#编程C#程序员C#开发C#语言C#爱好者

软考,您想通过吗?一次通过才是硬道理

  服务器我们经常都会讲到,但是这个神秘的RADIUS服务器大家知道是什么吗?它是怎么工作的呢?主要的特征有哪些呢?接下来就跟着小编一起来揭开RADIUS服务器的这层什么的面纱吧。

什么是RADIUS服务器?_RADIUS_服务器_组网技术_课课家 

  RADIUS是一种用于在需要认证其链接的网络访问服务器(NAS)和共享认证服务器之间进行认证、授权和记帐信息的文档协议。过去RADIUS更多地用在远程拨号接入这样的领域,但是在未来的企业网络中,RADIUS将更多被使用在以太网接入、无线局域网接入等领域。选择好的RADIUS将变得更重要。

  RADIUS主要特征

  1.客户机/服务器(C/S)模式

  一个网络接入服务器(以下简称NAS)作为RADIUS的客户机,它负责将用户信息传入C#编程RADIUS服务器,然后按照RADIUS服务器的不同的响应来采取相应动作。另外,RADIUS服务器还可以充当别的RADIUS服务器或者其他种类认证服务器的C#程序员代理客户。

  2.网络安全(Network Security)

  NAS和RADIUS服务器之间的事务信息交流由两者共享的密钥进行加密,并且这些信息不会在两者之间泄漏出去。

  3.灵活认证机制(Flexible Authentication Mechanisms)

  RADIUS服务器支持多种认证机制。它可以验证来自PPP、PAP、CHAP和UNIX系统登录的用户信息的有效性。

  4.协议可扩展性(Extensible Protocol)

  所有的认证协议都是基于“属性-长度-属性值”3元素而组成的。所以协议是扩展起来非常方便。在目前很多比较高版本的Linux中,它们都把 RADIUS的安装程序包含在系统源码中。这样使得我们可以很容易地通过免费的Linux系统学习RADIUS授权、认证的原理和应用。

  RADIUS工作原理

  RADIUS原先的目的是为拨号用户进行认证和计费。后来经过多次改进,形成了一项通用的C#开发认证计费协议。

  RADIUS是一种C/S结构的协议,它的客户端最初就是NAS服务器,现在任何运行RADIUS客户端软件的计算机都可以成为RADIUS的客户端。RADIUS服务器不仅支持Microsoft Active Directory和RSA Security SecureID,而且还可以连接多种客户机,即NAS(网络接入服务器)设备,如拨号服务器、VPN集中器、WLAN接入点和防火墙。

  RADIUS的基本工作原理

  用户接入NAS,NAS向RADIUS服务器使用Access-Require数据包提交用户信息,包括用户名、密码等相关信息,其中用户密码是经过MD5加密的,双方使用共享密钥,这个密钥不经过网络传播;RADIUS服务器对用户名和密码的合法性进行检验,必要时可以提出一个Challenge,要求进一步对用户认证,也可以对NAS进行类似的认证;如果合法,给NAS返回Access-Accept数据包,允许用户进行下一步工作,否则返回Access-Reject数据包,拒绝用户访问;如果允许访问,NAS向RADIUS服务器提出计费请求Account-Require,RADIUS服务器响应Account-Accept,对用户的计费开始,同时用户可以进行自己的相关操作。

  RADIUS还支持代理和漫游功能。简单地说,代理就是一台服务器,可以作为其他RADIUS服务器的代理,负责转发RADIUS认证和计费数据包。所谓漫游功能,就是代理的一个具体实现,这样可以让用户通过本来和其无关的RADIUS服务器进行认证。

  RADIUS服务器和NAS服务器通过UDP协议进行通信,RADIUS服务器的1812端口负责认证,1813端口负责计费工作。采用C#语言UDP的基本考虑是因为NAS和RADIUS服务器大多在同一个局域网中,使用UDP更加快捷方便。

  RADIUS协议还规定了重传机制。如果NAS向某个RADIUS服务器提交请求没有收到返回信息,那么可以要求备份RADIUS服务器重传。由于有多个备份RADIUS服务器,因此NAS进行重传的时候,可以采用轮询的方法。如果备份RADIUS服务器的密钥和以前RADIUS服务器的密钥不同,则需要重新进行认证。

  如何保障RADIUS服务器的安全?

  RADIUS服务器控制着对网络的访问,是WLAN部署整个运作的关键,而且还要提供AP(访问点)和无线客户端所使用的密钥来加密特定工作站的数据通信。但是其自身的安全性却往往被忽略,那么如果想要保障RADIUS服务器的安全,我们该采取哪些措施呢?

  首先你要保证用作RADIUS服务器的系统的安全。有各种各样的技术可以实现这一点,不过在最基本的层次上,你应该找一台独立的服务器来完成这个任务。这限制了RADIUS服务器的暴露程度,并保证运行在系统上的其它服务中的弱点不会传向RADIUS服务器。允许登录到服务器的账户也应被限制。

  其次要限制与你的RADIUS服务器通信的内容。为此,RADIUS服务器需要与你的后端加密(例如, 一个 LDAP 或 SQL服务器)和你的每一个网络访问服务器(NAS,即无线网络中的访问点)通信。依据这个想法,防火墙规则应该增强这种需要,并保证其它的系统不能与你的RADIUS服务器通信。

  此外,你会想到保护RADIUS服务器、后端身份验证和加密访问点之间的通信,对于你的RADIUS服务器和后端身份验证的连接来说,这可能意味着SSL或IPsec。例如,如果你正使用一个LDAP目录来存储验证信息,你可以轻易地使用SSL来加密数据通信。同样地,你也应该对访问点和IPsec之间的数据通信进行加密。

  最后的但并非最不重要的一点,是你的RADIUS共享的保密,这被RADIUS服务器和NAS设备用来保证它们之间数据通信的安全。如果你能在服务器和访问点之间使用IPsec,那么这仅仅算是防御系统的额外一层。如果你不能做到这一点,那么,为每一个访问点选择唯一的共享保密并确保使用包含字母、数字和符号的强口令是至关重要的。此外,你还应该使用你的RADIUS服务器和访问点所允许的最大长度的口令。

  使用上面提到的任意一个方法都可以使你的RADIUS服务器安全性更好一些;通过扩展你的无线网络的部署,将其集成Python面向对象起来作为一种分层的方法,它们就会显示出更强大的力量。

  RADIUS服务器的神秘面纱已经揭开了,大家是否也看清了呢?希望在本篇文章的内容能给大家带来帮助,感谢各位的支持。课课家教育有各种类型的IT网络课程提供给大家学习哦,有兴趣的米娜可以来看看哦。

赞(19)
踩(0)
分享到:
推荐查看
华为认证网络工程师 HCIE直播课视频教程