💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
推荐:Linux运维老纪的首页,持续学习,不断总结,共同进步,活到老学到老
导航剑指大厂系列:全面总结 运维核心技术:系统基础、数据库、网路技术、系统安全、自动化运维、容器技术、监控工具、脚本编程、云服务等。
常用运维工具系列:常用的运维开发工具, zabbix、nagios、docker、k8s、puppet、ansible等
数据库系列:详细总结了常用数据库 mysql、Redis、MongoDB、oracle 技术点,以及工作中遇到的 mysql 问题等
懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂
非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨
云计算身份认证与访问控制
技能展示:
- 理解身份认证、访问控制常见术语
- 理解等保 2.0 标准要求
- 掌握双因素认证原理及技术实现
3.1 案例概述
身份认证和访问控制是企业保护数字资产的基本能力要求,也是关键环节。本案例主要
介绍有关身份认证和访问控制技术的基础知识,同时以双因素认证为操作案例,介绍在企业
里采用“账户口令+数字证书”的双因素认证技术实现。在实际的工作环境中,无论是网络环
境还是系统环境,都可以采用双因素认证来保障安全性,操作上虽有所不同,但实现原理大
同小异。因此,通过本章学习,了解双因素认证常见的常见技术手段,理解其价值,掌握在
实验环境下完成基本的双因素认证配置。
3.2 前置知识点
完成本案例的学习,需要了解身份认证相关的术语,以及等保 2.0 的身份认证相关要求。
3.2.1 常用术语
以下是在身份认证技术中,常见的术语知识点。
主体:主体是活动的实体,通过访问被动客体来获得客体的信息或数据。主体可以
是用户、程序、进程、文件、计算机或访问资源的任何发起者。通过授权后,主体就可以修
改客体。
客体:客体是提供信息给活动主体的被动实体。客体可以是文件、数据库、计算机、
程序、进程、打印机和存储介质等。
主体和客体是相对概念,比如:用户登录计算机,用户就是主体,计算机就是客体。用
户访问 Web 程序时,用户是主体,Web 程序是客体;Web 程序调取数据库数据时,Web 程序
就是主体,而数据库数据是客体。
身份标识:是主体声称或自称某个身份的过程。主体体必须向系统提供身份标识,
才能够启动身份认证、授权和可问责过程。常见的身份标识有:用户名、标识身份的磁卡、
说一段话;也可以是人脸、手掌或指纹等。认证的一条核心原则是所有的主体必须有唯一的
身份。
身份认证:身份认证是通过与有效身份数据库中的一个或多个因素比对,确认主体
身份的过程。用户的身份认证信息一般属于私人信息,需要保护。身份标识和身份认证总是
被放在一起执行,第一步是提供身份标识,如输入“用户名”,第二步是提供身份认证因素。
没有执行这两步,主体就不能够访问系统。
身份注册:用户首次获得身份的过程就是注册的过程。比如:新员工入职,HR 会
在 OA 系统上为新员工创建用户 ID,会带领新员工在门禁设备上注册指纹等。
身份证明:一些安全级别要求比较高的系统平台,比如:一些金融类网站,为用户
提供的注册信息流程,需要提供身份证号,有的还需要视频认证。这一过程就是身份证明的
过程。
口令:是用户登录系统的凭据。口令可以是加密的,但它只是对自身信息的加密,
并不影响到实体的数据。
密码:我们日常使用的大多数“密码”都是口令(password),而不是密码学定义
的密码(cryptography)。密码学的密码指的是用于加密或解密的算法,是一种复杂而庞大
的信息处理系统。
对比口令和密码,可以得知二者之间的区别如下:
口令(password)象一扇门,绕过之后,就可以看见里面的信息。比如 Windows 操作系
统的登录口令,利用技术手段绕过或利用 PE 盘引导,仍然可获得并读取系统内的数据,这
样的“密码”都是口令。而密码(cryptography)是数据加密、解密的组成部分,也就是“密
钥”。理论上没有它,得到的始终是一堆乱码。
日常使用的 Windows 系统登录密码、邮箱密码等都是口令(password)。
日常工作中,我们也会用到真的“密码”。比如:WinRAR 压缩密码是密码(cryptography),
而不是口令。Winrar 软件设置密码时,输入的字符串参与了加密的过程,也必须输入正确
的字符串才能解密;而普通口令只是一串字符串的比对,没有加解密的过程。因此,口令可
以绕过,而密码却不能绕过,对密码的入侵一般只能暴力破解。
自主访问控制(Discretionary Access Control,DAC)
DAC 指系统允许客体的所有者、创建者或数据保管者控制和定义主体对该客体的访问。
目前常见的 Windows、Linux 默认都是基于自主访问控制的操作系统。比如:你在 Windows
或 Linux 系统中创建一个文件,你是文件的创建者,所以你对该文件具绝对控制权限,也可
以根据自己需要调整对该文件的控制权限。这种控制方式就是自主访问控制。
强制访问控制(Mandatory Access Control ,MAC)
MAC 依赖于分类标签的使用。每个分类标签代表一个安全域或安全领域。安全域是共享
公共安全策略的主客体集合。例如,安全域可以有秘密标签,当主体有匹配的秘密标签时,它们只能访问带有秘密标签的客体。 MAC 多见于 UNIX 及一些类 UNIX 系统的安全访问控制
体系。比如:Linux 系统下 SELinux 就能实现强制访问控制的功能。
MAC 要比 DAC 安全性高很多,对于用户访问的灵活便捷性上当然比 DAC 也要差很多,MAC
最早产生于美国军方。MAC 技术体系多用于涉密的一些高安全使用场景。
3.2.2 等保 2.0 身份认证与访问控制要求
等保 2.0 标准对身份认证和访问控制提出了明确的要求,具体要求如下。
1.身份认证
在等保 2.0 标准中对身份认证(也称作身份鉴别)的技术要求,分为通用要求和扩展要
求两部分。
(1)通用要求
在等保 2.0 标准通用要求中的“安全计算环境”部分,三级(8.1.4.1)和四级(9.1.4.1)
标准要求,如下:
a.应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,身份鉴别信息具有复杂
度要求并定期更换;
b.应具有登录失败处理功能,应配置并启用结束会话、限制非法登录次数和当登录连接
超时自动退出等相关措施;
c.当进行远程管理时,应采取必要的措施防止鉴别信息在网络传输过程中被窃听;
d.应采用口令、密码技术、生物技术等两种或两种以上组合的鉴别技术对用户进行身份
鉴别,且其中一种鉴别技术至少应使用密码技术来实现。
(以上 a、b 项要求定义于等保 2.0 一、二、三、四级标准;c 项要求定义于等保 2.0 二、
三、四级标准;d 项要求定义于等保 2.0 三、四级标准。)
上面的 a、b、c 项要求,是 Windows 和 Linux 以及常规网络设备都具有的基本安全功能,
等保 2.0 中作为规范要求,强调的是安全策略的落实。这些很多人都会用的策略,只有严格
落实才能发挥其安全作用。
d 项相比于等保 1.0,有了更细致的要求。“应采用口令、密码技术、生物技术等”、
“其中一种鉴别技术至少应使用密码技术来实现”,这是在等保 1.0 基础上,更细化的认证
要求。
(2)云计算安全扩展要求
在等保 2.0 云计算安全扩展要求中的“安全计算环境”部分,三级(8.2.4.1)和四级
(9.2.4.1)定义的“身份鉴别”标准要求,如下:
当远程管理云计算平台的设备时,管理终端和云计算平台之间应建立双向身份验证机
制。
在等保 2.0 一、二级在云计算安全扩展要求中,未定义“身份鉴别”要求。关于双向身
份认(验)证,会在本章的后面小节中进行详细介绍。
2.访问控制
在等保 2.0 标准中,关于访问控制的技术要求分为通用要求和扩展要求两部分。
(1)通用要求
在等保 2.0 标准通用要求中的“安全计算环境”部分,三级(8.1.4.2)标准要求,如
下:
a.应对登录的用户分配账户和权限;
b.应重命名或删除默认账户,修改默认账户的默认口令;
c.应及时删除或停用多余的、过期的账户,避免共享账户的存在;
d.应授予管理用户所需的最小权限,实现管理用户的权限分离;
e.应由授权主体配置访问控制策略,访问控制策略规定主体对客体的访问规则;
f.访问控制的粒度应达到主体为用户级或进程级,客体为文件、数据库表级;
g.应对重要主体和客体设置安全标记,并控制主体对有安全标记信息资源的访问。
(以上 a、b、c 项要求定义于等保 2.0 一、二、三、四级标准;d 项要求定义于二、三、
四级标准;e、f 项定义于等保 2.0 三、四级标准;g 项定义于等保 2.0 三级标准)
四级(9.1.4.2)标准要求,在三级(8.1.4.2)基础上,对 g 项又提出了更严格的求,
如下:
g.应对主体、客体设置安全标记,并依据安全标记和强制访问控制规则确定主体对客
体的访问。
对于 a、b、c、d 项要求,技术上是网络和系统安全技术的基础知识,实现起来技术难
度不大,但在没有等保标准的强制要求下,企业落实不到位一直是普遍存在的现象;e、f
项在在网络和信息系统安全领域比较主流的技术手段,比如:防火墙策略控制、数据库表级
的权限控制等;g 项是典型的强制访问控制的安全技术要求,Linux 系统中的 SELinux 就是
强制访问控制的一种技术实现方式。
(2)云计算安全扩展要求
等保 2.0 云计算扩展要求中的“安全计算环境”部分,三级(8.2.4.2)和四级(9.2.4.2)
访问控制要求,如下:
a.应保证当虚拟机迁移时,访问控制策略随其迁移;
b.应允许云服务客户设置不同虚拟机之间的访问控制策略。
(以上 a、b 项要求定义于等保 2.0 一、二、三、四级标准)
a 项是对云平台虚拟机访问控制策略能随机迁移的要求,b 项是对虚拟机之间能够实施
访问控制策略的要求。这两项要求,目前大多数公有云平台都能够提供此类服务。对于企业
的云平台建设工作,满足这两项要求,在“安全计算环境”部分才能达到等保 2.0 标准三、
四级的要求。
3.2.3 常见身份认证方式
常见的身份认证主要采用三种基本类型:类型一“你知道什么”、类型二“你拥有什么”、
类型三“你是什么或者你在做什么”。
1.类型一:“你知道什么”
(1)普通口令
账户名加口令认证是最常见的认证方式。比如:在提款机上取款输入“密码”,登录
Windows 系统的账户密码认证,以及登录企业 OA、邮箱等系统,采用的都是这种认证方式。
普通的口令是最容易被盗用的,风险也最大,比如:通过穷举破解、键盘记录木马、肩
窥等方式实现密码破解或盗用。
(2)硬件令牌
一种时间型动态密码生成设备,其每隔 60 秒(可定制 30 秒)变化一个密码且一次使用
有效。用户在登录应用系统时,输入账号密码以及令牌上显示的动态密码,实现双因素认证,
以提升身份认证安全,如图 3.1 所示。
3.1 动态令牌
(3)短信令牌
短信令牌认证是 RSA Securid 最佳替代方案,在企业级双因素认证市场中占有率最高。
短信 30s 失效,确保令牌唯一性、安全性;在国内双因素热认证市场中具备领先优势。
短信令牌认证很方便,其实际应用也越来越广泛。常见的移动互联网平台,基本都在使
用短信令牌认证技术。但是,短信认证要面临伪基站的威胁。
由于短信是通过基站发送到手机的,所以有被伪基站截获的风险。其实伪基站随时可能
存在于我们的身边,但未必感知到它的存在。图 3.2 是智能手机拦截伪基站信息真实截图。
图 3.2 手机拦截伪基站攻击截图
2.类型二:“你拥有什么”
(1)IC 卡
也称智能卡(Smart card),它是将一个微电子芯片嵌入符合 ISO 7816 标准的卡基中,
做成卡片形式。IC 卡与读写器之间的通讯方式可以是接触式,也可以是非接触式。 常见的
有产品有基于 IC 卡的考勤系统。
(2)USB Key(硬件证书)
USB Key 是一种 USB 接口的用户身份认证设备。它内置单片机或智能卡芯片,有一定的
存储空间,可以存储用户的私钥以及数字证书。利用 USB Key 内置的公钥算法实现对用户身
份的认证。如图 3.3 展示的是银行提供的 U 盾,这是最常用的 USB Key 设备之一。企业为了
身份认证安全,也可对自身企业的信息化系统,如 CRM、财务等系统,增加 USB Key 的身份
认证措施。
USB Key 里面存储的是用户私钥或数字证书,一些功能更强大的 USB Key 本身还可以设
置 PIN 码。只有输对了 PIN 码,才能进使用 USB Key 完成进一步的操作。
图 3.3 常见的银行使用的 UKey(U 盾)
3.类型三:“你是什么”
指纹、面部识别、视网膜、虹膜等识别技术,统称为生物识别技术。
(1)指纹
每个人的指纹都是独一无二的,是应用最早的生物身份识别技术,是现在笔记本和智能
手机广泛使用的认证技术。
指纹面临伪造的风险,比如:拍照时比划了“剪刀手”。如今手机像素很高,根据照片
并采取一定技术,即可很快做出假的指模,完成身份认证。
(2)面部识别
面部识别是利用面部的几何图样进行检测和识别。首先要进行面部信息注册,录入数据
库。识别认证时,通过扫描的面部信息与数据库存储信息比对,匹配一致,即可通过认证。
现今的智能手机系统已广泛支持面部识别功能,比如手机解锁,效率和便捷性比指纹识
别更高。当下最热的支付 4.0 技术,就是主要采用面部识别技术实现,完成认证和支付。使
人们的支付操作不再依赖智能手机,只要一张“脸”即可完成随时随地的付款。
面部安全系数比指纹要高,更难于伪造,比如:可通过“抬头”、“低头”、“眨眼睛”
等。但据媒体报道,国外已经有企业制造出人脸面具,声称可以骗过面部识别系统。对此,
国内几大移动支付厂商纷纷回应,自身的面部识别技术敢于进行实际验证和接受挑战。虽然
该报道并未得到进一步证实,但可以看出,面部识别已经面临全新的技术挑战。
(3)视网膜扫描
视网膜扫描是利用眼睛后方血管的图案进行认证的技术,主要通过红外光对视网膜扫描
来实现。它能够区分同卵双胞胎,是生物识别技术里,精确度最高的解决方案。但该项技术
会泄露个人医疗状况,如:高血压等病症。因此不易被人接受。
(4)虹膜扫描
虹膜扫描是利用瞳孔周围的有色区域进行认证的技术。它无法对同卵双胞胎进行区分,
是仅次于视网膜的第二精确生物学的身份认证技术。虹膜扫描被认为是相比其他生物学认证
技术,具有更长的使用期限。因为在人的一生当中,虹膜相对保持不变(眼疾或眼受损除外)。
相比视网膜扫描技术,虹膜扫描技术更易于被大众接受,但通过一些高品质的图像代替
人的眼睛,可以欺骗扫描仪,并且虹膜扫描的精度易受到灯光变换的影响。
(5)手掌扫描
通过扫描手掌特征或纹理进行识别,不需要接触扫描仪,只需要把手掌放在扫描仪的上
方即可进行认证。
(6)声音识别
此种生物特征识别技术是依靠人说话的声音特点(也称为声纹),实现的。用户说出一
个特定的短语,然后认证系统对此进行记录。在进行身份认证时,他们要重复这一短语,然
后再与原始语音比较,完成认证。声音识别很少单独使用。一般作为额外的身份认证机制,
与其他认证机制配合使用。
在生物识别技术中,使用最广泛的是指纹识别和面部识别。其他几种生物识别技术使用
相对少,一般用于特定环境。
3.2.4 双(多)因素认证的重要性
如前所述,单因素认证由于只进行一次认证,对于系统而言,等同于仅设定一道防线,
一旦被突破,即可掌握系统授权下的全部信息。而采用双因素认证后,将大大增加外界的攻
击难度,因此安全风险会大大降低。双因素或多因素认证,指的是使用 3.2.1 章节中两种或
多种认证技术的结合使用的认证方式。
现在人们日常使用最多的身份认证操作是手机登录。当前的智能手机大多都支持口令、
锁屏图案、指纹、面部识别等多种认证方式。但基本上采用的还是单因素认证。在用户体验
和安全性上,厂商在保证一定级别的安全性基础上,也要考虑更快、更便捷的用户体验。
安全性在一定程度上都会影响到用户使用体验,所以在企业里实际安全工作的推广也可
能会遇到一些障碍。
如今主流的安全设备、网络设备以及企业的信息化系统,基本都支持双因素认证。比如:
账户密码+短信令牌组合,账户密码+硬件令牌组合,账户密码+USB Key(硬件证书)等组合
方式。图 3.4 是深信服 SSL-VPN 设备的移动端,采用账户密码+硬件令牌双因素认证的登录
效果,输入帐户密码之后,还需要再输入令牌动态码才能登入。
图 3.4 深信服账户密码+硬件令牌双因素认证界面
而网银业务使用的更常见的是硬件 USB Key 技术。
USB Key 技术本质上是将私钥以及数字证书存储于 USB Key 盘上来实现的。USB Key 上
储存的证书是加密写入的,具备防拷贝功能,同时即插即用,不用时拔掉。安全性更高,当
然成本也更高。而软证书存储在本地磁盘,不具备以上这些功能。
在技术原理上,USB Key 也是利用存储在内部的数字证书实现传输加密和 SSL 双向身
份认证技术。本案例将采取颁发软证书的方式,模拟“账户密码+USB Key”的双因素认证技
术实现。
3.2.5 证书身份认证
采用证书实现网站传输加密,分为 SSL 单向身份认证和 SSL 双向身份认证两种方式。一般
Web 应用配置 SSL 单向认证即可,比如,当前百度等大型网络都采用了 SSL 单向认证加密。
但部分金融行业用户的应用,比如,银行的网银用户,就需要采用 SSL 双向认证的方式。
上面提到的 USB Key 就是双向身份认证的实现方式之一。
1.SSL 单向认证过程
CA(Certificate Authority)称为证书颁发机构,即颁发数字证书的机构,也称为电
子商务认证授权机构,是负责发放和管理数字证书的权威机构,并作为电子商务交易中受信
任的第三方,承担公钥体系中公钥的合法性检验的责任。
在生产环境中通常向正规的 CA 颁发中心,采购所需要的公有数字证书。本案例中采用
微软的证书服务,模拟这一证书颁发和安装的过程。在安全性要求不高,或内网环境下,为
节约成本,也可采用本案例的自颁发证书,实现加密和认证的目标。
图 3.5 展示的是 SSL 单向认证的过程。
图 3.5 SSL 单向认证
(1)客户端向 Web 服务器发送 SSL 协议版本号、加密算法种类、随机数等信息。
(2)Web 服务器给客户端返回 SSL 协议版本号、加密算法种类、随机数等信息,同时
也返回服务器端的证书,即公钥证书。
(3)客户端使用 Web 服务器返回的信息验证 Web 服务器的合法性,包括:
证书是否过期,发行证书的 CA(证书颁发机构)是否可信;
返回的公钥是否能正确解开返回证书中的数字签名;
证书中的域名是否和服务器的实际域名相匹配;
如果验证不通过,浏览器会提示警告信息,由用户选择是否继续进行通信。如果用户选
择继续通信,则继续向下执行。客户端向 Web 服务器发送自己所能支持的对称加密方案,供
Web 服务器进行选择。
(4)Web 服务器在客户端提供的加密方案中选择加密程度最高的加密方式。Web 服务器
将选择好的加密方式通过明文返回给客户端 。
(5)客户端接收到 Web 服务返回的加密方式后,随机生成对称加密的密钥,使用 Web
服务器返回的公钥进行加密,将加密后的随机码发送至 Web 服务器。
(6)Web 服务器收到客户端返回的加密信息后,使用自己的私钥进行解密,获取对称
加密密钥。在接下来的会话中,Web 服务器和客户端将会使用该密钥进行对称加密,保证通
信过程中信息的安全。
单向认证执行了客户端对 Web 服务器的认证,而 Web 服务器并没有对客户端执行身份认
证。SSL 单向认证一般用于面向公众的互联网应用,如:百度网站 https://www.baidu.com
等,即采用的是 SSL 单向认证进行数据加密,默认任意客户端都允许访问,不需要对客户端
进行身份认证。
2.SSL 双向认证过程
图 3.6 展示的是 SSL 双向认证的过程。
]图 3.6 SSL 双向认证
(1)客户端向 Web 服务器发送 SSL 协议版本号、加密算法种类、随机数等信息。
(2)Web 服务器给客户端返回 SSL 协议版本号、加密算法种类、随机数等信息,同时
也返回 Web 服务器的证书,即公钥证书。
(3)客户端使用 Web 服务器返回的信息验证 Web 服务器的合法性,包括:
证书是否过期,发行证书的 CA(证书颁发机构)是否可信;
返回的公钥是否能正确解开返回证书中的数字签名;
证书中的域名是否和 Web 服务器的实际域名相匹配;
如验证不通过,浏览器会提示警告信息,由用户选择是否继续进行通信。如果用户选择
继续通信,则继续向下执行。Web 服务器要求客户端发送证书,客户端会将自己的证书发送
至 Web 服务器。Web 服务器验证客户端的证书,验证失败会话将终止,验证通过后,会获得
客户端的公钥。客户端同时向服务端发送自己所能支持的对称加密方案,供 Web 服务器进行
选择。
(4)Web 服务器在客户端提供的加密方案中选择加密程度最高的加密方式,将加密方
式通过使用之前获取到的客户端公钥进行加密,返回给客户端。
(5)客户端收到 Web 服务器返回的加密方案密文后,使用自己的私钥进行解密,获取
具体加密方式,随机生成对称加密的密钥,使用 Web 服务器之前返回的公钥证书进行加密,
发送给 Web 服务器。
(6)Web 服务器收到客户端发送的消息后,使用自己的私钥进行解密,获取对称加密的密
钥,在接下来的会话中,Web 服务器和客户端将会使用该密码进行对称加密,保证通信过程
中信息的安全。
双向认证执行了客户端对 Web 服务器的认证,同时 Web 服务器对客户端的身份也进行了
合法性认证,认证通过后才能继续通讯。双向认证主要用于必须对客户端的身份进行严格认
证的应用场景。比如:银行网银 U 盾的应用,即使用的是 SSL 双向认证技术。
3.3 案例环境
本案例采用 3 台虚拟机来完成双因素身份认证实验。
3.3.1 本案例环境
本案例环境配置,如表 3-1 所示。
表 3-1 双因素认证案例系统配置表
角色 | IP 地址 | 操作系统 | 服务配置 |
CA 服务器 | 192.168.93.131 | Windows2019 Datacenter 版 | 域服务、证书服务 |
Web 服务器 | 192.168.93.129 | Windows2019 Datacenter 版 | IIS 服务 |
Windows10 客户端 | 192.168.93.130 | Windows10 专业版 | 客户端证书 |
本案例环境拓扑图,如图 3.7 所示。
图 3.7 双因素认证拓扑图3.3.2 案例需求
(1)安装 VMware 虚拟化软件
(2)创建 CA 服务器、Web 服务器、Windows10 客户端三台虚拟机
(3)安装虚拟机操作系统
(4)测试网络间联通性
(5)创建虚拟机并安装操作系统
(6)在 CA 服务器上安装域服务和证书服务
(7)在 Web 服务器上申请并安装证书,启用单向认证加密
(8)在客户端申请并安装客户端证书,启用双向认证加密
3.3.3 准备安装环境
本案例需准备的虚拟机安装环境要求如下:
(1)CA 服务器:内存不低于 1.5GB
(2)Web 服务器:内存不低于 1.5GB
(3)Windows10 客户端:内存不低于 1GB
(4)VMware 要求:建议使用 VMware® Workstation 15 Pro 或以上版本
(5)操作系统软件:Windows2019 Datacenter 版、Windows10 专业版
3.4 案例实施:配置双因素认证
完成本案例首先需要安装配置 Web 服务器、再配置证书(CA)服务器,最后安装证书。
下面将按这一流程进行讲解。
3.4.1 安装 Web 服务器
以下是安装、配置 Web 服务器的操作步骤。
1.打开开始菜单中的“服务器管理器”,点击“添加角色和功能”,如图 3.8 所示。
图 3.8 添加角色和功能
2.勾选添加“Web 服务器(IIS)”,如图 3.9 所示。
图 3.9 添加“Web 服务器”
3.在角色服务选择界面,勾选“Windows 身份验证”,如图 3.10 所示。
图 3.10 选择 Windows 身份验证
4.点击“下一步”按钮,完成 Web 服务器角色和功能添加。安装完成后,在 IE 浏览器
中输入当前服务器地址,看到如图 3.11 所示,证明 Web 服务运行正常。
‘图 3.11 Web 服务初始界面
3.4.2 Web 服务器配置“Windows 身份认证”
以下是在 Web 服务器上配置“Windows 身份认证”的步骤。
1.点击“Default Web Site”,双击“身份验证”图标,如图 3.12 所示。
图 3.12 配置身份验证
2.禁用“匿名身份验证”,启用“Windows 身份验证”,如图 3.13 所示。
图 3.13 启用 Windows 身份验证
3.重新访问 Web 站点,弹出身份认证框,说明 Windows 身份验证已经生效,如图 3.14
所示。
图 3.14 身份认证登录界面
输入用户名口令后,看到图 3.8 所示的 Web 初始界面,说明配置成功,访问正常。
3.4.3 配置证书服务器
在安装“Active Directory 证书服务”之前,首先要安装“Active Directory 域服务”,
然后才能安装配置证书服务。配置证书服务器的操作步骤如下。
1.安装配置“Active Directory 域服务”
下面是操作步骤。
(1)安装域服务之前,需要先将网卡设置为固定 IP,同时将网卡的 DNS 地址设置为自
身 IP,然后启动服务器管理器,添加“Active Directory 域服务”角色和功能,如图 3.15
所示。
图 3.15 勾选 Active Directory 域服务
(2)在图 3.15 界面连续点击“下一步”按钮,到如图 3.16 界面,点击“安装”按钮。
图 3.16 安装 Active Directory 域服务
(3)完成角色安装后,点击“服务器管理器”黄色三角图标,在图 3.17 的下拉菜单中,
点击“将此服务器提升为域控制器”按钮,将普通服务器升级为域控制器。
图 3.17 继续配置证书服务
(4)在弹出界面,单选“添加新林”选项。然后在根域名位置,输入根域名,本案例
中为“kgc.com”。点击“下一步”按钮,如图 3.18 所示。
图 3.18 添加新林
(5)在图 3.19 界面中,设置目录服务还原密码,此密码用于活动目录还原时使用,须
记牢。然后点击“下一步”按钮。
图 3.19 设置目录服务还原密码
(6)按默认设置,点击“下一步”按钮后,看到的 DNS 选项界面如图 3.20 所示。保持
默认设置值,忽略出现的警告提示。继续点击“下一步”按钮,DNS 服务会在安装域服务过
程中同步安装。
图 3.20 DNS 选项界面
(7)如图 3.21 界面中,NETBIOS 名称保持默认值,继续点击“下一步”按钮。
图 3.21 NETBIOS 名称保持默认
(8)在图 3.22 界面中,选择安装路径。在生产环境中,建议将数据库文件夹和日志文
件选择不同的卷或磁盘,在实验环境使用默认设置值。点击“下一步”按钮,如图 3.22 所
示。
图 3.22 选择安装路径
(9)连续点击“下一步”按钮,看到图 3.23 界面,检查活动目录安装的先决条件。先
决条件检查通过,点击“安装”按钮。安装完成后,服务器将自动重启。如果先决条件检查
未通过,根据提示信息调整系统后,重新执行此步骤。
图 3.23 检查先决条件已通过
(10)安装完成,自动重启服务器后,打开开始菜单中的“Windows 管理工具”,找到
“Active Directory 用户和计算机”,如图 3.24 所示。
图 3.24 Active Directory 用户和计算机管理界面
由此,会发现域管理组件已存在,域服务安装完成。
2.安装配置证书服务
下面是证书服务的安装、配置步骤。
(1)打开服务器管理器,点击“添加删除角色”按钮,在弹出界面,连续点击“下一步”
按钮,直到出现图 3.25 界面。勾选“Active Directory 证书服务”,点击“下一步”按钮。
图 3.25 勾选“Active Directory 证书”服务
(2)按默认连续点击“下一步”按钮后,看到图 3.26 界面。勾选以下四个证书服务组
件,点击“下一步”按钮。
\图 3.26 选择证书服务角色组件
(3)连续点击“下一步”按钮后,看到图 3.27 界面。点击“安装”按钮,开始安装“Active
Directory 证书”服务角色。
图 3.27 开始安装“Active Directory 证书”角色
(4)证书服务角色安装完成,需要重启服务器,如图 3.24 所示。
图 3.28 证书服务安装完成
(5)重启服务器后,在服务器管理器界面,点击右上角黄色标识,在下拉菜单中选择“配
置目标服务器上 Active Directory 证书服务”,开始进行证书服务配置,如图 3.29 所示。
图 3.29 开始配置证书服务
(6)在图 3.30 界面中,输入账户凭据,可单独创建账户,也可按默认值使用超级管理
员账户(本案例使用超级管理员账户)。点击“下一步”按钮。
图 3.30 指定凭据
(7)图 3.31 所界面中,先勾选前三个角色服务,因为前三个角色服务安装完成后,才
能勾选安装第四个角色服务。点击“下一步”按钮。
图 3.31 选择证书配置角色
(8)图 3.32 所示的界面中,选择 CA 类型,微软平台的证书服务,默认支持“企业 CA”
和“独立 CA”两种类型。选择“企业 CA”,“企业 CA”只有在域环境下才能使用,“企业
CA”比“独立 CA”功能更全面,管理更方便。要完成本案例双因素认证的功能,必须选择
“企业 CA”,点击“下一步”按钮。
图 3.32 安装企业 CA
(9)在图 3.33 所示的界面中,按默认选择“根 CA”,点击“下一步”按钮。
图 3.33 安装根 CA
(10)进入图 3.34 界面后,按默认选择“创建新的私钥”选项,点击“下一步”按钮。
图 3.34 创建新私钥
(11)在图 3.35 界面中,选择 CA 的加密算法。其中:哈希算法的位数越高且密钥长度
越长,安全性越好,但加密花费的时间也越长。生产环境可选择“SHA384”或“SHA512”算
法,在实验环境中,可以使用默认值。
图 3.35 选择加密算法
(12)在图 3.36 界面中,直接点击“下一步”按钮。
图 3.36 指定 CA 名称
(13)在图 3.37 界面中,可设置证书的有效期。有效期设置的越短,证书的安全性越高,
但证书的更新也更频繁。有效期的默认值为 5 年,本实验环境保持默认选项,点击“下一步”
按钮。
图 3.37 设置证书有效期
(14)在图 3.38 界面中,设置数据库位置。生产环境下,可将数据库和日志分别选择不
同磁盘组存储。本实验环境保持默认值`,点击“下一步”按钮。
图 3.38 设置数据库位置
(15)在图 3.39 界面中,点击“配置”按钮。
图 3.39 配置 CA
(16)在图 3.40 界面中,完成 CA 初步配置。
图 3.40 完成 CA 初步配置
(17)完成以上配置后,进入图 3.41 界面,点击“是”按钮,继续配置剩余服务组件。
图 3.41 继续配置服务
(18)在 “指定凭据”界面中,保持默认使用 Administrator 角色凭据。点击“下一步”
按钮,如图 3.42 所示。
图 3.42 指定凭据配置角色服务
(19)在图 3.43 界面中,勾选 “网络设备注册服务”单选项。“网络设备注册服务”
是一个发放和管理安全证书的解决方案,用于保护非 Active Directory 的设备。
图 3.43 配置网络设备注册服务
(20)在图 3.44 中,选择“指定服务账户(推荐)”标识。这里要在“Active Driectory
用户和计算机”管理组件中新建一个 IIS 服务管理账户,加入到 administrators 组和
IIS_IUSRS 组中。本案例的账户名为 iisadmin。选择此账户后,点击“下一步”按钮。如果
直接用 administrator 账户,则会报错。
图 3.44 指定服务账户
(21)在图 3.45 界面中,填入可选信息,点击“下一步”按钮。
图 3.45 填入可选信息
(22)接下来连续点击“下一步”按钮,直到进入如图 3.46 界面。点击“关闭”按钮,
完成全部 Active Directory 证书服务(ADCS)配置。
图 3.46 完成 ADCS 配置
(23)完成证书服务安装配置后,打开开始菜单,找到管理工具,在管理工具菜单中打
开“证书颁发机构”管理工具,看到如图 3.47 界面,说明证书服务安装成功。
图 3.47 证书服务安装成功
3.4.4 Web 服务器申请及安装证书
在申请和安装证书前,要先将 Web 服务器加入域。
1.将 Web 服务器加入域
首先将 Web 服务器网卡的 DNS 地址设置成域控的 IP 地址。然后执行以下操作。
(1)在开始菜单中,找到“Windows 系统”菜单,点击“控制面板”项,再找到并点
击“系统”按钮,如图 3.48 所示,在属性窗口中,点击“高级系统设置”,再点击“计算
机名”标签,点击“更改”按钮。
图 3.48 将 Web 服务器加入域-1
2)在弹出的窗口中,选择“域”,输入域名,在本案例的域名是 kgc.com,如图 3.49
所示。
图 3.49 将 Web 服务器加入域-2
(3)点击“确定”按钮后,在弹出的用户名口令框中,输入域管理员口令后,会看到
提示“欢迎加入 kgc.com 域”。再点击“确定”按钮,自动重启系统。系统重启后,使用域
管理员账户登录系统,如图 3.50 所示。
图 3.50 成功加入域
(4)Web 服务器加入域成功后,开始为 Web 服务器申请证书。
2.Web 服务器申请证书
按如下步骤执行操作。
(1)在开始菜单“Windows 管理工具”中,找到并打开“Internet Infomation
Services(IIS)管理器”,点击左侧服务器名称,双击右侧“服务器证书”,如图 3.51 所示。
图 3.51 准备创建证书申请
(2)在打开的图 3.52 界面,点击右上角“创建证书申请”按钮,弹出窗口
,添写通用
名称等信息,通用名称一般填入网站域名。
图 3.52 创建证书申请
(3)在图 3.53 界面,选择密钥位长,位长越大,安全性越强,但较大的位长会降低性
能。点击“下一步”按钮。
图 3.53 设置密钥位长
(4)在图 3.54 界面,选择证书申请文件保存位置,并输入文件名,点击“完成”按钮
保存证书申请文件。
图 3.54 保存证书申请文件
(5)打开 IE 浏览器,输入证书服务器证书申请链接地址:
http://192.168.93.131/certsrv,在弹出框中输入证书服务器账户口令后,看到如图 3.55
所示界面。点击“申请证书”按钮。
图 3.55 点击申请证书
再
(6)点击“高级证书申请”超链接,如图 3.56 所示。
图 3.56 点击高级证书申请
(7)在图 3.57 界面,点击“使用 base64 编码的 CMC 或 PKCJ #10 文件提交一个证书申
请,获使用 base64 编码的 PKCS#7 文件续订证书申请”链接。
图 3.57 使用 base64 编码申请证书
(8)用记事本软件打开将之前保存有证书申请文件,全选复制粘贴到图 3.58 中红框位
置。然后,点击“提交”按钮。
图 3.58 提交证书申请
(9)提交证书申请后,可以看到在 Web 服务器申请的证书,已由企业根 CA 自动颁发。
在图 3.59 界面中,直接点击“下载证书”和“下载证书链”超链接,将证书和证书链文件
保存到本地备用。
图 3.59 下载证书和证书链
3.Web 服务器安装证书
操作步骤如下。
(1)在 Web 服务器上,打开 IIS 管理器。点击左侧服务器名称,双击右侧“服务器证
书”,如图 3.60 所示。
图 3.60 准备安装服务器证书
(2)在图 3.61 界面,点击右上角“完成证书申请”超链接。在弹出窗口的“好记名称”
文本框中,输入网站域名,然后点击“确定”按钮。至此,便成功将刚才申请的 Web 服务器
证书安装至 Web 服务器。
图 3.61 安装证书
(3)将证书安装到 Web 服务器后,还需要作证书绑定配置,即启用 https 协议。在 IIS
管理器中,点击左侧“Default Web Site”,在右侧点击“绑定”按钮,如图 3.62 所示。
在弹出窗口中,点击“添加”按钮,添加 https 协议类型。在下方的 SSL 证书下拉框中,选
择刚安装好的证书,点击“确定”按钮。然后将原有的 http 协议类型删除,这样网站将仅
能通过 https 加密协议下访问。到此完成了 SSL 证书绑定配置。
图 3.62 启用 https 协议类型
(4)重新在客户端访问 Web 站点 https://192.168.93.129,会出现证书警告提示。如
图 3.63 所示,选择“继续浏览此网站”选项,弹出网站身份认证框。输入正确的账户名和
口令,便浏览到网站的初始页面。
至此,完成了网站的“账户名+口令”单因素认证,同时网站启用了 SSL 证书加密,从
客户端到站点的数据传输已配置为加密传输。
图 3.63 访问 https 网站测试
4.Web 服务器启用 SSL 双向认证
下面是开始启用 SSL 双向认证的操作步骤。
(1)在 Web 服务器上配置强制要求客户端证书,实现 SSL 双向身份认证。在图 3.64
中,点击“Default Web Site”选项,在右侧双击“SSL 设置”选项。
图 3.64 SSL 设置
(2)在图 3.65 界面中,勾选“要求 SSL”复选框,勾选下面单选“必需”单选按钮,
要求客户端访问必须安装证书才能访问网站。右侧点击“应用”按钮。至此,web 服务器启
用 SSL 双向认证的配置已完成。
图 3.65 设置客户端必须使用证书
(3)在客户端上,重新访问 Web 服务器,在 IE 浏览器中输入 https://192.168.93.129
会出现报错信息,如图 3.66 所示。这是因为客户端还没有安装证书,所以无法通过认证。
图 3.66 客户端访问被拒绝
3.4.5 客户端申请及证书配置
在前面的几节中,Web 服务器已安装好 Web 服务器证书,并启用了 SSL 双向认证,现在
客户端无法访问 Web 服务器网站,因为客户端还没有申请安装证书,这就相当于还没有 U
盾无法访问银行的网站一样,无法通过服务器对客户端的身份认证。
下面为客户端申请并安装证书,如同给客户端插上 U 盾。
1.在客户端计算机,打开 IE 浏览器,输入 CA 证书服务器地址
http://192.168.93.131/certsrv,页面效果如图 3.67 所示。输入证书服务器的账户名和口
令,可登录申请证书。
图 3.67 登录证书服务器
2.登录后,在如图 3.68 界面中,点击““申请证书”任务,准备为客户端申请证书。
图 3.68 为客户端申请证书
3. 点击“高级证书申请”链接,如图 3.69 所示。
图 3.69 高级证书申请
4.在图 3.70 界面,点击“创建并向此 CA 提交一个申请”选项。
图 3.70 创建并向 CA 提交申请
5.在如图 3.71 所示高级证书申请界面中,会弹出一个警告提示框。出现的警告意思表
示:只有通过 https 协议访问,才能完成证书注册。因此,要完成下面的证书申请,需要先
为 CA 证书服务器的 Web 服务(IIS)安装证书,配置为 https 协议类型。
图 3.71 高级申请页面警告提示
CA 证书服务器的 Web 服务(IIS)证书申请及安装,可参照 3.4.4 章节步骤进行安装配置。
作为实验环境,也可以使用自签名证书完成快速安装 CA 服务器的证书。
打开 CA 证书服务器上面的 IIS 管理器。点击左侧的服务器名称,双击右侧的“服务器
证书”图标后,看到如图 3.72 界面,在右侧窗格,点击“创建自签名证书”快速安装证书。
图 3.72 在 CA 服务器上安装自签名证书
6.在弹出界面,设置“好记的名称”,输入证书(CA)服务器的域名点击“确定”按
钮,如图 3.73 所示。
图 3.73 自签名证书指定友好名称
7.完成自签名证书配置后,设置 CA 服务器 Web 站点绑定配置,如图 3.74 所示。在 IIS
管理器中,点击“Default Web Site”站点,在右侧窗格中点击“绑定”按钮。
图 3.74 设置 CA 上的 Web 绑定
8.在弹出的窗口中,选择 https 类型,然后选择刚才配置的自签名证书,如图 3.75 所
示。
图 3.75 Web 服务绑定 SSL 证书配置
在浏览器中重新输入地址:https://192.168.93.131/certsrv,使用 https 协议登录,
重新进行证书申请,重复本节 1-4 步骤,重新到达如图 3.76 所示界面。点击“是”按钮,
继续为客户端申请证书。
图 3.76 高级证书申请警告提示
9.在图 3.77 所示高级证书申请界面下,填入姓名等识别信息。在证书模板选项,必须
选择“用户”模板。下面“好记的名称”的文本框中文字输入 Web 服务器的域名,点击“提
交”按钮。
图 3.77 填写识别信息选择证书类型
10.申请提交后,在图 3.78 界面,企业根 CA 已自动颁发证书。在弹出框点击“是”按
钮,准备进行证书安装。
图 3.78 Web 确认访问
11.点击“安装此证书”按钮,再点击“请安装 CA 证书”按钮,在下部弹出框中点击“打
开”按钮,如图 3.79 所示。
图 3.79 打开客户端证书准备安装
12.在弹出的界面中,点击“安装证书”按钮,存储于本地计算机,再点击“下一步”
按钮,如图 3.80 所示。
图 3.80 安装证书存储于本地计算机
13.在如图 3.81 所示的界面中,将证书安装到“受信任的根证书颁发机构”,然后点击
“下一步”按钮。
图 3.81 证书存储到根证书颁发机构
14.如图 3.82 所示,点击“完成”按钮。
图 3.82 点击“完成”
15.完成以上操作后,返回到如图 3.83 界面,再次点击“安装此证书”按钮。
图 3.83 再次点击“安装此证书”按钮
16.看到如图 3.84 所示的界面,代表客户端证书安装完成。
图 3.84 客户端证书安装完成
17. 在客户端重新登录 Web 服务器地址 https://192.168.93.129,发现之前的“403”
报错已消失。点击“继续浏览此网站”选项后,弹出“确认证书”窗口,如图 3.84 所示。
图 3.84 确认证书提示
18.点击“确定”按钮后,如图 3.85 所示。看到账户号口令登录框,代表证书认证已通
过。输入正确的账户名、口令后,点击“确定”按钮。
如果出现“此网站的安全证书存在问题”提示,使用 www.kgc.com 登录后会自动消除。
图 3.85 输入账户名、口令
19.点击“确定后”按钮,网站可正常访问,至此针对 Web 服务器实现了基于账户名、
口令和证书的双因素认证,如图 3.86 所示。
注意:未安装合法证书的客户端,无法成功连接 Web 服务器。
图 3.86 客户端成功登录 Web 服务器