转载 EZcast

(一)Radius认证方案说明:

当交换机设置成需要认证模式,交换机只允许认证协议包通过交换机,其他网络数据包不允许通过,直到认证通过,交换机开放端口。

Radius认证方案是一个由客户端,设备和服务器三个实体组成的解决方案。客户端负责与交换机通信(通过802.1x协议),发送认证请求和数据包;交换机将客户端上送的用户名和密码通过加密转送给服务器;服务器存储认证用户名和密码,并对交换机通过CHAP/EAP协议送过来的用户名和密码进行验证,返回认证结果;如果通过认证,交换机开放端口,网络数据包可以通过交换机。

3.1 Radius认证体系结构

      

802.1X系统为典型的Client/Server结构,如图 1 所示,包括三个实体:客户端(Client)、设备端(Device)和认证服务器(Server)。

 

图 1 802.1X认证体系结构

客户端 是位于局域网段一端的一个实体,由该链路另一端的设备端对其进行认证。客户端一般

为一个用户终端设备,用户可以通过启动客户端软件发起802.1X 认证。客户端必须支持

EAPOL(Extensible Authentication Protocol over LAN,局域网上的可扩展认证协议)。(NCU监控在该体系架构中属于Client的角色,如果监控需要支持Radius认证功能,需要做的工作就是移植或者开发一个802.1X客户端)。

设备端 是位于局域网段一端的另一个实体,对所连接的客户端进行认证。设备端通常为支持

802.1X 协议的网络设备,它为客户端提供接入局域网的端口,该端口可以是物理端口,也可

以是逻辑端口。(设备端一般为交换机,目前华为与思科等厂家的交换机基本上支持Radius认证功能,除少部分较老型号的产品)。

认证服务器 是为设备端提供认证服务的实体。认证服务器用于实现对用户进行认证、授权和计

费,通常为RADIUS(Remote Authentication Dial-In User Service,远程认证拨号用户服务)

服务器。(认证服务器一种是纯软件,部署在虚拟机下,例如FreeRadius等开源软件;一种是硬件加软件成套设备)。

3.2认证客户端

客户端为一个802.1x客户端,通过802.1x协议与交换机交互,客户端主动向交换机发送认证请求,交换机接受到请求后向客户端请求相关的认证协议包。

3.2.1 客户端对802.1x协议支持

802.1X协议是一种基于端口的网络接入控制协议(port based network access control protocol)。“基于端口的网络接入控制”是指在局域网接入设备的端口这一级对所接入的用户设备进行认证和控制。连接在端口上的用户设备如果能通过认证,就可以访问局域网中的资源;如果不能通过认证,则无法访问局域网中的资源。

有协议就有报文,802.1X对应的数据包是EAP(Extensible Authentication Protocol)和EAPOL(Extensible Authentication Protocol over LAN),EAPOL是对EAP的封装(报文可以看出来)使其能够在局域网中以广播包或组播包的形式传输。通过EAP数据包再与远端的RADIUS(用户远程拨号接入服务系统)服务器进行认证,设备端与认证服务器之间交互信息采用的是radius数据包。

图1 EAPOL报文格式

图2 EAP报文格式

当EAPOL数据帧格式Type域为EAP-Packet(认证信息帧)时,Packet Body的内容为EAP数据报文(即图2)。

3.2.2客户端认证过程

802.1X 系统支持EAP 中继方式和EAP 终结方式与远端RADIUS 服务器交互完成认证。以下关于两种认证方式的过程描述,都以客户端主动发起认证为例。

       1. EAP 中继方式

这种方式是 IEEE 802.1X 标准规定的,将EAP(可扩展认证协议)承载在其它高层协议中,如EAPover RADIUS,以便扩展认证协议报文穿越复杂的网络到达认证服务器。一般来说,EAP 中继方式需要RADIUS 服务器支持EAP 属性:EAP-Message 和Message-Authenticator,分别用来封装EAP报文及对携带EAP-Message 的RADIUS 报文进行保护。

下面以EAP-MD5 方式为例介绍基本业务流程,如图 2 所示。

图 2 IEEE 802.1X 认证系统的EAP 中继方式业务流程

认证过程如下:

(1) 当用户有访问网络需求时打开802.1X 客户端程序,输入已经申请、登记过的用户名和密码,

