使用证书保护网站--兼谈证书服务器吊销列表的使用

现在许多企业与个人,都拥有属于自己的网站,并且发布在Internet供朋友、合作伙伴或其他人所访问,但是,在许多情况下,某些发布到Internet的网站,只想让指定的用户或指定的人来访问,那么应该怎么办呢?我想,可能的方法有:

ü 限制客户端的IP地址

ü 在网站中,取消匿名访问权限,只让拥有用户名与密码的人访问

ü 搭建证书服务器为指定的用户颁发证书只让拥有证书的客户端访问

在这三种方法中,各有利弊:

(1)对于某些用户来说,IP地址可能是经常要变的。另外,如果访问的用户比较多,就需要频繁的维护一张列表,当用户IP地址更改时需要在服务器上修改。

(2)取消“允许匿名访问”权限的方法最简单,但用户名与密码可能很容易“泄露”。

(3)使用证书方法最安全,但需要维护证书服务器。

本节介绍配合证书服务器、让指定用户访问网站的方法,网络拓扑如图1所示。

图1 网络拓扑牢图

在图1中,证书服务器、网站服务器、内网用户在同一个局域网中,网站服务器中有一个测试网站,通过防火墙发布到Internet,对外服务地址是https://61.x.x.6:6688,Internet网络用户可以使用该地址访问“网站服务器”发布的网站,而内网用户,可以直接通过IP地址https://192.168.1.8(或端口或内部域名)访问该网站。

在这个案例中,各服务器的主要配置步骤如下:

(1)在“证书服务器”上安装“标准证书服务器”。

(2)在“网站服务器”上配置网站,并从“证书服务器”申请用于网站的“服务器”证书。

(3)使用“防火墙”发布“网站服务器”与“证书服务器”到Internet,例如,可以将证书服务器用TCP的432端口发布,将网站服务器用TCP的6688端口发布。即将61.x.x.6的TCP的432端口转发到192.168.1.35的80端口,将61.x.x.6的TCP的6688端口转发到192.168.1.8的443端口。

(4)“内网用户”从“证书服务器”申请证书,“Internet网络用户”通过http://61.x.x.6:432/certsrv申请证书。申请的证书类型为“客户端身份验证证书”,如图2所示。

图2 申请“客户端身份验证证书”

(4)管理员登录“证书服务器”,进入“证书颁发机构”,颁发用户与服务器申请的证书。

(5)在“网站服务器”,从“证书服务器”获得并安装证书,然后配置网站,要求客户端证书(在网站“目录安全性→安全通信→编辑”进入“安全通信”对话框,选中“要求安全通通(SSL)”与“要求客户端证书”选项),如图3所示。

图3 要求客户端证书

(6)客户端获得并安装证书,并“信任”证书颁发机构,然后登录https://61.x.x.6:6688,在弹出的对话框中,选择安装的用户证书(如图4所示),就可以浏览使用证书保护的网站了。

图4 选择用户证书

这样就达到了我们的目的。对于管理员来说,如果不想让某个用户继续访问网站,则在“证书服务器”上“吊销”该用户的证书并发布证书吊销列表即可。

在上述配置中,一个特别注意的问题就是:“网站服务器”必须要能访问“证书服务器”的吊销列表,否则,当用户访问网站时会出现“HTTP 403.13 禁止访问: 客户证书己在web服务器上吊销”的错误,如图5所示。

图5 出现HTTP403.13错误

当出现这个错误时,用户首先想到的可能就是客户端证书已经被吊销,但许多情况下,并不是用户证书被吊销,而是网站服务器无法访问证书服务器的证书吊销列表 (CRL)导致无法检查证书的吊销状态时,也会发生该错误消息。那么,怎样检查网站服务器能否访问证书吊销列表呢?你可以通过如下的方式验证。

在网站服务器上,登录证书申请页面http://192.168.1.35/certsrv,单击“下载一个 CA 证书,证书链或 CRL”链接,在“下载 CA 证书、证书链或 CRL”页,单击“下载最新的基 CRL ”链接,在弹出的“文件下载”对话框中单击“打开”按钮,打开“证书吊销列表”,在“发行的CRL位置”,查看“CN=”后面的名字,例如,本例中名称是“std-ca.sjqlq.gov.cn”,如图6所示。

图6 查看CRL地址

然后用http:// std-ca.sjqlq.gov.cn/certsrv的方式,看能否打开证书申请网站,如果不能打开,表示当前的网站服务器不能访问证书吊销列表,这通常是名称解析造成的问题,你可以修改网站服务器本地的hosts文件(通常在c:\WINDOWS\system32\drivers\etc\目录中),添加如下一行:

192.168.1.35 std-ca.sjqlq.gov.cn

以正确的解析该名称。

其中“std-ca.sjqlq.gov.cn”这个名称是你安装“标准证书服务器”时设置的名称,如果你想采用其他的名称颁发证书吊销列表,你可以登录到“证书服务器→证书颁发机构”,右击“证书服务器名称”,在弹出的对话框中选择“属性”,在“扩展”选项卡中,通过添加“CRL分发点”来达到这个目的,如图7所示。

图7 添加CRL分发点位置

其中 ,CRL分发点的格式如“http://std-ca.sjqlq.gov.cn/certenroll/std-ca.sjqlq.gov.cn.crl”,其中std-ca.sjqlq.gov.cn是证书服务器的名称。

如果你想修改证书吊销列表的颁发周期,可以通过右击“吊销的证书→属性”,在“CRL发布参数”修改CRL发布间隔,如图8所示。

图8 修改CRL发布间隔

你可能感兴趣的:(使用证书保护网站--兼谈证书服务器吊销列表的使用)