WWW服务高级配置 |
NTFS权限设置 ??NTFS权限是NTFS分区文件格式特有的安全权限,在通常的FAT分区上,我们无法指定一个文件对于不同用户的不同安全权限。例如在windows 98中,我们可以共享一个文件夹,但是仅能够给出诸如"只读口令"、"完全访问口令"之类的有限安全控制方式,并不能给各个用户账号分别配制不同的权限;对于本地登录的用户,甚至不能限制他的如何操作。而随着Microsoft在Windows NT中首次引入了NTFS分区格式,再借助于NT(Windows 2000)的用户账号验证能力,就可以实现针对不同用户的不同安全权限设置。 ??NTFS权限分为若干种,对于NTFS分区上的目录而言,可以给账号或组指定如下几种权限: ??1.完全控制,具有对文件夹的全部操作能力。 ??2.修改,能够更改、添加、读取文件。 ??3.读取,仅能够读文件内容。 ??4.写入,能够向文件中添加内容。 ??5.读取及运行,同时包括3和4。 ??6.列出文件夹目录,能够查看文件夹内容,但不能访问。 ??7.禁止访问,不具有如何权限。 |
?权限的设定是在我的电脑或者Windows资源管理器中完成的,具体方法如下: ??1.右击NTFS分区上的文件夹,在弹出菜单上选择【属性】。 ??2.单击文件夹属性对话框中的【安全】选项卡,如右图。 ??3.【安全】选项卡上部的账号和组列表中,列出当前具有访问权限的账号和组。 ??4.从列表中选择需要指定权限的账号或组,在【权限】列表中指定其对该文件夹拥有的访问权限。具体方法是选择欲指定权限对应的【允许】或【拒绝】复选框。例如,需要允许某账号读取但不允许写入时,就分别选择【读取】和【写入】权限所对应的【允许】和【拒绝】复选框。将所有权限都选为【拒绝】时,相当于指定了拒绝访问的权限。 ??5.当需要指定其他账号或组的访问权限时,应先将其加入账号和组列表中,单击账号户和组列表右侧的【添加】,打开如左图所示的【选择用户、计算机或组】对话框。 ??6.在【查找范围】下拉列表框中指定账号和组所在的域或计算机。 ??7.从列表中选择账号或组名,单击【添加】。 ??8.反复将多个账号或组加入结果列表后,单击【确定】返回。 | |
NTFS权限针对不同的账号设定其对资源的问程度,一般的,应把网站包含的网页文件、应用程序文件、数据库文件等资源存放在NTFS分区上,然后指定其NTFS权限。 ??由于权限可以在任意文件夹甚至文件的级别上进行设置,所以存在子文件夹与父文件夹发生权限冲突的情况,这就要通过权限继承设置进行调整。在【安全】选项卡上可以选择【将来自父系的客继承权限传播给该对象】复选框,从而使文件夹能够继承其上一级文件夹的权限。 ??在【安全】选项卡中单击【高级】,打开如右图所示的文件夹访问控制设置对话框,在【权限】选项卡中可以详细设置权限和继承关系。 |
目录和访应用程序问权限设置 ??目录和应用程序访问权限是由IIS维护的权限设置,它与上小节中讨论的NTFS权限互相独立的运作,共同限制用户对站点资源的访问。目录和应用程序访问权限并不能对用户身份进行识别,所以它所做出的限制是一般性的,对所有访问者都起作用。 ??目录和应用程序访问权限分别对网站中的目录(包括实际目录和虚拟目录)以及应用程序文件进行权限限制。前者针对非应用程序文件(包括网页、所数据库文件等),其权限类型具体为:读取和写入;后者则针对使用脚本语言编写的脚本程序文件和可执行应用程序文件,其权限有:无权限、纯脚本、脚本和可执行程序三种类型。 ??指定目录和应用程序访问权限的工作是在站点WWW属性表单的【主目录】选项卡中进行的,如右图所示。 | |
??【主目录】选项卡中部的【读取】和【写入】复选框用于配制目录访问权限。一般意义上的网页浏览和文件下载操作在【读取】权限的许可下就可以进行了。而对于允许用户添加内容的网站(例如搜集用户信息的网站或专门的个人主页空间),就要考虑指定【写入】权限。注意,【写入】权限的指定可能给网站带来安全上的隐患,或者给黑客提供可利用的系统漏洞,所以如果没有特别的需求,仅指定【读取】权限就已经足够了 |
【主目录】选项卡下部的【执行许可】下拉列表框中,可以为站点应用程序指定执行权限,其中【脚本和可执行程序】权限包含【纯脚本】权限。这里所说的脚本程序和可执行程序的区别在于:由脚本语言(例如Perl、VBScript 、Jscript等)编写的脚本应用程序表现为一些存储在服务器上的代码,客户浏览器将这些代码下载到本地再进行解释执行;而标准的可执行应用程序(.exe .com .dll .bat等文件)则要在服务器端执行,仅将执行结果返回客户浏览器。鉴于后者可能带来安全隐患(尤其对于dll文件),故应慎重使用。 匿名和授权访问控制 ??首先,我们来看一下匿名和授权访问的基本概念。前面我们已经知道只有拥有合法的Windows 2000用户账号才能对Windows 2000资源进行访问,对于基于Windows 2000系统的IIS也不例外。但是,根据我们上网的经验,在打开网站主页时并没有要求我们输入用户账号和密码。这是因为,在通常情况下,网站是允许匿名访问的,即无需再输入账号,自动使用匿名访问帐号并继承匿名访问权限。在安装IIS时,系统自动生成一个匿名访问用户账号,名为: | |
IUSR_computername,其中computername是IIS所在服务器的计算机名。所有IUSR_computername账号能够访问的资源,就是匿名用户的授权许可范围。 ??一旦用户所访问的资源不允许匿名访问,IIS就会要求用户提供合法的用户账号及密码,这就是授权访问。授权访问要求用户拥有合法的Windows 2000账号,且必须具有相应的权限。 ??匿名和授权访问控制是在站点WWW属性表单的【目录安全性】选项卡中进行的,如右上图所示。 |
缺省情况下,IIS对任意站点都是允许匿名访问的,如果出于站点安全性等考虑需要禁止匿名访问时,按照如下步骤进行配置: ??1.在IIS中右击管理控制树中需要禁止匿名访问的Web站点图标,选择【属性】。 ??2.单击【目录安全性】选项卡。 ??3.在【目录安全性】选项卡上部的【匿名访问和验证控制】栏中单击【编辑】。 ??4.如右图,在【验证方法】对话框中清除【匿名访问】复选框。 ??5.单击【确定】返回。 ??当然,对于公共性质的网站而言,并不需要禁止匿名访问,但是某些情况下还需要对匿名访问用户账号进行配置。在【验证方法】对话框中选择【匿名访问】复选框,然后单击右侧的【编辑】,打开如右图所示的【匿名用户账号】配置对话框。 ??有时网站管理员可能并不满意使用IUSR_computername作为匿名访问账号名,出于安全考虑或管理方便,往往也需要指定另一个账号作为匿名访问账号。这时只需单击【用户名】右侧的【浏览】,并从【选择用户】对话框中指定新的匿名访问账号,并单击【确定】即可。 | |
匿名访问账号IUSR_computername是在安装IIS时自动生成的,由于在IIS中也可对其进行设置,所以这里涉及到一个密码同步的问题。通常情况下,是由IIS自动控制密码同步的。也可以选择手工在IIS和Windows 2000账号管理器之间同步匿名访问账号密码。从IIS中指定匿名访问账号密码的方法是在【匿名用户账号】对话框中清除【允许IIS控制密码】复选框,然后在【密码】栏中输入新密码。注意,这是指定的密码并不一定与Windows 2000中的匿名访问账号所配置的相同,需要管理员手工在Windows 2000中做出更改。 ??前面讨论的匿名访问能够用于一般的公共网站,然而当网站内容包含敏感的商业数据时,就要根据用户身份(账号)的不同来指定不同的访问权限。 | |
当用户打开一个站点时,通常先尝以匿名访问方式进行连接,一旦匿名方式不能对用户请求的资源进行访问时(通常是因为匿名访问账号部具有相应的权限),IIS系统会要求用户输入合法账号以及密码,如右图。 ??那么,鉴于账号密码同样属于敏感数据,它们在网络中传送是否安全呢?事实上,IIS为了防止密码信息丢失,提供了密码传输加密手段。用于授权用户验证的方式有三种:基本验证、Windows域服务器的简要验证、集成Windows验证,其中后两种验证方式是加密的。 ??这三种验证方式是同时可选的,也就是说我们可以同时配置服务器使用其中的一种或几种验证方式。只要在【验证方法】对话框中选择相应的复选框即可。 |
【基本验证】方式是安全性最低的验证方式,使用这种方式时,用户帐号密码是以明文形式(即不加密报文)的形式在网络中传送的,装备了网络监视工具的计算机可能截获用户名和密码。由于存在安全隐患,所以在选择这种验证方式时,IIS要给出如右图所示的警告对话框,单击【是】继续。 ??【Windows域服务器的简要验证】和【集成Windows验证】都是属于加密验证的发式。其中简要验证方法是IIS 5.0中新引入的验证方法,它通过网络发送经过混编的密码值而不是密码本身。该方法通过代理服务器和其他防火墙工作。这里的混编密码值通常是利用哈西算法得到的,此方法较基本验证安全得多,但低于集成Windows验证方式(可以通过复杂运算加以破解)。 ??【集成Windows验证】通过与用户的Inte.net Explorer Web浏览器进行密码交换以确认用户的身份。这种验证方式是由以前的Challenge/Respones验证方法发展来的。这里的Challenge和Respones可以看作是两种算法,相当于一对钥匙。用户的Internet Explorer Web浏览器(注意,其他浏览器不支持这一验证方式)使用Challenge算法对用户名和密码进行处理,得到一组密文,然后将这组密文发送给服务器,服务器再用Respones算法加以处理(相当于Challenge的逆过程)解出用户名和密码原文,然后再由Windows 2000进行账号验证。 默认情况下,IIS将在IIS服务器所在的域中进行用户验证(域是账号验证的单位)。如果访问站点的用户账号属于其他域,则应在验证方法对话框中的验证访问栏单击【编辑】,打开【基本验证域】对话框指定,如右下图。 | |
IP地址和域名访问控制 |