发起连接请求(EAPOL-Start 报文)。此时,客户端程序将发出请求认证的报文给设备端,

开始启动一次认证过程。

(2) 设备端收到请求认证的数据帧后,将发出一个请求帧(EAP-Request/Identity 报文)要求用户

的客户端程序发送输入的用户名。

(3) 客户端程序响应设备端发出的请求,将用户名信息通过数据帧(EAP-Response/Identity 报文)

发送给设备端。设备端将客户端发送的数据帧经过封包处理后(RADIUS Access-Request 报

文)送给认证服务器进行处理。

(4) RADIUS 服务器收到设备端转发的用户名信息后,将该信息与数据库中的用户名表对比,找到

该用户名对应的密码信息,用随机生成的一个加密字对它进行加密处理,同时也将此加密字通

过RADIUS Access-Challenge 报文发送给设备端,由设备端转发给客户端程序。

(5) 客户端程序收到由设备端传来的加密字(EAP-Request/MD5 Challenge 报文)后,用该加密

字对密码部分进行加密处理(此种加密算法通常是不可逆的),生成EAP-Response/MD5

Challenge 报文,并通过设备端传给认证服务器。

(6) RADIUS 服务器将收到的已加密的密码信息(RADIUS Access-Request 报文)和本地经过加

密运算后的密码信息进行对比,如果相同,则认为该用户为合法用户,反馈认证通过的消息

(RADIUS Access-Accept 报文和EAP-Success 报文)。

(7) 设备收到认证通过消息后将端口改为授权状态,允许用户通过端口访问网络。在此期间,设备

端会通过向客户端定期发送握手报文的方法,对用户的在线情况进行监测。缺省情况下,两次

握手请求报文都得不到客户端应答,设备端就会让用户下线,防止用户因为异常原因下线而设

备无法感知。

(8) 客户端也可以发送EAPOL-Logoff 报文给设备端,主动要求下线。设备端把端口状态从授权状

态改变成未授权状态,并向客户端发送EAP-Failure 报文。

2. EAP 终结方式

这种方式将EAP报文在设备端终结并映射到RADIUS报文中,利用标准RADIUS协议完成认证、授权和计费。设备端与RADIUS服务器之间可以采用PAP或者CHAP认证方法。以下以CHAP认证方法为例介绍基本业务流程,如图 3 所示。

图 3 IEEE 802.1X 认证系统的EAP 终结方式业务流程

(1) 用户有上网需求时打开802.1x客户端,输入已经登记过的用户名和密码,发起连接请求(EAPOL-Start报文)。此时,客户端程序将发出请求认证的报文给NAS,开始启动一次认证过程。(2) NAS收到请求认证的数据帧(EAPOL-Start)后,将发出一个请求帧(EAP-Request/Identity报文)要求用户的客户端程序发送输入的用户名。

(3) 客户端程序将用户名信息通过数据帧(EAP-Response/Identity报文)送给NAS。直到这里,认证过程中的前三步和EVP中继方式完全相同。

(4) 接下来, NAS收到客户端送上来的数据帧(EAP-Response/Identity报文)后,没有上传至认证服务器,而是用服务器的一个加密字,并将将此加密字的通过数据帧(EAP-Request/MD5 Challenge报文)交给客户端程序。

(5) 客户端程序收到加密字(EAP-Request/MD5 Challenge报文)后,用该加密字对密码部分进行加密处理,生成EAP-Response/MD5 Challenge报文发送给NAS。

(6) NAS收到加密密码(EAP-Response/MD5 Challenge)后,用CHAP协议对用户名、加密密码、加密字等认证信息重新封装成标准的Radius报文(RADIUS Access-Requeset报文) ,送给认证服务器进行处理。

(7) 认证服务器收到的认证信息(RADIUS Access-Requeset报文)后,根据收到的用户名信息在数据库中查找对应的密码信息,用收到的加密字对密码信息进行加密处理得到自己的加密密码。然后和收到的加密密码信息进行对比,如果相同,则认为该用户为合法用户,反馈认证通过的消息(RADIUS Access-Accept报文)给NAS。

(8) NAS向客户端程序反馈认证通过消息( EAP-Success报文),将端口状态改为授权状态,允许用户通过该端口访问网络。

