漫谈无线AP认证方式
2020-03-16刘景云
刘景云
对于无线网络来说,AP的作用是极为重要的。在实际的企业环境中,一般使用的都是瘦AP。利用无线控制器,可以很方便地对瘦AP进行管理。客户一般都必须通过AP设备,才可以顺利连接无线网络。在日益重视网络安全的形势下,如何保证用户安全的连接AP,以及让AP安全的连接WLC等设备,是管理员必须重视的问题。对于AP来说,提供了不同的认证模式,了解和熟悉这些认证模式,对于无线管理来说是极为重要的。
对AP参数进行安全配置
对于思科的AP来说,其默认的账号为小写的cisco,密码(包括enable密码)为大写的CISCO,当然,这种默认设置的安全性是比较差的,为此可以全局的设置用户名、密码和enable密码,特定AP设置的拥有高优先级。例如登录到思科某款无线款控制器管理界面,点击工具栏上的“Configuration”按钮,在左侧点击“Wireless”-“Access Points”-“Radios”-“Global AP Configuration”项,在右侧的“Login Credentials”栏中可以分别设置用户名、密码以及enable密码,点击“Apply”按钮执行应用(图1)。这些设置信息会自动推动给关联到该控制器的所有的AP,即所有相关AP都会拥有该密码。
当AP加入到无线控制器后,AP就激活了console口安全,当用户访问AP console口时,会提示输入账户名和密码。当登录完成后,会进入非特权模式,您必须输入enable密码来进入特权模式。全局配置信息在无线控制器和AP重启后不会丢失,只有当AP加入新的无线控制器,而且该无线控制器配置了全局用户和密码后,这些信息才会被覆盖掉。如果新的无线控制器没有配置全局身份信息,AP将保持之前的全局用户和密码。注意,您必须关注AP身份信息的变动情况,否则将无法登录AP。当然,想恢复默认的AP身份信息的话,最直接的办法是同时将无线控制器和AP的设置恢复到出厂状态。
此外,还可以在AP上执行“clear capwap private-config”命令,来清除该AP的配置信息,之后执行Reload命令重载即可。当然,为所有的AP设置统一的身份认证信息,虽然使用起来比较方便。不过安全性依然不足,为了最大程度提高AP的安全性,还可以为不同的AP单独设置身份信息。例如在上述无线控制器管理界面左侧点击“WLAN”-“Access Points”-“All APs”项,在右侧列表中显示所有连接AP,选中某个AP,在属性编辑界面中点击“Credentials”项,在“Login Credentials”栏(图2)中选择“Over-ride Global Credentials”项,为其设置用户名、密码以及enable密码。
还可以在“802.1x Supplicant Credentials”栏中选择“Over-ride Global Credentials”项,为其单独设置802.1x的身份验证信息。因为在一般情况下,AP都是连接到交换机,之后才连接到无线控制器上。当针对AP设置了802.1x的身份验证信息后,就可以在AP连接到的交换端口上开启802.1x的认证功能,这样AP就可以使用该802.1x认证信息,在该接口上进行EAP-FAST认证。这样可以有效提供AP的安全性。点击“General”按钮,在“AP name”和“Location”栏中为其设置合适的名称和位置信息,这对于AP的管理是比较重要的。在AP列表上部点击“Advanced”按钮,选择“Telnet”和“SSH”项,可以激活相应的连接方式。
常用的无线认证方式
谈到AP的管理,就必然涉及WLAN的安全技术,这里主要谈谈关于无线控制器本地的DOT1x认证。对于每个WLAN来说,都对应独立的WLAN ID、Profile name和WLAN SSID。例如在上述无线控制器WLC管理界面中点击菜单“Configuration”-“Wireless”项,在WLANS列表中可以看到上述信息。每个连接的AP最多可以发布16个WLAN,即最大可以发布16个SSID出去,注意可以在WLC上创建超过最大数量的WLAN,并且选择这些WLAN发布到不同的AP。通过AP Group技术,可以让不同组的AP发送不同的WLAN。管理员可以配置WLAN使用不同的SSID或者相同的SSID,一个SID标识一个特殊的无线网络。
对于二层安全来说,其包括None、WEP、WPA/WPA2、802.1x以及CKIP等。對于None方式来说,不会进行任何加密。对于WEP和WAP方式来说,因为存在很大的安全隐患,黑客可以很容易对其进行破解,现在几乎不再使用。WPA使用802.1x实现认证的密钥管理,即密钥由802.1x动态产生。其支持单播和广播的密钥管理,注意WPA使用两套Key,分别用来加密单播和广播数据包。对于连接到某个AP的PC来说,会使用相同的PSK预共享密钥连接到目标AP上,该AP会为每台PC产生唯一的用于加密单播的密钥,PC彼此之间并不知晓该密钥,这就会造成PC之间看到的单播包都是加密的。但是,PC之间的广播密钥是通用的。根据以上分析,可以看到AP的预共享密码和加密的密钥是存在差异的。
对于WPA2来说,是目前使用最广泛的加密方式。其使用了AES加密算法,对于个人用户来说,WPA使用预共享密钥进行认证,其不需要认证服务器,使用预设的共享密码进行认证,基于本地进行访问控制,使用TPIP、AES进行加密。对于企业来说,使用的是802.1x认证,其一般需要使用3A服务器,3A认证服务器用于认证、授权和密钥分发,采用中心访问控制机制,使用TPIP和AES进行加密。对于开放式网络环境来说,使用的是Web认证方式。对于WPA2和802.11i来说,其实是大体相等的技术标准,前者是Wi-Fi标准,后者是IEEE标准。当然现在主要使用的是WPA2标准,其使用了AES替代了不可靠的RC4加密算法,这里的AES其实以一种特殊的AES-CCMP算法,基于128为对称块加密,AES比RC4更加强大,但是消耗的资源也更多。
实现基于WLC本地的EAP认证
在这里为便于说明,没有使用ISE等专业的3A服务器,使用无线控制器进行本地的EAP认证,即让其扮演简单的Radius服务器的角色。在该无线控制器上执行“config t”命令,进入全局配置模式。执行“aaa new-model”“aaa authentication dot1x celue local”命令,启用名为“celue”的Dot1x认证策略。执行“aaa authorication credential-downliad celue1 local”命令,进行身份信息的授权。执行“aaa local authentication celue authorization celue1”命令,使用本地认证策略和授权策略。执行“dot1x system-auth-control”命令,全局激活Dot1x。在配置Dot1x时,对于3A服务器来说是需要一张证书的。客户在建立EAP会话之前需要校验该证书的。
因为该无线控制器扮演了3A服务器的角色,所以也需要证书。这里使用的是自签名证书,执行“end”“ ip http secure-server”命令,启动HTTPS服务器功能,就可以自动产生自签名证书。登录到无线控制器管理界面,点击工具栏上的“Configuration”-Security”项,在左侧选择“Local EAP”-“Local EAP Profiles”项,在右侧“New”按钮,创建新的Profiles项目,输入其名称(例如“profile1”),其下列出常用的EAP类型,这里选择最常用的“PEAP”项,可以在客户和3A服务器之间进行数据的加密传输。点击“Apply按钮,保存配置信息。点击工具栏上的“Configuration”-“Wireless”项,在左侧选择“WLAN”-“WLANS”项,在右侧点击“New”按钮,创建新的WLAN,输入WLAN ID、SSID(例如“newssid”)以及Profile file名称(例如“pfile1”)。在列表中选择该WLAN项目,在其属性编辑界面中的“General”面板(图3)中的“Status”栏中选择“Enabled”项将其激活,在“Interface/Interface Group”列表中选择需要关联的本地VLAN的名称。在“Security”面板中点击“layer2”按钮,在“Auth Key Mgmt”列表中电机“802.1x”项。点击“AAA Server”按钮,在“Authentication Method”列表中选择上述认证策略(例如“celue1”)。选择“Local EAP Authentication”项,在“EAP Profile Name”栏中输入上述EAP项目名称(例如“profile1”)。配置完成后,在客户端可以搜索到上述SSID信号名。
在客户端进行安全连接
在网络和共享中心点击“设置新的连接或网络”项,之后选择“手动连接到无线网络”项,在打开窗口中的“网络名”栏中输入上述SSID名称,在“安全类型”列表中选择“WPA2-企业”项,点击下一步按钮,选择“更改连接设置”项,在打开窗口中的“安全”面板中的“选择网络身份验证方法”列表中确保选择“Microsoft受保护的EAP(PEAP)”项。
点击“设置”按钮,在其属性窗口中取消“通过验证证书来验证服务器的身份”项,这是因为在无线控制器上使用了自签名证书的原因。点击“设置”按钮,取消“自动使用Windows登录名和密码”项。点击“高级设置”按钮,在高级设置窗口中的“802.1x设置”面板中选择“指定身份验证模式”项,在列表中选择“用户身份验证”项,点击确定按钮,保存配置信息。完成以上设置后,在无线连接列表中选择上述SSID项,输入上述无线控制器上预设的本地用户名和密码,就可以连接成功了。
实现基于Web的安全认证
在开放的环境中,为了让用户可以顺利连接无线网络,会使用到Web认证技术,对于Web认证来说,其使用的是三层安全技术,可以在任意设备上利用浏览器,就可以连接到无线网络的安全技术。其可以和使用预共享密钥认证的二层安全技术配置使用,这样大大增加其安全性。当然,在一般情况下,Web认证只是提供认证并不会对传输的数据进行加密。Web认证仅提供给外来访客使用的,因此没有必要对其数据进行保护。
在进行对Web认证之前,客户可以直接关联,关联后客户可以获取IP和DNS服务器地址,在没有完成Web认证之前,客户无法访问任何网络资源。可以必须使用浏览器访问一个合法的网址,通过DNS对其进行解析,之后客户发送HTTP请求到这个网站的IP,无线控制器会对该请求进行处理并返回给客户网页认证页面。当通过Web认证后,客户才允许访问所需的网络资源。对于WLC来说,可以使用其内建的登录页面,用户也可以自己编写认证页面,或者使用外部的服务器提供的认证页面。
这里为了简单起见,使用WLC内建的登录页面。在WLC管理界面工具栏上点击“Configuration”-“Security”项,在左侧选择“Web Auth”-“Webauth Parameter Map”項,在右侧点击“global”项,可以对登录页面各参数进行修改(图4),例如在“Banner”栏中输入欢迎信息,在“Type”列表中选择“webauth”项,激活网页认证功能。在“Virtual Ipv4 Address”栏中输入合适的虚拟地址等。在WLC命令行中执行“config t”命令,进入全局配置模式。执行“aaa authentication login webauth local”“aaa authorization network default local”“aaa authorization cerdential-download default local”命令,执行登录认证、网络授权以及下载身份数据库的授权等。
之后按照上述方法,在管理界面添加新的WLAN,输入WLAN ID、SSID(例如“webssid”)以及Profile file名称(例如“pfileweb”)。之后将其激活,并为其选择具体的VLAN名称。在其属性窗口中的“Security”面板中点击“layer2”按钮,在“Layer 2 Security”列表中选择“None”项,表示没有二层安全。点击“Layer3”按钮,选择“Web Policy”项,激活Web认证策略。在“Web Authentication List”列表中选择“Webauth”项,表示在三层使用网页认证。在“Webauth Parameter Map”列表中选择“global”项,调用Web认证参数项目。当客户端打开无线连接列表后,可以发现上述“webssid”热点处于不加密状态,可以直接进行连接。如果配置了DNS服务器的话,就可以访问所需的网站,WLC就可以对该连接请求进行拦截,并将其引入到Web认证界面,输入WLC的本地用户名和密码后,就可以顺利进行访问了。