IIs5.0建站点--〉第三章 WWW服务高级配置 (再续)

发表于:2007-06-30来源:作者:点击数: 标签:
IP地址和域名访问控制 ??IP地址和域名访问控制方式源于对于特定IP地址或域名的不信任,鉴于网站管理员通常会认为来自某些IP地址的用户带有明显的攻击倾向(通过对日志文件的分析可以得到这一结论),或者网站管理员希望仅有来自特定IP地址或域名的用户才能
IP地址和域名访问控制
??IP地址和域名访问控制方式源于对于特定IP地址或域名的不信任,鉴于网站管理员通常会认为来自某些IP地址的用户带有明显的攻击倾向(通过对日志文件的分析可以得到这一结论),或者网站管理员希望仅有来自特定IP地址或域名的用户才能够访问网站(对于仅供内部使用的网站尤其如此)。这些限制能力都倚赖于IP地址和域名访问控制功能。
??按照如下步骤配置Web服务器限制来自特定IP地址用户对站点的访问:
??1.在IIS中右击需要配置IP地址限制的网站,在弹出菜单中选择【属性】。
??2.在站点的WWW属性表单中单击【目录安全性】选项卡,如右上图所示。
??3.在【IP地址及域名限制】栏中单击【编辑】,打开如右下图所示的【IP地址及域名限制】对话框。
??说明:IP地址限制的方式有两种:授权访问和拒绝访问。如果需要限制来自某些地址的用户对网站进行访问(没有被限制的用户可以进行正常访问),就使用前者;如果希望仅允许来自某些地址的用户能够访问网站内容(其他用户不能访问),则使用后者。以下我们以前一种方式为例进行限制。


4.在【IP地址及域名限制】对话框中选择【授权访问】方式,随后我们可以指定例外地址,这些例为地址就是被限制不能访问站点的IP。
??5.单击【添加】打开【拒绝以下访问】对话框指定例外地址,如右上图所示。
??6.在类型栏中选择【单机】,指定被限制访问的用户来自某一个IP地址。
??7.在IP地址栏中输入受限的IP地址。
??8.单击【确定】加入。重复上一步可以添加多个例外地址,它们在【例外】列表中列出。
??9.在【拒绝以下访问】对话框选择【一组计算机】,可以指定一组例外地址,如图中所示。
??10.一组例外计算机由网络地址和子网掩码共同确定,分别在【网络标识】和【子网掩码】栏中输入其值。
??11.单击【确定】加入。重复上一步可以添加多组例外地址。
??12.另一种访问控制方式是根据用户来自的域进行控制。如右下图所示。
??注意,在使用域名限制方式进行访问控制时,往往需要进行反向DNS解析,将试图访问服务器的用户IP地址送到DNS服务器进行反向查询以得到其域名。这一操作将极大的耗费系统资源,尤其是宝贵的带宽资源,所以,除非万不得已,否则不要使用域名限制方式。



使用权限向导
??权限向导是IIS 5.0新引入的权限管理工具。鉴于对站点安全性的配置复杂而无序,较难理出一条简明而准确的主线,IIS 5.0引入了权限向导工具,它提供了一个连续、简单、准确的权限配置流程,可以使管理员迅速对站点进行一般性的权限设定。尤其是对于涉及大量权限继承关系的站点(虚拟)目录配置工作,运用权限向导往往能达到意想不到的效果。
??权限向导主要对安全设置和目录权限进行快速指定,并能够以摘要的形式提供安全分析。
??1.打开IIS管理界面,右击管理控制树中的站点或目录,指向【所有任务】,单击【权限向导】。
??2.在如上图所示的【欢迎使用权限向导】对话框中单击【下一步】。
??3.接下来,权限向导进入如右下图所示的【安全设置】对话框,这里可以设置当前对象(站点或目录)是否继承其上一级对象(计算机、站点、父目录)的安全设置。如果选择【继承所有的安全设置】,那么在单击【下一步】之后,向导将自动进入目录权限设置界面(步骤5),与此同时,当前对象的安全设置自动按照其父对象的设置做出调整。为了在普遍意义上说明问题,这里我们选择【从模板选取新的安全设置】,然后单击【下一步】。

+