(9) 客户端可以发送EAPOL-Logoff报文给NAS,主动终止已认证状态,交换机将端口状态从授权状态改变成未授权状态。

两种认证方式比较:

EAP中继方式与EAP终结方式的认证流程十分类似,不同之处主要在于加密字的生成处理及传递方式。在EAP中继方式中,用来对用户口令信息进行加密处理的随机加密字由认证服务器生成,交换机只是负责将EAP报文透传认证服务器,整个认证处理都由认证服务器来完成。而在EAP终结方式中,用来对用户密码信息进行加密处理的随机加密字由NAS生成,NAS会把用户名、随机加密字和客户端加密后的密码信息一起送给认证服务器,进行相关的认证处理。

优缺点:

EAP中继方式优点是NAS设备处理更简单,支持更多的认证方式,缺点则是认证服务器必须支持EAP;而EAP终结方式的优点是认证服务器无需升级,现有的Radius服务器可以继续使用,缺点是NAS设备处理更复杂。

若为了兼容Radius服务器,节省用户投资,建议NAS选择EAP终结方式。

3.3.认证设备

认证设备为交换机,设备需要支持Radius协议,客户端接入到认证设备一端,认证设备另一端接Radius服务器。

3.3.1设备网络认证选择

不认证:信任用户,无需任何认证,无网络安全需求时使用。

本地认证:将用户信息(用户名,密码,属性)配置在接入服务器上(Switch)。本地认证优点是速度快,运营成本低,但存储信息量受限制。

只在交换机本地上完成认证,而不需要经过Radius服务器,这种认证方式一般用于备用方案,以交换机本地配置的认证用户名和密码进行认证,这样可以保证当Radius Server宕机时,不至于整个网络都无法使用。

远端认证:通过协议进行远端认证。

客户端先通过8021.x协议与交换机通信,交换机通过MD5加密将用户名和密码通过EAP中继/终结方式转送给Radius服务器进行认证,Radius返回认证结果给交换机,开放交换机端口。

3.3.2设备接入控制方式

基于端口:

当采用基于端口的接入控制方式时,只要该端口下的第一个用户认证成功后,其它接入用户无须认证就可使用网络资源,但是当第一个用户下线后,其它用户也会被拒绝使用网络。

基于端口的认证方式下,一旦有一个用户通过认证,端口就处于打开状态,任何其他用户都可以通过该端口访问网络,这对无线接入访问点而言是足够的,因为一个用户占用一个信道。但在电信接入和学校等环境中,以端口为对象的控制粒度难以满足安全要求,基于MAC地址逻辑端口控制势在必行

基于MAC地址:

基于MAC的认证方式下,H3C公司的实现是通过在MAC表项中添加/删除用户主机MAC的方式来实现的,通过认证的用户MAC将被添加到MAC表项中,这样用户就具备权限访问网络了。反之,没有通过认证的用户主机MAC是不会出现在MAC表项中的,因此就没有访问网络的权限。

3.3.3 设备认证方式

CHAP认证方式:

  1. 当交换机上配置了user-name-format with-domain,不管用户输入的是否带后缀,交换机都会处理成带后缀的用户名。如果用户输入test,交换机上传到服务器的是 test@aabbcc.net(domain default enable aabbcc.net),若没有设置domain default,交换机默认domain 为system,交换机当成是test@system,认为是local-user,直接在本机上认证。
  2. 当交换机上配置了user-name-format without-domain,论客户端发起认证时用户名后面是否有后缀,交换机在认证或计费请求报文中username属性中都不带域名后缀。

EAP认证方式:

对于EAP方式的话,由于设备是实行EAP透传,不对用户名和其后缀域名进行改动。分析和上面一致。差别就是上传到3A的username是带域名还是不带域名是由认证输入来决定(即用户输入),而不再是设备。

H3C交换机默认采用chap认证方式。

注:交换机根据域名查找其对应的配置的Radius scheme。

3.4认证服务器

认证服务器接入在交换机的另外一端,为 RADIUS 客户端发送的所有访问请求提供中心身份验证和授权服务。当用户通过认证后,认证服务器会把用户的相关信息传递给NAS,由NAS构建动态的访问控制列表。

3.4.1服务器端认证协议

