使用802.1X+FreeRadius+LDAP实现网络准入方案
前言:在很多运维项目交流中,我们发现有一些运维团队还是在尝试使用网管或桌面管理来进行网络准入管理,但这两个技术有一定的缺点,所以本文分享一下802.1X+开源软件整合的网络准入管理的实践。
网络准入业界常用方案
为了保证网络资源的安全,拒绝非法入侵,现代IT网络总需要一定的网络准入方案,而目前业界常用的网络准入方案有:
方案 |
说明 |
优点 |
缺点 |
桌面管理软件 |
以一机两用等产品为代表,需要安装agent并经过审批才能进入网络,否则通过ARP攻击等手段阻止非法终端接入。 |
控制能力强 |
安装维护成本高; 对客户端有要求。 |
网管扫描拦截 |
通过网络管理软件扫描局域网终端,并通过交换机端口控制来实现非法终端接入。 |
网络要求较低 |
扫描实时性差; 依赖拓扑发现; 实用性不足。 |
网关准入控制 |
以酒店行业为代表,通过网络接入时,要求进行登录以分配到正确的IP地址与互联网访问许可 |
网络要求低; 网关购买成本高。 |
只能控制经过网关的数据,不能控制局域网。 |
而今天给大家介绍的802.1X+FreeRadius+LDAP网络准入方案,则避免了上述方案中的缺点,是一套低成本,控制能力强,符合行业标准的一套网络准入认证体系。
什么是802.1X
802.1x协议是基于Client/Server的访问控制和认证协议。它可以限制未经授权的用户/设备通过接入端口(access port)访问LAN/WLAN。在获得交换机或LAN提供的各种业务之前,802.1x对连接到交换机或AP上的设备进行认证。在认证通过之前,802.1x只允许EAPoL(基于局域网的扩展认证协议)数据通过设备连接的交换机端口;认证通过以后,正常的数据可以顺利地通过以太网端口。
部署结构
该方案的部署包括客户端、接入网络、论证与帐户系统。
客户端:可以是Windows、OSX与移动终端。目前Windows与OSX均支持802.1x协议,并且移动端也支持企业级WPA(支持用户名与密码)并与RADIUS服务集成;
接入网络:支持802.1x与Radius的交换机与无线AP即可,由于802.1x是一个已经普遍支持的行业标准,所以目前几乎所有主流的交换机与AP都可以支持;
论证与帐户系统:一个Radius服务器(本案例使用FreeRadius),与提供帐户管理的数据库(本案例使用LDAP服务器),同时也支持在LDAP服务器中设置下发VLAN与ACL信息。
方案优点
统一配置:对于运维人员来说减少网络管理维护工作,通过LDAP统一帐户管理。
安全可靠:在二层网络上实现用户认证,结合端口、账户、VLAN和密码等;绑定技术具有很高的安全性与实时性;
更灵活:不需要绑定mac、与客户端无关,使用用户名与密码认证就可以接入网络,用户可以支持多个终端,在手机、笔记本、台式机上登录,都可以分配到对应的VLAN与ACL,避免VLAN规划的调整。
符合标准:802.1x属于IEEE标准,和以太网标准同源,可以实现和以太网技术的无缝融合,几乎所有的主流数据设备厂商在其设备,包括路由器、交换机和无线AP上都提供对该协议的支持。在客户端方面微软操作系统内置支持,Linux也提供了对该协议的支持。
用户审计:结合radius的计费功能,还可以实现用户的在线的审计、在线时长的统计。
方案缺点
需要部署认证与帐户系统:目前很多单位都已有自己的帐户系统,只需要启动LDAP支持,安装FreeRadius即可。
首次接入网络需要一些配置:好在配置后,后续接入就可以实现自动登录。同时即使配置失败,设备也可以支持一个“临时访客VLAN”,以提供基础的网络通信功能。
关键配置
部署认证服务器FreeRadius服务器和LDAP服务器(本文略)。
在网络设备设备上开启802.1X认证和认证服务器RADIUS的配置,本文以H3C网络设备为例。
第一步:H3C进入特权模式后,开启802.1X认证协议和认证方式,命令如下:
dot1xdot1x authentication-method eap
第二步:与认证服务器RADIUS的配置,命令如下:
radius scheme demoprimary authentication IP //radius服务器的IPprimary accounting IP //radius服务器的IPkey authentication cipher 密码 //radius服务器认证密码key accounting cipher密码 //radius服务器计费密码user-name-format without-domain
第三步:配置3A认证,最好是每个认证都开启,我们在配置过程中没有配置计费认证,结果导致认证总是失败,命令如下:
domain system authentication lan-accessradius-scheme demoauthorization lan-accessradius-scheme demoaccounting lan-access radius-schemedemoaccess-limit disablestate active idle-cut disableself-service-url disable
第四步:开启端口的802.1X的认证,命令如下:
interface GigabitEthernet1/0/10dot1x guest-vlan ID //认证失败下发一个guest VLANundo dot1x handshake //这个握手协议要关闭,避免windows认证一段时间后又会掉线,要求重连dot1x port-method portbaseddot1x idle-cut disableself-service-url disable
终端接入效果
下面以win7有线网络的接入为例进行说明。
第一步:插入网线,点击右下角网络连接处弹出的提示。如下图所示:
第二步:在弹出的对话框中,用户名输入LDAP账号和密码,如下图所示:
第三步:认证成功后如下图所示,入网就是这么so easy!