?4.如右上图,在【站点方案】对话框中,可供我们选择的方案有两个:Public Web Site和Secure Web Site,顾名思义,后者的安全性更高一些。一般的Public Web Site方案允许所有用户浏览静态和动态的内容;而Secure Web Site方案则仅允许所有具有 Windows 2000 帐号的用户查看动态和静态的内容。这两种设置是与我们前面讨论过的匿名访问和授权访问站点对应的,它们分别运用于典型的公共站点和专用(内部)站点。单击【下一步】进入【目录和文件权限】对话框,如果在上一步中选择继承权限,则直接进入下一步。
??5.如右下图,在【Windows目录及文件权限】对话框中,允许我们对目录和文件权限做出修改,这种修改是以和系统推荐权限进行对照的方式进行的。Windows 2000推荐的权限设置为:管理员账号拥有对站点文件和文件夹的全部访问权限,其他全体用户(包括匿名访问用户)拥有读取的权利。通过与这个推荐权限的比较,向导提供了三种可供选择的的选项。最简单的就是选择【保持目录和文件权限】,不做任何更改;也可以按照推荐方案选择【替换全部目录和文件访问权限】,这样站点文件的权限将按推荐权限做出更改;另外一种方式是选择【原封不动的保持当前目录和文件许可配置,并加入推荐带许可权限】,这实际上是一个折中的的方案,先取当前权限与推荐权限的差集,再将差集附加到单前权限上,即最大限度的保持当前权限并最大限度的执行了推荐方案。单击【下一步】继续。


6.如左下图所示,在【安全摘要】对话框中列出了摘要性的权限报告,包括:验证方法、访问许可、IP地址限制、ACL替换等。这些信息有助于我们清楚的了解站点的安全设置以及我们刚才所作配置的影响。单击【下一步】继续。
??7.如右下图,单击【完成】结束权限向导。


综合安全访问控制
??前述各种安全设置共同工作时,究竟那种权限设置居于主导地位呢?实际上,各种安全设置是共同发生作用的,也只有依赖于相互独立的若干种安全模式的共同作用,才能保证站点安全的万无一失。当站点接到来自用户浏览器的访问请求时,各种安全模式的应用流程如右图所示。
??1.用户浏览器所在计算机的IP地址是否与IIS设置的IP地址限制重合?如果来自受限IP,访问将被拒绝;否则进入下一步验证。
??2.用户身份验证是否通过?对于非匿名访问的站点,要对用户进行账号验证,如果使用非法账号,访问将被拒绝;否则进入下一步验证。
??3.在IIS中指定的Web权限是否允许用户访问。Web权限包括对雯建的读写权限和队应用程序的执行/脚本权限,他们是对所有用户同时发生作用的。如果用户试图进行未授权的访问,访问将被拒绝;否则进入下一步验证。
??4.用户正在进行的操作请求是否符合相应Web文件或文件夹的NTFS许可权限。

NTFS权限与前述Web权限没有相互作用,它是针对各个用户账号的。一旦用户企图进入其账号没有权利进行访问的资源,访问将被拒绝。
??5.一旦用户通过上述四步验证就可以访问其请求的资源了。
??至此,我们已经明白NTFS权限与Web权限的关系,其实它们没有丝毫的共同点,完全是互相独立进行设置的。但是,对于用户访问权限的验证,他们却是共同工作的。只有同时满足两种权限验证的用户才能最终访问到他所请求的资源。
数据加密与数字验证
??我们前面用了大量的篇幅讨论安全问题,遵循上一节的权限设定于身份认证机制,我们已经有可能将非法用户据之门外,即使是合法用户,也不能访问其账号权限所不能及的资源。但是,这样一来,系统资源就真的安全了吗?答案是否定的,原因很简单,合法用户所请求的数据流并未加密,黑客只要利用垂手可得的工具在公共网络上进行数据监听就可以轻易获得网站的安全性数据。因此,数据加密的工作对与一个需要较高安全性的网站而言还是非常重要的。
数据加密原理
??笼统的说,数据加密有两种方式:对称式数据加密和非对称式数据加密。不论那种方式都是借助于我们称之为密钥的算法对数据进行