AAA是认证(Authentication)、授权(Authorization)和计费(Accounting)的缩写,它是运行于NAS(网络访问服务器)上的客户端程序。提供了一个用来对认证、授权和计费这三种安全功能进行配置的一致性框架,实际上是对网络安全的一种管理。这里的网络安全主要指访问控制。包括哪些用户可以访问网络服务器;具有访问权的用户可以得到哪些服务;以及如何对正在使用网络资源的用户进行计费网络认证方式。

常用的AAA协议是Radius协议。

3.4.2认证服务器选择

LDAP服务器:

LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol,它是基于X.500标准的,主要用于统一认证服务器。

比如要使用samba做文件共享,在windows中访问共享文件是需要输入用户名密码,验证通过后才可以读或者写文件。在未配置ldap服务器以前,samba用户信息在本地保存,也就是说如果有多个samba服务器则需要在多台机器上重复建立认证账户信息,管理不方便。建立ldap后就可以将需要认证的用户全部放到ldap服务器上,这样就可以避免重复建立samba的认证账户,方便统一管理账户信息

目录服务,给予不同的用户不同的访问权限,LDAP的支持,因为他们根本不用考虑另一端(客户端或服务端)是怎么样的,LDAP服务器安装起来很简单,也容易维护和优化。

Radius服务器:

Radius是一种专门的认证协议,支持多样的认证方式。除了最常见的pap,chap等,还支持EAP(扩展认证协议),这是LDAP协议中没有的。

服务器选择:
LDAP是一种简化了的数据库,而Radius则提供多样的认证方式。

目前的电信网络成熟认证方案基本802.1x+Radius+LADP,LDAP作为统一用户名和密码,不单独做认证功能。根据实际的需求和方案的成熟性我们选择Radius作为认证服务器。

3.4.3 RADIUS网络安全

RADIUS协议的加密是使用MD5加密算法进行的,在RADIUS的客户端(NAS)和服务器端(RADIUS Server)保存了一个密钥(key),RADIUS协议利用这个密钥使用MD5算法对RADIUS中的数据进行加密处理。密钥不会在网络上传送。

RADIUS的加密主要体现在以下两方面:

包加密:

在RADIUS包中,有16字节的验证字(authenticator)用于对包进行签名,收到RADIUS包的一方要查看该签名的正确性。如果包的签名不正确,那么该包将被丢弃,对包进行签名时使用的也是MD5算法(利用密钥),没有密钥的人是不能构造出该签名的。

口令加密:

在认证用户时,用户的口令在NAS和RADIUS Server之间不会以明文方式传送,而是使用了MD5算法对口令进行加密。没有密钥的人是无法正确加密口令的,也无法正确地对加密过的口令进行解密。

口令加密与口令验证过程:

例如CHAP(挑战握手认证协议),它提供对用户口令进行加密的机制。

当用户请求上网时,NAS产生一个16字节的随机码给用户(同时还有一个ID号,本地路由器的Host name)。用户端得到这个包后使用自己独有的设备或软件客户端将CHAP ID、用户密码(口令字)用MD5算法对该随机码进行加密生成一个Secret Password,随同用户名user name一并传给NAS。

NAS把传回来的user name和Secret Password分别作为用户名和密码,并把原来的16字节随机码以及CHAP ID传给RADIUS服务器。RADIUS根据用户名在服务器端查找数据库,得到和用户端进行加密所用的一样的密钥,用MD5算法对CHAP ID,密钥和传来的16字节的随机码进行加密,将其结果与传来的Password作比较,如果相匹配,服务器送回一个接入允许数据包,否则送回一个接入拒绝数据包。

