一、KPI综合实验说明
1.实验概述
- 实验内容:发布网站使用域名访问,且可以实现https访问网页
- 实验所需服务器:IIS之WEB服务器、DNS服务器、CA服务器
2.实验原理
1)https服务什么
- https服务:本质上就是要使用SSL加密技术,在 HTTP 的基础下加入SSL,HTTPS 的安全基础是 SSL
2)为何部署CA服务器
- 我们搭建一个网站服务器,但是默认只能提供80端口服务(http服务),希望升级为443(https服务),本质上就是要使用SSL加密技术,那么需要PKI的帮助,而PKI中有一项内容为CA来公正,所以需要安装CA服务器
3)CA服务器满足要求
- 安装CA服务器注意:因为CA公证需要通过网页的形式提供一个服务窗口(注册窗口),那么CA也必须要搭建WEB服务器(IIS),发布CA公证所需网页,而且与用户间要交互,所以安装IIS服务器必须还要勾选动态服务扩展和插件
- CA服务器搭建好后,为用户提供网页形式的注册窗口,会自动放到IIS默认web站点中(即
c:\inetp\wwwroot
),通过默认站点路径发布CA的网站
4)DNS服务器部署
- 需要通过域名访问发布的站点,所以需要再部署DNS服务器给网站添加域名解析
5)KPI的应用
- 通信双发:web服务器与客户端
- KPI的组成:公钥加密技术、数字证书、CA、RA
- 公钥加密技术:使用https(SSL加密技术)。用https协议通信,浏览器与服务器的通信信息都是加密传输的
- 数字证书:CA服务器颁发证书给发布网页的web服务器;CA服务器颁发证书给客户机
- CA即我们搭建的CA服务器(现实中我们应该去权威的国家CA认证机构去申请证书,这里是模拟实验)
二、搭建HTTPS服务器过程
1.搭建WEB服务器发布网页
实验环境:
1)win2008作为https服务器:10.1.1.1/24(即把win2008同时部署成WEB服务器、CA服务器、DNS服务器)
2)win7作为客户机:10.1.1.2/24
3)桥接到虚拟网络vmenet1
1)安装IIS服务器,并发布网页
-
注意:安装IIS必须勾选动态服务扩展和插件
-
右键网站–添加网站–发布的网站为game,通过域名
www.game.com
访问,这里目前还选不了https服务,因为此IIS服务器没有数字证书 -
为网站添加首页
2)搭建DNS服务器
-
新建正向查找区域取名为
game.com
,新建主机A记录,添加一条解析记录www.game.com 10.1.1.1
-
客户端可以通过http服务,使用
www.game.com
访问此网站客户端目前需要和web服务器在同一个局域网,且指向刚创建的DNS服务器(因为这些都是虚拟中模拟的,并没有在运营商那里登记注册记录这些网站的合法性,那么这个game网站的域名解析只能通过自己的dns创建)
2.搭建CA服务器
-
搭建CA服务器:安装Active Directory 证书服务
-
一定要勾选证书颁发机构Web注册(因为搭建CA服务器后是有CA了,但根本没法与客户机交流,所以要做一个网页)
-
选择新的私钥:即CA的公钥私钥都自动创建了;选择加密算法,密钥长度
-
CA的共用名称:一定要好好取名,因为作为国家公认的工商局需要有自己的名字(标识),相当于给自己的一个证书。(一个给别人颁发,还有一个自己的证书证明自己是权威的CA)
-
-
开始–管理工具–证书颁发机构
CertSrv网站即为创建CA服务器自动在WEB服务器上默认站点下建立的子站点—用于客户申请证书
3.web服务器申请证书
1)生成申请书
-
注意:是IIS服务器提供HTTPS服务,其下的网站使用HTTPS服务;所以一定是要用IIS服务器申请证书,但是最终是该IIS服务器发布的某个网站使用HTTPS服务,所以证书中的使用者标识信息一定要写要用https访问的网站的信息,即名称为网站的域名,所以IIS申请一个证书,该证书只能证明IIS发布的其中指定的一个网站的合法性,即如果发布多个网站一定要用IIS服务器创建多个申请证书,一个证书的使用者信息指定一个网站
-
所以选择IIS服务器名称–服务器证书–创建证书申请–填写相关信息(通用名称一定是最后要用https访问的网站的域名,不能瞎写)–生成自己的公钥和私钥–设置申请书存放的本地位置、并取名
2)申请证书的过程
-
找到CA的注册窗口(即CA提供的注册网页):打开浏览器–输入
CA服务器IP/certsrv
(certsrv站点是创建CA服务器时就自动在WEB服务器默认站点下创建的网站,且微软搭建的CA服务网站的命名默认都是certsrv)访问CA申请证书的网站如果想用域名访问certsrv网页,可以再在DNS服务器上创建一个主机A记录,为默认站点绑定一个域名,再通过访问
域名/certsrv
访问网页(详见四、使用https访问certsrv) -
选择申请证书–选择证书类型(1.Web浏览器证书—给员工申请的证书 2.电子邮件保护证书(以后学邮件系统学)3.高级证书申请–给服务器申请证书)
为什么员工也要申请证书:我们现在要让IIS提供HTTPS服务,设计到通信信息安全方面,所以需要PKI,那么IIS服务器需要向CA申请证书,让访问的用户相信IIS提供的网站是合法的且网站就是真正的网站不是别人伪造的网站,用户只要相信IIS提供的某网站,网站就可以提供HTTPS服务;
但是有些网站需要双向认证,客户也需要认证自己的身份,即客户有时也需要申请证书,证明访问网站的人就是本人,比如有些公司的网站,需要客户的证书证明就是公司的内部人员,在外网也可以进行访问,那么此时网站和客户之间的通信就被加密了,很安全
-
使用base64编码:因为刚才IIS服务器生成的申请书就是使用base64编码;再将申请书中的内容,复制到页面中,提交!
3)关闭每次打开win2008浏览器都弹一个框添加信任的框
-
右键我的电脑–管理–服务器管理器–IE增强的安全配置–配置IE ESC–禁用
4.CA颁发数字证书
-
CA收到申请后–选择挂起的申请–可以查看到申请–对申请右键–所有任务–颁发
5.为web服务器下载并安装证书
1)WEB服务器下载证书
-
客户下载通过的证书:再登录CA注册网站–选择查看挂起的证书–保存证书–默认编码下载证书(证书链是多个证书:证书a系这证书b,证书b系着证书c)
2)将颁发的证书添加到WEB服务器
-
打开IIS–点击IIS服务器名称–服务器证书–完成证书申请
-
现在会发现IIS服务器上已经有两个证书
上面的证书为CA自己的证书,因为CA的官方网站CA要自己颁发证书,告诉大家这是公证合法的
下面的证书即WEB服务器的证书,现在就可以通过这台web服务器发提供https服务的网站了
6.启用SSL开启443端口
1)将IIS的证书绑定到game网站
-
右键game网站–编辑绑定–添加–类型选择https,IP为IISIP,https服务端口号443,SSL证书选择IIS的数字证书,ZJJ-CA是CA机构自己的证书
-
如果想让客户端必须使用https方式访问,则需要设置SSL必需:选择需要使用https方式访问的网站(game)–SSL设置–勾选要求SSL–应用
如果不勾选要求SSL,则客户使用http或者https都可以访问此网站
2)设置客户端是否需要证书来访问
-
打开指定网站的SSL设置–先勾选SSL(才能要求客户是否需要提供证书访问)–设置客户证书
- 如果忽略或者接收则客户有没有证书都可以访问此网站
- 选择必需,表示客户也必须同样有证书才能访问此网站
客户申请证书详见三、给客户端浏览器申请证书
7.客户端用https访问网站
1)客户端添加受信任CA
就算web服务器有CA颁发的证书,但是如果客户端不信任CA也无法访问,所以客户要使用https方式访问网站,还需要将给此网站颁发证书的CA机构添加信任
疑问?为什么访问百度就可以直接访问,因为给百度web服务器颁发证书的CA是中国公证的CA,浏览器内置信任过
-
打开客户端(浏览器)–工具–Internet选项–内容–证书–受信任的根证书颁发机构:这里可以查看此浏览器信任的CA
-
下载CA的证书
需要下载CA的证书,然后导入到信任机构中,即表示信任在此CA注册的网站(本质上就是拿到CA的公钥,去验证服务端发送过来的网站的证书的有效性,以及网站的公钥的真实性,最终确认访问的网站就是真正的网站)
-
打开浏览器–访问CA的官方页面
10.1.1.1/certsrv
–下载CA证书
-
-
将CA添加到受信任的证书颁发机构
- 打开浏览器–工具–Internet选项–内容–受信任的根证书颁发机构–导入–将下载的CA证书导入即可
2)客户使用https访问网站
-
输入
https//www.game.com
可以直接访问网站内容,且可以查看到网站标识信息
三、给客户端浏览器申请证书
为什么要给客户端口浏览器申请证书:因为如果有些公司的网站提供https服务,但是也需要合法的受信任的用户访问网站(即网站的SSL设置中选择客户证书必需)。比如银行的某些网站,银行要给我们办理银行优盾。
1.客户申请证书说明
- 如果网站要求访问的用户也必须有在发布此网站的服务器信任的CA那注册过证书,那么客户想访问此网站,就必须也要去相应的CA注册网站上申请证书;证书是颁发给客户使用的客户端(浏览器)的
2.客户申请证书过程
-
打开CA的申请证书官网
10.1.1.1/certsrv
–申请证书–选择Web浏览器证书类型–发现win7系统的IE浏览器必须要求填写的注册信息发送给CA采用SSL加密,即CA的申请证书官网一定要使用https协议传输,所以要再通过发布CA申请证书官网的IIS-web服务器为CA申请证书官网申请一个证书,然后将证书绑定到默认网站(子网页为certsrv)上,设置SSL,就可以通过https访问CA申请证书官网了(过程详见:使用https访问certsrv)这一步一般不用我们来做,这是CA要做的事情,但是我们要知道怎么做的,其实和前面搭建https过程一致
解决办法二:打开浏览器–工具–Internet选项–安全–自定义级别–找到ActiveX 插件和控件下的是个子选项全部启用,即可,不需要通过https的方式与CA官网传输数据
-
发布CA官网的web服务器提供了https服务后,即可通过
https://www.zjj.ca.com/certsrv
来访问CA证书申请官网了(www.zjj.ca.com
为CAweb服务器的默认站点域名,certsrv为默认站点下的子网页,即CA证书注册页面) -
申请证书–选择Web浏览器证书–填写用户的相关信息–提交
-
CA验证信息后颁发给客户数字证书,用户再次登录官网,选择查看挂起的证书–web证书–下载即可
-
此时用户就可以访问此网站了(win7系统的IE浏览器访问不了,但xp的可以访问?)
四、使用https访问certsrv
- 为什么要做这个:客户申请证书填写信息时win7的ie浏览器需要使用https传输
步骤和上述搭建https过程几乎一致,只是有一些地方要注意:
①certsrv网页是默认站点下的一个网页,certsrv不是一个站点,所以域名解析是绑定的默认站点,再通过
默认站点域名/certsrv
访问;②且颁发的证书中通用名称也应该是默认站点的域名,站点有了证书,那么其下的子网页也可以通过https访问;
③如果使用同一台web服务器发布两个网站(默认网站和game网站),且两个网站都需要绑定证书,IIS7版本是做不到的:因为IIS7不支持同时绑定多个证书,即使导入到IIS的证书很多,但是只能绑定一个证书。解决办法可以使用IIS8;也可以多买一台服务器,一台web服务器发布game,一台服务器发布默认站点。
-
先为默认站点创建域名解析
-
DNS服务器–正向查找区域新建区域–再创建主机A记录–绑定发布默认站点的IIS的IP地址,即可以通过
www.zjj.ca.com/certsrv
来访问默认站点下的子网页:certsrv网页
-
-
再在IIS上为默认站点绑定主机名(域名)— 能通过
www.zjj.ca.com/certsrv
访问CA注册官网-
certsrv是Default Web Site下的一个子网页,不能给网页绑定域名,只能给网站绑定
-
-
为默认网站申请证书
-
打开发布certsrv网站的IIS-web服务器–点击web服务器的名称–服务器证书–创建证书申请
注意:这个证书通过IIS给CA注册官网申请的证书,所以不能用前面完成的game证书,因为证书中的内容包含了证书使用者的相关信息。所以这里通用名称一定要写CA注册官网的域名
-
打开CA申请证书官网–申请证书–高级证书申请–使用base64编码…–将刚证书的申请内容复制到申请栏中–提交
-
等待CA颁发,颁发后重新登录certsrv页面–查看挂起的证书申请状态–下载颁发的证书
-
打开IIS点击服务器名称–服务器证书–完成证书申请–将颁发的CA注册官网的证书添加进来
-
右键默认站点–编辑绑定–添加–选择https,SSL证书选择刚才为为默认站点颁发的证书,IIS7版本不支持绑定多个SSL证书,所以我们只能先停用game,等客户填通过CA官网获取到数字证书,再停用默认站点
-
接下来我们就可以通过https访问CA注册证书的官网了
-