|
搭建基于SSL的安全Web站点
◆ 蔡涛 史涛
--------------------------------------------------------------------------------
本报第21期刊登了文章《SSL在Web中的应用》,介绍了在Web中使用SSL的三种方法,但是没有涉及如何搭建一个可以使用SSL加密机制的网站,本文作为《SSL在Web中的应用》一文的补充,着重讲述如何将自己的网站配置成一个基于SSL的Web站点。本文假定系统环境为Windows 2000 Advance Server,并已经运行IIS 5.0,同时,假设要配置服务器的IP地址为120.10.10.11。
安装安全
“证书颁发机构”组件
一般来说商业上正规的安全认证证书是由专门的安全认证中心统一颁发的,这种证书需要申请,而且要花钱购买。幸运的是Windows 2000的标准组件中提供了“证书颁发机构”组件,不用犹豫,马上安装该组件,让自己的计算机也成为安全认证中心来颁发安全认证证书。
安装步骤如下:
1. 从“开始 → 设置 → 控制面板 → 添加/删除程序 → 添加/删除Windows组件”,进入“Windows组件向导”。
2. 选中“证书服务”,系统会提示“安装证书服务后,不能重命名计算机,并且计算机不能加入域或从域中删除,要继续吗?”,选择“是”(若要重命名计算机、加入域或从域中删除,要重新安装证书颁发机构),单击“下一步” 。
3. 在此后选择“独立根CA”、输入CA名称(假设为“myCA”),逐步完成安装。
安装完成后,还需进行必要的配置:
1. 从“开始→程序→管理工具”进入“证书颁发机构”;
2. 鼠标选中“myCA”,按鼠标右键选择“属性”,进入“myCA属性”窗口;
3. 选择“策略模块”,按下“配置”按钮,进入“属性”对话框;
4. 在“默认操作”项选择“始终颁发证书”,确认后按提示重新启动证书服务就完成配置了。
获得安全证书
在向“证书颁发机构”申请安全认证证书之前要先生成申请文件,然后用此申请文件向“证书颁发机构”申请安全认证证书。具体操作步骤如下:
1. 从“管理工具”进入“Internet服务管理器”。
2. 启动“Internet信息服务”(假设要设置为安全Web站点的名称是“默认Web站点” ),找到“默认Web站点”,按鼠标右键选择“属性”。
3. 在“默认Web站点属性”对话框中进入“目录安全性”项目,单击“服务器证书”按钮进入“IIS证书向导”对话框。
4. 选择“创建一个新证书”,然后单击“下一步”逐步完成创建,最后生成证书申请文件c:\certreq.txt。
另外,还需要建立一个新的站点用于证书发布(假设:取名叫“证书发布”, IP地址为120.10.10.11,端口为85),该站点的主目录需要指向C:\WINNT\system32\certsrv。
在配置好安全证书发布主页后,接下来就可以用它来发布证书了:
1. 打开c:\certreq.txt文件,用Notepad或其他文本编辑工具打开,选定全部内容并拷贝到剪贴板。
2. 打开IE,在地址栏输入“http://120.10.10.11∶85”并确认,根据网页的提示单击“下一步”按钮,逐步完成申请。具体过程为:申请证书→高级申请→使用Base64编码的 PKCS #10或PKCS #7文件更新证书申请。在文本输入框中将c:\certreq.txt的内容(已复制到剪贴板)粘贴进去并提交,选择Base64编码,然后下载CA证书并保存为c:\certnew.cer。
接下来,安装下载的服务器证书:
1. 在“默认Web站点属性”对话框中进入“目录安全性”项目;
2. 单击“安全通信”栏中的“服务器证书”按钮进入“IIS证书向导”对话框;
3. 选择“处理挂起的请求并安装新证书”,然后单击“下一步”;
4. 输入证书的路径c:\certnew.cer,如果一切顺利,就安装好证书了。
SSL的应用
在应用SSL之前,还有一项工作要做,需要设置Web的安全通信属性:
1. 在“默认Web站点属性”对话框中进入“目录安全性”项目;
2. 单击“安全通信”栏中的“编辑”按钮进入“安全通信”对话框;
3. 选择“申请安全通道(SSL)”和“接收客户证书”然后确认。这样的配置要求客户端必须使用SSL安全通信。在一般情况下,用户可以根据自己的需要自由配置“默认Web站点”内的每一个虚拟目录或文件的安全通信属性,以及是否强制客户端必须使用SSL传输。
在Web的安全通信属性设置中,不同的配置选项会对客户端有不同的要求:
如果不选择“申请安全通道(SSL)”,则允许客户端可以选择是否使用SSL加密传输,即:使用加密方式访问“https://120.10.10.11”或不加密方式访问“http://120.10.10.11”可以由客户端自己选择。如果选择了“申请安全通道(SSL)”,则要求客户端必须使用SSL加密传输,即必须使用https://120.10.10.11的形式。选择“申请128位加密”,要求客户端的浏览器必须支持128位的加密强度。建议不要选择该项,因为一般的浏览器支持的是56位的加密强度,而且系统帮助文件里提到128位加密技术只限制在美国本土和加拿大使用,不向其他国家出口。
当Web服务器的安全通信属性配置为“申请安全通道(SSL)”和“申请客户证书”后,客户端以https的形式访问该Web时会被提醒需要选择一个已经安装的客户证书,如果没有客户证书或者没有服务器信任的客户证书,都不能访问。客户证书是服务器判断客户端是否可信任的依据,用来防止不被信任的客户端访问该服务器。申请和安装客户证书的具体步骤为:打开IE,在地址栏输入“http://120.10.10.11∶85”并确认,根据网页的提示单击“下一步”按钮逐步完成申请。申请过程中分别选择:申请证书→用户证书申请(选择“Web浏览器证书”)→输入在证书中出现的标识信息(至少要输入名称)→您申请的证书已发布给您(点击“安装此证书”)→您的新证书已经成功安装。当用IE再一次访问Web服务器时会弹出“客户身份验证窗口”,在该窗口内选择刚才安装的客户证书,然后确认,就可以正常访问服务器了。
应用SSL传输网上信息后,可以保证信息的安全,但是网站的速度会受影响,因为加密是需要花时间的。本文所讲述的例子是将整个站点都配置为要求SSL传输,也就是说访问的所有文件都是加密传输的,实践中建议SSL安全传输只使用在一些关键信息的传输上,比如验证用户名、密码(口令)或其他需要保密的信息等,一般的信息可以正常传输,这样分配后网站速度几乎不受影响。
liaozh 发表于 2006-2-26 15:35:37
阅读全文 | 回复(0) | 引用通告 | 编辑 |