预先处理,从而使在网络上传输的数据是经过处理的密文。我们将逐一介绍其工作原理与特性。
??对称式数据加密方式的工作原理如右图所示,所谓对称,知道是采用这种加密方法的双方使用同样的密钥进行加密和解密。我们已经知道,密钥实际上是一种算法,那么这里的通信发送方使用这种算法(密钥)加密数据,接受方再使用同样的算法(密钥)解密数据。
??这里还涉及一个问题:数据接收方怎么知道密钥的内容,亦即接受计算机任何得到加密/解密算法。实际上,上述数据传送过程省略了一个密钥交换的步骤,数据发送计算机必须以某种方式(通常也是网上传送)将密钥传送给数据接收计算机。接下来的问题是任何保证密钥的传送是安全的,这个问题看似无解,其实在理论上也并没有什么解决办法。因此对称式加密方式本身不是安全的。
非对称式加密方式可以解决对称式加密的安全性隐患,其工作原理如右图所示。这里,所谓非对称是指数据发送计算机和数据接收计算机使用不同的密钥。例如,发送计算机以密钥A加密数据,接收计算机以密钥B解密数据,密钥A和 B必须配对,否则不能成功解密。密钥对中的两把密钥通常称为公共密钥和私有密钥,简称公钥和私钥,利用公钥和私钥加密数据的方法有数字签名和数字信封,其详细工作方式稍后祥述。
??不对称式加密方法避免了直接在网络上传送密钥,从而实现了绝对的安全数据传送。与对称式加密方式相比,不对称加密方式需要更多的计算量,尤其是在数据量巨大时,可能会占用过多CPU时间。
??使用公钥和私钥的数据加密方式有数字签名和数字信封,前者用

于数据发送者身份的确认,后者用于传送加密的数据。两者共同运用才能在一个并不安全的网络上建立安全的数据通信。
    首先,我们要明确公钥、私钥的概念及其归属问题。网络中的每台计算机(称为主机)都拥有一对自己的密钥,一把是公钥,一把是私钥。其中私钥归自己保留,且需要绝对保密!公钥则可以提供给网络上的任何计算机。例如在一个存在两台计算机的网络中,每台计算机都拥有一对密钥,则共有两对密钥(计两把公钥、两把私钥)。
随后,让我们看看密钥的加密原则。我们规定,凡是用公钥加密的文件,只能用同对的私钥才能解密;凡是用私钥加密的文件必须用同对的公钥才能解密。例如,甲计算机使用甲自己的私钥加密数据,接收计算机只能用甲的公钥才能解密;如果甲使用乙计算机的公钥加密数据,则接收计算机必须使用乙的私钥才能解密数据。
    现在,就让我们利用上述规则详细学习数字签名和数字信封的工作方式吧。
??数字签名:如右图中上半部分(阴影箭头)所示,数字签名的方式是由发送计算机使用自己的私钥加密信息,接收计算机使用发送计算机的公钥解密信息。前面我们已经提到,私钥保密而公钥公开,则任何计算机(包括接收计算机)都可以得到发送计算机的公钥。也就是说,任何人都可以解密信息,那么数字签名还有何意义呢?注意

只有发送计算机能够拥有自己的私钥,即接收计算机能够根据发送计算机的公钥判断发送计算机的身份是否有假。
    因此,数字签名实际上是一种认证发送计算机身份的方法,并不用于实际的数据加密。当然,在网络中计算机身份复杂的情形下,这种认证方式为数据接收计算机提供了可靠的保护。
??数字信封:如上图下半部分(白色箭头)所示,数字信封的方式是由发送计算机使用接收计算机的公钥加密信息,接收计算机使用自己的私钥解密信息。正式基于前述的私钥保密、公钥公开的原则,接收计算机的公钥能够被网络中的任何计算机得到,所以任何企图向接收计算机发送信息的计算机都能够进行发送;同时,由于只有接收计算机才能够拥有自己的私钥,这就保证了只有接收计算机才能解密发给自己的信息。

