在默认情况下,IIS使用HTTP协议以明文形式传输数据,没有采取任何加密措施,用户的重要数据很容易被窃取,如何才能保护局域网中的这些重要数据呢?我们可以使用SSL增强IIS服务器的通信安全。
SSL网站不同于一般的Web站点,它使用的是“HTTPS”协议,而不是普通的“HTTP”协议。因此它的URL(统一资源定位器)格式为“https://网站域名”。
一、安装证书条件
要想使用SSL安全机制功能,首先必须为Windows Server 2003或者 windows 2000 server系统安装证书服务。
1、首先请确认您的服务器已经安装配置了Active Directory服务,这样您就可以给域中的用户颁发数字证书。当然AD服务不是安装CA服务的必要条件,如果仅仅做测试使用,您可以不安装AD服务;
2、确保在您的Windows2000server/.NET中开启IIS服务,并且支持ASP,这样您的CA服务可以通过WEB在INTERNET/INTRANET发布; 当然 一般实际情况是WEB 服务器和CA服务器分别是的服务器。
二、安装证书服务
要想使用SSL安全机制功能,首先必须为Windows Server 2003系统安装证书服务。
进入“控制面板”,运行“添加或删除程序”,接着进入“Windows组件向导”对话框,勾选“证书服务”选项
点击“下一步”按钮,接着选择CA类型。这里选择“根CA”
点击“下一步”按钮,为自己的CA服务器取个名字,设置证书的有效期限,
最后指定证书数据库和证书数据库日志的位置,就可完成证书服务的安装。
三、配置SSL网站
1.创建请求证书文件
完成了证书服务的安装后,就可以为要使用SSL安全机制的网站创建请求证书文件。点击“控
制面板→管理工具”,运行“Internet 信息服务-IIS 管理器”,在管理器窗口中展开“网站”目录,右键点击要使用SSL的网站,选择“属性”选项,在网站属性对话框中切换到“目录安全性”标签页(图1),然后点击“服务器证书”按钮。
在“IIS证书向导”对话框中选择“新建证书”
点击“下一步”按钮,选择“现在准备证书请求,但稍后发送”。在“名称”输入框中为该证书取名,然后在“位长”下拉列表中选择密钥的位长。接着设置证书的单位、部门、站点公用名称和地理信息,最后指定请求证书文件的保存位置。这样就完成了请求证书文件的创建。
2.申请服务器证书
完成上述设置后,还要把创建的请求证书文件提交给证书服务器。在服务器端的IE浏览器地址栏中输入“/CertSrv/default.asp”。在“Microsoft 证书服务”欢迎窗口中点击“申请一个证书”链接,
http://localhost/CertSrv/default.asp
接下来在证书申请类型中点击“高级证书申请”链接,
然后在高级证书申请窗口中点击“使用BASE编码的CMC或PKCS#10....”链接,
再打开刚刚生成的“certreq.txt”(默认c:/cetreq.txt)文件(IIS服务器加密注册时候产生的密钥),
将其中的内容复制到“保存的申请”输入框后点击“提交
”
3.颁发服务器证书 (这部分操作是在实际中由ca证书服务商处实现的,我们的ca服务器其实并不是合法的,在这里仅仅是为了实验目的中颁发证书而建立的)
点击“控制面板→管理工具”,运行“证书颁发机构”。在主窗口中展开树状目录,点击“挂起的申请”项(图2),找到刚才申请的证书,然后右键点击该项,选择“所有任务→颁发”。
颁发成功后,
点击树状目录中的“颁发的证书”项,双击刚才颁发的证书,在弹出的“证书”对话框的“详细信息”标签页中,点击“复制到文件”按钮,弹出证书导出向导,连续点击“下一步”按钮,并在“要导出的文件”对话框中指定文件名,最后点击“完成”。
4.安装服务器证书
重新进入IIS管理器的“目录安全性”标签页,点击“服务器证书”按钮,弹出“挂起的证书请求”对话框,选择“处理挂起的请求并安装证书”选项,
点击“下一步”按钮,指定刚才导出的服务器证书文件的位置,接着设置SSL端口,使用默认的“443”即可,最后点击“完成”按钮。
查看证书不再是灰色的证明已经完成了倒入证书的操作
配置IIS服务器
完成了证书的导入后,IIS网站这时还没有启用SSL安全加密功能,需要对IIS服务器进行配置。
选择需要加密访问的站点目录(如果希望全站加密,可以选择整个站点),右键单击打开属性页,在“目录安全性”标签页,点击安全通信栏的“编辑”按钮,选中“要求安全通道(SSL)”和“要求128位加密”选项,最后点击“确定”按钮即可。如果需要用户证书认证等高级功能,也可以选择要示客户证书选择,还可以把特定证书映射为windows用户帐户。
设置目录的加密属性
关于SSL安全加密机制
SSL(Security Socket Layer)的中文全称是“加密套接字协议层”,是由Netscape公司推出的一种安全通信协议,它位于HTTP协议层和TCP协议层之间,能够对信用卡和个人信息提供较强的保护。SSL在客户和服务器之间建立一条加密通道,确保所传输的数据不被非法窃取,SSL安全加密机制功能是依靠使用数字证书来实现的。
应用了SSL加密机制后,IIS服务器的数据通信过程如下:首先客户端与IIS服务器建立通信连接,接着IIS把数字证书与公用密钥发给客户端。然后使用这个公共密钥对客户端的会话密钥进行加密后,传递给IIS服务器,服务器端接收后用私人密钥进行解密,这时就在客户端和 IIS服务器间创建了一条安全数据通道,只有被IIS服务器允许的客户才能与它进行通信。