9. IIS 5.0安全性
介绍IIS 5.0於安全性上的功能,包括验证、存取控制、稽核。
IIS 5.0安全性
Internet Information Services 5.0的安全,包括验证、存取控制、稽核、及凭证,简介如下:
本章介绍验证、存取控制、及稽核,并将在下两章介绍凭证。
9-1 何谓验证(Authentication)呢?
验证(Authentication)
所谓验证(Authentication),系指使用者存取IIS伺服器上的资讯前,先要求使用者使用一个Windows使用者帐户的身份来登入。验证可以在Web站台、虚拟目录,或档案层级设定。
对於WWW而言,IIS提供了下列的验证方法,一个Web站台、虚拟目录,或档案可选择一或多个适当的验证方法:
对於FTP而言,IIS提供了下列的验证方法:
优先顺序
一个Web站台、虚拟目录,或档案同时使用多种验证方式时,优先顺序为:
当优先顺序较高的验证方式验证失败时,才会使用次高的验证方式来验证。
以预设的验证方式为 匿名存取 及 整合的Windows验证 方式而言,当匿名存取失败或档案及目录的存取受到NTFS权限的限制时,Web伺服器才可使用 整合的Windows验证方式 。
因此如果确定需使用 摘要式验证 或 整合的Windows验证 来验证使用者的身分时,您不能也选择 匿名存取 的验证方式;而只用 基本验证 来验证使用者的身分时,则您不能也选择其他的验证方式。
设定
如何设定验证方法呢?步骤如下:
即可选择一或多个适当的验证方法。
本章有关验证的主题如下:
9-2 如何设定匿名存取验证方式呢?
匿名存取
采取匿名存取方式时,允许使用者使用匿名来建立连线,而不需要输入使用者名称和密码。
使用者会使用匿名或来宾帐户登入伺服器,匿名的预设Windows使用者帐户为 IUSR_电脑名称 ,电脑名称是执行IIS的伺服器名称。
IUSR_电脑名称 使用者帐户包含於Windows的Guests使用者群组中,可利用NTFS档案目录指定存取许可权。另外,您可以在Windows变更 IUSR_电脑名称 帐户的安全性特殊权限,若匿名的使用者帐户并没有权限存取某些资源时,伺服器会拒绝建立此资源的连线。
采取匿名存取方式时,IIS使用 IUSR_电脑名称 使用者帐户登入,检查此帐户和所属Guests使用者群组之NTFS档案目录的权限,判断是否允许此帐户存取这个档案:
如果IIS伺服器上有多个Web或FTP站台,可以设定不同的存取权限,方法为建立多个匿名帐户,每一个帐户都给予不同的存取权限,或指定这些匿名帐户给不同的存取权限的Windows使用者群组,再将不同Web或FTP站台、目录,或档案,各自使用不同的匿名帐户。
当启用 匿名存取 和其他验证方式时,IIS会先使用 匿名存取 验证,若未通过 匿名存取 验证,才会使用其他所启用的验证方式。
匿名帐户一定要有登入本机的使用者权利,在预设的情况下,网域主控站的 IUSR_电脑名称帐户 并没有赋予登入本机的权利,须改成「登入本机」,才能允许匿名登入。若要设定「登入本机」的使用者权利,您可以使用ADSI(Active Directory服务介面)来变更。
匿名存取设定
如何设定为采取 匿名存取 方式呢?
步骤为在 Internet服务管理员 中,选取一个Web站台、目录或档案,按右键选择 内容 ,选取 目录安全设定 或 档案安全设定 标签页,在 匿名存取及验证控制 下,按下 编辑 按钮,在 验证方法 中,勾选取 匿名存取 核取方块,如下画面:
变更匿名验证所使用的帐户
若要变更用於 匿名存取 验证的Windows使用者帐户,请按下 匿名存取 右边的 编辑 按钮,便可以选择使用什麽帐户做为匿名登入:
一旦您变更了 IUSR_电脑名称 匿名使用者帐户,会影响到Web伺服器所有的匿名要求。
匿名使用者登入IIS时并不需输入使用者名称和密码。选取 允许IIS来控制密码 ,表示此帐户登入IIS的密码与登入Windows相同。若不勾选 允许IIS来控制密码 ,则可以修改密码,如下:
修改密码後,因与登入Windows的密码不同,登入IIS时将无法进行匿名验证,并出现如下画面:
9-3 如何设定基本验证验证方式呢?
基本验证
基本验证方式,会将使用者的名称及密码以未加密(密码会以Base64方式来编码)的格式透过网路传输,使用网路监视工具即可以於网路传输中拦截和破解使用者名称及密码。
因此除非确定在使用者和IIS伺服器之间的连线是安全的(例如直接用缆线连接或专线),才建议您使用基本验证方式。
您可以将SSL(Secure Sockets Layer)加密功能,使用於 基本验证 方式,来加强使用者帐户在网路上传递的安全。
使用者登入IIS时,须输入使用者名称和密码来建立连线,将出现如下画面:
用户端的浏览器方面,由於基本验证方式采用标准HTTP规格,因此大部分的浏览器都支援基本验证方式。
若同时启用 基本验证 与 整合的Windows验证 方式,则登入IIS时会先使用 整合的Windows验证 验证方式。当未通过 整合的Windows验证 验证,才会使用 基本验证 验证方式登入IIS。
说 明
因为 基本验证 会模拟一位本机使用者,所以使用 基本验证 的Windows使用者帐户必须具有「登入本机」的使用者权利。Windows预设主要网域控制站(PDC)内的使用者帐户,并没有「登入本机」之使用者权利。若要设定「登入本机」的使用者权利,您可以使用ADSI(Active Directory服务介面)来变更。
设定
如何设定为采取 基本验证 方式呢?
步骤为在 Internet服务管理员 中,选取一个Web站台、目录或档案,按右键选择 内容 ,选取 目录安全设定 或 档案安全设定 标签页,在 匿名存取及验证控制 下,按下 编辑 按钮,并在 验证方法 中,勾选取 基本验证 ,画面如下:
设定预设的登入网域
若登入网域为本机以外的网域,则登入IIS时须在使用者的名称前加上「\网域」,如下:
若想修改预设的登入网域为本机以外的网域,请按下 基本验证 右边的 编辑 按钮,可将Web网站预设的登入网域设定为本机以外的网域,如下:
如此一来,登入所预设的登入网域时,就不须於使用者的名称前加上此登入网域。
9-4 如何设定摘要式验证方式呢?
摘要式验证
采取 摘要式验证 方式,使用者登入IIS时须输入使用者名称和密码来建立连线时,透过网路传送「杂凑值」而非密码,可以跨越proxy伺服器或其他防火墙。
摘要式验证 方式依下列方式进行:
杂凑运算所产生的「杂凑值」,即使提供杂凑演算法,也不可能还原成原始的讯息。相同讯息经过杂凑运算所产生的「杂凑值」,每次都相同;而不同的讯息(即使两个讯息只有一个位元不同) 经过杂凑运算会产生成不同的杂凑值。大部分常用的「杂凑值」数字长度是128或160位元。
因为 基本验证 的密码会被拦截,而 摘要式验证 透过网路传送「杂凑值」而非密码,因此 摘要式验证 验证方式比 基本验证 好。
摘要式验证 方式可跨过proxy伺服器和其他的防火墙,且可用在WebDAV(Web Distributed Authoring and Versioning)上。
摘要式验证 方式於伺服器和用户端的浏览器方面都有一些限制:
设定
如何设定为采取 摘要式验证 方式呢?
步骤为在 Internet服务管理员 中,选取一个Web站台、目录或档案,按右键选择 内容 ,选取 目录安全设定 或 档案安全设定 标签页,在 匿名存取及验证控制 下,按下 编辑 按钮,并在 验证方法 中,勾选取 摘要式Windows网域伺服器验证 核取方块,画面如下:
勾选 摘要式Windows网域伺服器验证 时,须确定如下画面:
9-5 如何设定整合的Windows验证呢?
整合的Windows验证
采取 整合的Windows验证 方式时,使用者的浏览器以交换密码的方式来确认使用者的身份。
整合的Windows验证,即以前「Windows NT挑战与回应」验证(或称为NTLM),加上新的Kerberos v5验证通讯协定(Kerberos v5 Authentication Protocol)方式。使用整合的Windows验证时,用户端的浏览器会透过一种加密机制来验证密码,由於使用者名称和密码不会透过网路传送,因此整合的Windows验证是安全的验证形式。
使用整合的Windows验证时,若使用者已经登入Windows伺服器,使用者就不会看到要求输入其Windows帐户之使用者名称和密码的画面,但是验证失败时还是会提示使用者输入使用者名称和密码。而使用「基本验证」方式时,每次登入IIS时都会出现要求输入其使用者名称和密码的画面。
整合的Windows验证 方式於伺服器和用户端的浏览器方面都有一些限制:
因此 整合的Windows验证 最适合用於intranet环境。
使用整合的Windows验证时,若Windows伺服器上安装「Active Directory」(目录服务),而且使用与Kerberos v5验证通讯协定相容之浏览器(IE 2.0以後的版本),才可以使用Kerberos v5验证方式,否则只能使用「Windows NT挑战与回应」验证方式。
使用Kerberos v5验证方式时,用户端和伺服器两者都必须有连到KDC(Key Distribution Center)的信任连线,并且与「Active Directory」(目录服务)相容。
若同时启用 匿名存取 与 整合的Windows验证 方式时,则登入IIS时只会使用 匿名存取 验证方式。当未通过 匿名存取 验证,才会使用 整合的Windows验证 验证方式登入IIS。
设定
如何设定为采取 整合的Windows验证 方式呢?
步骤为在 Internet服务管理员 中,选取一个Web站台、目录或档案,按右键选择 内容 ,选取 目录安全设定 或 档案安全设定 标签页,在 匿名存取及验证控制 下,按下 编辑 按钮,并在 验证方法 中,勾选 整合的Windows验证 核取方块,画面如下:
您学会了吗?
9-6 如何设定FTP验证方式呢?
FTP验证(FTP Authentication)
对於FTP而言,IIS提供了下列的验证(Authentication)方法:
FTP站台不能使用 摘要式验证 及 整合的Windows验证 方式。
设定FTP验证方法
如何设定FTP验证方法呢?
对FTP站台而言,只能对一个站台设定验证方法。
若选取 只允许匿名连线 ,则表示要求所有的使用者都以匿名使用者登入。
9-7 何谓存取控制(Access Control)呢?
安全处理程序
每当使用者尝试存取Web伺服器或个别的档案时,伺服器的安全处理程序如下:
存取控制(Access Control)
您可以设定Windows档案系统(目录或档案的NTFS权限)、与Web伺服器(Web伺服器权限、授与存取和拒绝存取)、资料库存取控制的安全功能,来控制使用者存取Web与FTP或个别的档案的内容。包括:
本章有关存取控制(Access Control)的主题如下:
9-8 如何设定目录或档案NTFS权限呢?
目录或档案的NTFS权限
使用NTFS可以设定存取Web伺服器的档案和目录的权限,授与或拒绝某些特定使用帐户或使用者群组的存取等级。NTFS的权限等级如下:
拒绝 的优先权比 允许 要高。譬如,若将Everyone群组的存取权限设定成 拒绝 ,则包括Administrator的每个人都会无此存取权限。
当NTFS与Web伺服器的权限设定有冲突时,会采用最具限制性的严格设定。
当设定某一个目录或档案为 共用 时,预设的NTFS目录与档案权限为Everyone完全控制。
设定目录或档案的NTFS权限
9-9 如何设定Web伺服器的权限呢?
Web伺服器权限
对一个Web站台、目录或档案而言,您可以设定伺服器上的存取权限,这个Web伺服器权限设定是适用於所有的使用者。
Web伺服器权限的等级包括:
对於指令档(如ASP应用程式等)、或执行档,可以设定的使用权限等级包括:
Web伺服器的权限和NTFS权限不同之处,为Web伺服器权限适用於所有存取Web和FTP站台的使用者(预设使用 IUSR_电脑名称 帐户); 而NTFS权限只针对特定Windows帐户使用者或群组而设定。Web伺服器权限控制Web或FTP站台之虚拟目录的存取;而NTFS控制伺服器之实体目录的存取。
Web伺服器权限设定
FTP伺服器权限设定
在 Internet服务管理员 中,选取FTP站台、虚拟目录或档案,然後按下滑鼠右键开启 内容 , 选取 主目录 、 虚拟目录 、或 档案 标签页,即可设定FTP伺服器权限,如下:
9-10 如何设定授与存取和拒绝存取呢?
授与存取和拒绝存取
对一个伺服器Web站台、目录或档案而言,您可以设定授与存取或拒绝存取的某些电脑、电脑群组或网域:
设定的步骤如下:
设定授与存取的电脑、电脑群组或网域
按下 确定 按钮,即列出所设定的授与存取IP位址,除了所条列的某些授与存取者外,可拒绝存取其他所有的电脑和网域,如下:
设定拒绝存取的电脑、电脑群组或网域
按下 确定 按钮,即列出所设定的拒绝存取IP位址,除了所条列的某些拒绝存取者外,可授与存取其他所有的电脑和网域,如下:
9-11 如何控制资料库存取的权限呢?
控制资料库的存取
采用於资料库软体控制资料库的存取权限、设定资料库档案及目录NTFS权限、资料库存取使用者密码保护等措施可以确保资料库的存取安全,如下:
9-12 何谓稽核(Auditing)呢?
稽核(Auditing)
稽核(Auditing)可以追踪使用者动态,监视侦测可能的安全性问题。
稽核(Auditing)的范围包含:
本章有关稽核的主题如下:
9-13 如何侦测可能的安全性问题?
如何设定及监视稽核呢?
利用Windows档案总管、IIS服务管理员、及MMC主控台,可以监视Web伺服器的相关安全事件,找出档案或目录在安全上的漏洞。
将群组原则加入MMC主控台
若要使用稽核功能,首先您必须将群组原则加入MMC主控台。
您可以稽核另一台电脑,方法为按 浏览 按钮,按下 电脑 标签页之 另一台电脑 按钮,浏览选取待稽核的另一台电脑,最後按下 确定
完成 按钮。
稽核特定目录或档案
因为稽核功能会耗费电脑的资源,建议稽核的范围(目录、档案、使用者、群组)愈特定愈好,譬如只选择特定某些档案作稽核,而非对整个目录稽核。
您可从远端对共用目录或档案之存取进行稽核。
若要稽核NTFS档案系统之目录或档案的存取动作,步骤如下:
按下 确定 按钮,如下:
设定伺服器事件的稽核功能
其他群组或使用者管理稽核
只有Administrators群组的成员才有权利来管理稽核与安全日志。
若要将管理稽核与安全日志的权限,授权给另一个群组或使用者帐户时,步骤如下:
按下 新增 按钮,如下:
按下 确定 按钮,如下:
9-14 如何侦测未经授权的存取呢?
定期检阅「Windows安全记录」和IIS记录,藉由检视警告、错误的记录项目、或未经授权的存取尝试,可以侦测可能的安全性问题。
「Windows安全记录」可以封存起来以供日後使用。
侦测可能的安全性问题
侦测IIS可能的安全性问题
若要侦测IIS可能的安全性,可以检阅IIS记录档,方法为使用「记事本」等文字编辑器来开启IIS记录档(位於%WinDir%\System32\LogFiles),如下:
检查IIS可疑的安全事件,如下:
储存Windows安全记录
您可以将「Windows安全记录」封存起来以供日後使用。若要储存Windows安全记录,方法为执行 控制台 / 系统管理工具 / 电脑管理 ,并於 系统工具 / 事件检视器 / 安全性 ,按下滑鼠右键选择 另存记录档 ,如下:
输入储存Windows安全记录的档案名称目录,即可储存Windows安全记录。