华为H3C交换机+Radius+mysql Radius认证认证方案,嵌入式客户端代码,配置(上:认证方案)相关推荐

  1. 华为H3C交换机+Radius+mysql Radius认证认证方案,嵌入式客户端代码,配置(上:认证方案)

    最近做的一个嵌入式Radius认证方案,分上中下,上:认证方案,中:嵌入式客户端代码 下:交换机和Radius配置 技术交流:1532709892@qq.com (一)Radius认证方案说明: 当交 ...

  2. 华为H3C交换机+Radius+mysql Radius认证认证方案,嵌入式客户端代码,配置(下:交换机和Radius服务器配置)

    (一交互机配置) 1 802.1x本地认证方案配置 当Radius服务器不可用的时候,需要在交换机本地有一个备用认证方案,用户名和密码设置在交换机上替换Radius Server完成对交换机端口的认证 ...

  3. VLAN应用篇系列:(1)华为 H3C交换机多种划分VLAN方式配置

    说明 对于思科VLAN划分,只支持基于接口的形式,当然也有种动态VLAN划分,叫做VMPS,也是基于源MAC来进行动态的划分,但是这种需要思科特定的服务器,而且不是所有设备交换机都支持,另外一种需要通 ...

  4. VLAN应用篇系列:(7)华为 H3C交换机VLAN聚合功能(实现不同VLAN,同一网段,二层隔离,三层互通)

    说明 VLAN聚合(super-vlan),它主要的作用就是节约IP浪费的问题,比如想实现特殊的,每个VLAN内就10多台PC,有多个VLAN,那么可以把剩下的IP给其他VLAN使用,不需要每个VLA ...

  5. 华为H3C 交换机路由器常用命令

    一.交换机 system-view   进入系统视图模式 sysname   为设备命名 display current-configuration 当前配置情况 language-mode Chin ...

  6. python子进程进行kinit认证_使用kafka-python客户端进行kafka kerberos认证

    之前说过python confluent kafka客户端做kerberos认证的过程,如果使用kafka python客户端的话同样也可以进行kerberos的认证,具体的认证机制这里不再描述,主要 ...

  7. mysql+spring+mybatis实现数据库读写分离[代码配置] .

    场景:一个读数据源一个读写数据源. 原理:借助spring的[org.springframework.jdbc.datasource.lookup.AbstractRoutingDataSource] ...

  8. 网工必备命令:思科、华为、H3C交换机巡检命令全收录

    当我们想要查看交换机配置是否正确,不可能将每条命令都看一遍,毕竟数据庞大,这时候就需要精准使用交换机的巡检命令,下面我们来介绍一下几个常见厂商的巡检命令 思科 1.show interface sta ...

  9. 华为/H3C常用巡检命令

    华为/H3C交换机常用巡检命令 硬件状态.IOS版本信息检查: dis  device manuinfo  查看设备序列号和出厂时间 display clock 系统时间 display versio ...

最新文章

  1. 《马哥出品高薪linux运维教程》wingkeung学习笔记-linux基础入门课程5
  2. python中mod运算符_Python中的数学运算操作符使用进阶
  3. c hello world_C和C++使用对方编译的动态链接库
  4. python编程入门经典 评分-关于 Python 的经典入门书籍有哪些?
  5. linux sqlserver_SQLServer和Oracle数据库相比谁更强?
  6. 二十五、Node中的Buffer缓冲器和EventEmitter事件触发器
  7. 计算机辅助药物设计局限,计算机辅助药物设计高效低耗
  8. 三分钟完全了解PyTorch中卷积层内部计算方法和权值初始值的来历,让你对模型有更深层次的理解
  9. 【LeetCode】剑指 Offer 32 - II. 从上到下打印二叉树 II
  10. LeetCode 1116. 打印零与奇偶数
  11. http请求pom 客户端_RPC之HttpClient与OkHttp3的实现,服务端知识点
  12. 滚动电梯卡延期复制教学
  13. python 绘制中国地图并利用经纬度标注散点
  14. 小花语音机器人(零)-单片机控制驱动板PCB
  15. 什么是长元音和短元音
  16. ONES 万事联合创始人 \u0026 CTO 冯斌:企业服务产品的探索实践
  17. 打造企业级应用--邮件服务器postfix+dovecot+extmail
  18. 借力函数计算 FC,HEROZ 打造专业级 AI 日本将棋服务
  19. 随机名字获取,杜绝取名烦恼
  20. 电话会议炸出了同事里的隐形富豪

热门文章

  1. 中国医药院外流通市场分析
  2. SONiC镜像编译指南
  3. 分团委的各位同仁欢迎你来。
  4. Windows下快速创建指定大小的空文件
  5. “数字云徽章”亮相东京奥运会
  6. gazebo运动控制中没有cmd_vel的话题
  7. 【时间序列分析】17.Hilbert空间的投影与Wold表示定理
  8. SSCTF-2017-web-writeup
  9. 成功的背后!(给所有IT人)(转载来自http://blog.csdn.net/ysuncn/archive/2007/10/07/1814127.aspx)
  10. 如果你在寻找投资人……