数字认证与SSL
??前述基于公钥、私钥的数字加密方式只是在原理的层面上解决了数据加密问题,那么这种数据加密方式是如何在技术上实现的呢,我们在本小节讨论这个问题。
公钥和私钥的产生并不是在网络中每台计算机上独立完成的,因为既然我们无法信任计算机本身,自然无法信任由它自己生成的公钥和私钥。所以,Inte.net中存在许多专门负责密钥认证的权威机构,这些认证机构称为CA。所有需要密钥对的计算机向CA申请数字证书,数字证书中包含认证信息和一对公钥/私钥,CA负责验证申请者的真实身份,在确认无误之后颁发数字证书。每个数字证书都有自己的有效期限,过期需要重新申请。由于我们信任这些CA(就象现实生活中我们信任公正机构一样),我们也就信任由CA颁发的数字证书及其包含的密钥对。
使用上述密钥对加密/解密的数据安全传送方式又称为安全套接层(SSL),SSL能够确保网络中传送的数据流都是经过加密的。在客户机和服务器之间的SSL工作流程为:
??1.客户浏览器与Web服务器之间建立通信连接。
??2.Web服务器将自己的公钥发送给客户浏览器,同时发送的还有一组证明的附件,用于客户机验证服务器公钥的有效性。
??3.服务器和浏览器之间进行加密等级协商,由于目前流行的加密方式有128位和40位两种,前者的安全等级更高(破译起来更加困难),但是美国政府禁止将128位加密技术用于北美之外的地区,国内的用户更是无缘使用了。因此,服务器和客户机需要就此达成共识,使用双方都认可的最高级别加密方式。
4.客户机的Web浏览器产生一个会话密钥(对称式密钥),使用服务器的公钥将其加密,发送回服务器。
??5.服务器使用自己的私钥解密会话密钥,使用它建立安全信道。
??6.服务器和浏览器使用对称式会话密钥进行安全通信。
??为客户机配置数字总数的工作要再浏览器中完成,步骤如下:
??1.在IE中单击【工具】菜单,选择【Internet选项】。
??2.单击【内容】选项卡。
??3.在【证书】栏中单击【证书】。
??4.如右图,在【证书】对话框中对现有证书进行管理。
??5.单击【关闭】完成。
??客户机在使用SSL与服务器进行通信时,在其浏览器地址栏中的服务器域名应写成"https://"格式而非普通的http://格式。

配置服务器证书
??上一小节中提到,有效的数字密钥来自于CA的数字证书,本小节中我们将学习如何利用IIS申请服务器数字证书。申请数字证书的过程可以简单的看作在服务器上生成一个证书请求,然后通过e_mail等方式将申请发送给CA,CA对申请者的真实性进行验证,一旦通过验证,CA就会将一个合法的数字证书文件发送给申情者。得到数字证书的申请者需要将数字证书安装到服务器上。
??请求数字证书的步骤如下:
??1.打开IIS,右击管理控制树中的站点图标,选择【属性】打开WWW属性表单。
??2.单击【目录安全性】选项卡,如图所示。

3.在【安全通信】栏中单击【服务器证书】打开Web服务器证书向导。
??4.在服务器证书向导欢迎对话框中单击【下一步】。
??5.如右图,在【服务器证书】对话框中选择创建证书工作方式,由于当前没有任何服务器证书存在,所以选择【创建一个新证书】。单击【下一步】。
??6.选择【现在准备请求,但稍后发送】,单击【下一步】。如果选择【立即发送请求到一个证书发布机构】,则稍后创建的证书请求将通过在线方式直接发送到CA。

7.如上图,在【命名和安全设置】对话框中指定新证书的名称以及加密长度,注意非北美地区的长度限制。单击【下一步】。
??8.在【组织信息】对话框中指定证书申请机构所在的组织(公司)以及部门信息,注意这些信息需要如实填写,单击【下一步】。
??9.在【站点公用名称】对话框中输入站点的公用名称,对于Internet上的Web站点,公用名称指的是域名即DNS注册名称;而对于Intranet上的内部站点,公用名称可用NetBIOS名代替。单击【下一步】。
??10.如下图,在【地理信息】对话框中输入证书申请组织的地理信息,包括国家、省市、地区等标准名称,注意上述名称不能包括简写名,单击【下一步】。


11.如右图所示,在【证书请求文件名】对话框中的【文件名】栏中指定证书请求文件的存储路径,这个文件包含我们刚刚输入的全部申请信息,以文本文件形式保存在服务器本地。单击【下一步】。
??12.如下图,在【请求文件摘要】对话框中列出刚才输入的数字证书请求文件内容,包括名称、地理信息等内容。如果发现存在不妥之处,单击【上一步】返回重新配置。检查无误后单击【下一步】。
??13.单击【完成】结束。
??14.将申请文件发送到CA,等待答复。



安装服务器证书的步骤与此相似,具体如下:
??1.在站点WWW属性表单中单击【目录安全性】选项卡。
??2.在【安全通信】栏中单击【服务器证书】打开Web服务器证书先导。
??3.在服务器证书向导欢迎对话框中单击【下一步】。
??4.选择【处理挂起的请求并安装证书】,单击【下一步】。
??5.选择从CA获得(通过e_mail等方式)的证书文件(.cer文件),单击【下一步】。
??6.单击【完成】结束配置。

原文转自:http://www.ltesting.net