河南 郭建伟
当然,对于比较复杂的网络来说,可以在配置ISE 设备来作为RADIUS 服务器,当无线用户连接时,WLC 会将其输入的账户名和密码信息发送给ISE 设备,ISE 通过LDAP 联系目录服务器,来获取认证信息。当认证通过后,ISE 设备对该用户进行授权操作,之后将授权和认证信息回送给WLC,该用户才可以接入无线网络。对于思科WLC 来说,其支持本地EAP 认证,即WLC 本身作为RADUIS服务器来使用。
用户名和密码等认证信息可以存储在WLC 本地,也可以存储在后台的活动目录服务器上。WLC 通过LDAP 向其执行查询操作。注意,LDAP 认证只能使用EAP →FAST,PEAP →GTC 和EAP →TLS 方式。
对于Local EAP 来说,其好处在于当外部的3A 服务器(例如ISE 等)出现故障时,其可以正常为客户提供服务。外部RADUS 服务拥有更高的优先级,即WLC 会先寻找外部RADIUS 服务器进行认证,如果失败则使用本地EAP 认证。当然,也可以针对目标WLAN 进行设定,只允许其使用本地EAP 认证。
登录到某款思科WLC 管理界面,点击工具栏上的“SECURITY”项,在左侧选择“AAA”→“LDAP”项,在右侧的“Server IP Address”栏中输入活动目录服务器的IP地址,在“Simple Bind”列表中选择“Authenticated”项,在“Bind Username”栏中输入域管理员名称,在“Bind Pasword”栏中输入其密码。在“User Base DN”栏中输入“cn=users,dc=xxx,dc=com”,其中的“users”为活动目录中的名为“users”的OU,在其中存储在AD 中的用户信息,“xxx”表示具体的域名。
在“User Attritube”栏中输入“sAMAccountName”,这是LDAP 的一个属性值,其等同于用户名。在“User Object Type”栏中输入“person”,其余设置保持默认,点击“Apply”按钮保存配置信息。在左侧选择“Access Control Lists”→“Access Control Lists”项,在右侧点击“New”按钮,输入新的ACL 的名称(例如“acl1”),来创建该ACL 列表。在其编辑窗口中点击“New Rule”按钮,创建一个新的规则,在“Protocol”列表中选择“ICMP”项,在“Action”列表中选择“Permit”项,放行ICMP 流量。
再创建一条规则,在“Protocol”和“Destination Port”列表中均选择“UDP”,在“Action”列表中选择“Permit”项,放行UDP 流量。之后创建新的规则,在“Protocol”列表中选择“UDP”,在“Source Port”列表中选择“DNS”项,在“Action”列表中选择“Action”列表中选择“Permit”项,放行DNS 流量。再创建两条条规则,分别在“Source”和“Destination IP”列表中选择“IP Address”栏中输入目标IP,例如“1.1.1.1”。其余保持默认,对其执行放行动作。
这样,在执行Web 认证时,当用户访问域名信息时,就会被WLC 重定向到指定的IP 地址,并打开认证页面,当用户输入账户名和密码后,会通过LDAP 发送给后台AD数据库,来执行认证操作。
对于PEAP 来说,在客户端和RADIUS 服务器之间会建立一条TLS 的隧道,在该隧道中发送相关的EAP 数据,客户需要使用证书来验证RADIUS 服务器,服务器也会使用账户名和密码来验证客户。
在工具栏上选择“WLANs”项,在列表中选择“Create New”项,点击“Go”按钮,输入新的WLAN 和SSID名 称(例 如“AuthWlan”),来创建该WLAN。在其属性窗口中的“General”面板中的“Status”栏中选择“Enabled”项,激活该WLAN。在“Interface/Interface Group”列表中选择对应的VLAN。在“Security”面板中的“Layer2”标签中的“layer 2 Security”列表中选择“None”项,禁用二层安全功能。
在“Layer3”标签中的“Layer 3 Security”列 表中选择“Web Policy”项,执行Web 认证功能。在选择“Preauthentication ACL”列表中选择上述“Acl1”的ACL 项目,在“AAA”标签中的“LADP Servers 1”栏中输入活动目录服务器的IP 地址,例如“IP:172.16.1.10,port:309”。
完成以上配置后,在客户端上连接上述SSID,之后访问任意网址,就会被重定向到指定的地址上,在显示的认证页面中输入用户名和密码,WLC 就会将其通过LDAP发送到活动目录服务器上,如果在AD 数据库中存在该账户(例如可以事先在AD 中创建该账户),那么认证就会成功,该客户就可以顺利接入无线网络。
对 于Local EAP 来说,可以在WLC 本地完成认证过程。在工具栏上选择“SECURITY”项,在左侧选择“Local EAP”→“Profiles”项,在右侧点击“New”按钮,输入其名称(例如“Leap1”),创建该EAP Profile。在其属性编辑窗口中选择“PEAP”项,激活EAP 认证功能。在左侧选择“Local EAP”→“Authentication Proority”项,在右侧可以调整认证优先级顺序。在左侧选择“AAA”→“Local Net Users”项,在右侧点击“New”按钮,输入账户名和密码,在“WLAN Profile”列表中为其指定WLAN。
可以按照上述方法创建所需的WLAN,为其设定SSID。在其属性窗口中的“Security”面板中的“AAA Servers”标签中选择“Local EAP Authentication”栏中的“Enabled”项,在“EAP Profile Name”列表中选择上述名为“Leap1”的Profile,激活本地认证服务。对于EAP 来说,一般适用于企业内部网络。之后在客户端使用Cisco AnyConnect Security Mobility Client连接该SSID,选择PEAP 认证方式,在弹出的提示窗口中点击OK 按钮,信任WLC 的自签名证书,输入账户名和密码,在WLC 上执行本地认证,如果没有问题就可以接入无线网络。
对于EAP TLS 认证来说,也会在客户端和RADIUS 服务器之间会建立一条TLS 的隧道,在其中相互发送证书和数字签名来进行认证。这样,在客户端和WLC 之间都必须申请根证书和个人证书,才可以实现该认证方式。
例如在Windows Server 2008 R2 上打开证书管理窗口,在左侧的“证书模版”项的右键菜单上点击“管理”项,在模版列表中选择“Web服务器”项,在其右键菜单上点击“复制模版”项,直接点击确定按钮,在新模版属性窗口中的“常规”面板中输入其名称(例如“leaprz”)。
在“请求处理”面板中选择“允许导出私钥”项,在“安全”面板中选择“Authenticated Users”账户组,在“写入”和“注册”栏中分别选择“允许”项,点击确定按钮将其导入进来。在上述窗口中选择“证书模版”项,在右侧的空白位置点击右键,在弹出菜单中选择“新建”→“要颁发的证书模版”项,选择上述“laprz”模版,将其发布进来。打开IIS 管理器窗口,在左侧选择“网站”→“Default WebSite”项,在右侧点击“绑定”链接,点击“添加”按钮,在打开窗口中的“SSL 证书”列表中选择所需的证书。
在浏览器中访问“https://server1.xxx.com/certsrv”地址,其中的“server1”为CA 服务器的名称。输入域管理员账户和密码,在证书申请页面中依次点击“申请证书”,“创建并向此CA 提交一个申请”连接,在“证书模版”列表中选择“leaprz”模版,在“姓名”栏中输入WLC 的设备名称,选择“标记密码为可导出”项,点击“提交”按钮,点击“安装此证书”链接安装操作。打开IE 的属性窗口,在“内容”面板中点击“证书”按钮,选择上述证书,点击“导出”按钮,在向导窗口中选择“是,导出私钥”项,点击“下一步”按钮,选择“导出所有扩展属性”项,在下一步窗口中输入密码来保护私钥。之后点击“浏览”按钮,将证书导出(例如“wlczs.pfw”)。这样,就得到了个人证书。
访问“https://server1.xxx.com/certsrv”地 址,在证书申请页面中依次点击“下载CA 证书,证书链或CRL”项,选择“base 64”项,点击“下载CA 证书”链接,将保存根证书(例如“root.cer”)。
注意,对于微软提供的证书,思科设备是不支持的。需要使用OpenSSL 这一工具进行转换。在CMD 窗口中切换到该工具安装路径中的“Bin”目录下,执行“openssl pkcs12 -in wlczs.pfx -out wlczr.pem”命令,将上述个人证书转换为思科支持的格式。为了便于传输,可以创建一个TFTP 服务器,将转换后的证书和上述根证书存放到其根目录下。
在WLC 管理界面工具栏上选择“COMMANDS”项,在左侧选择“Download File”项,在右侧的“File Type”列表中选择“Vendor CA Certificate”项,在“Tansfer Mode”列表中选择“TFTP”项,在“IP Address”栏中输入TFP 服务器的IP,在“Maximum retries”栏中输入“10”,在“Timeout”栏中输入“6”,在“File Path”栏中输入“./.”,在“File Name”栏中输入“root.cer”,点 击“Downlad”按钮,下载和安装所需的根证书。之后继续执行下载操作,基本参数与上述相同,所不同的是在“File Type”列表中选择“Vendor Device Certificate”项,在“Certificate Password”栏中上述输入上述密码,在“File Name”栏 中 输入“wlcrz.pem”,点 击“Download”按钮下载和安装个人证书。之后点击“Save and Reboot”按钮重启WLC。
在客户端访问访问“https://server1.xxx.com/certsrv”地址,输入域管理员账户名和密码,在证书申请页面中依次“下载CA证书,证书链或CRL”,选择“Base 64”项,点击“下载CA证书”链接,将根证书保存到本地。双击该根证书,在向导界面中选择“将所有的证书放入下列存储”项,点击“浏览”按钮,选择“受信任的根证书颁发机构”项,点击“完成”按钮,将其安装到指定位置。之后在证书申请页面中点击“申请证书”,“用户证书”连接,在“密钥强度”列表中选择“高级”项,点击“提交”按钮,获取个人证书。
之后点击“安装此证书”链接,安装个人证书。在WLC 管理界面工具栏上选择“SECURITY”项,在左侧选择“Local EAP”→“Profiles”项,在右侧点击“New”按钮,输入其名称(例如“Leapt”),创建该EAP Profile。在其属性编辑窗口中选择“EAP-TLS”项,激活EAPTLS 认证功能。在“Local Certificate Required”和“Client Certificate required”栏中分别选择“Enabled”项,在WLC 和 客户端均需要证书认证。在“Certificate Issuer”列表中选择“Vendor”项,表示证书由其他厂商提供。注意,不要在“Check against CA certificates”栏中选择“Enabled”项,否则容易出现认证失败的情况。
在工具栏上选择“WLANs”项,在列表中选择“Create New”项,点击“Go”按钮,输入新的WLAN 和SSID 名称(例如“AuthTLS”),来创建该WLAN。在其属性窗口中的“General”面板中的“Status”栏中选择“Enabled”项,激活该WLAN。在“Security”面板中打开“AAA Servers”标签,在“Local EAP Authentication”栏 中选 择“Enabled”项,在“EAP Profile Name”列表中选择上述“Leapt”项目。在客户端使用Cisco AnyConnect Security Mobility Client 连接该SSID,注意在连接窗口中的“802.1X Configuratuion”栏中的两个列表中分别选择“Certificate”和“EAP-TLS”项,执行证书认证操作。当认证通过后,就可以顺利接入无线网络中了。