INTRANET或INTERNET上如何防止自己的WEB站点被侵犯 中国人民银行萍乡市分行 梁伟敏 上过INTERNET的朋友都知道,INTERNET最迷人之处便是那一个个五花八门、独 具匠心的WEB页面。在INTERNET上建立的WEB网站可以供全球用户访问,但众所周知, INTERNET上的WEB服务器是否能处理上百万个通过INTERNET的直接访问或在INTERNE T上保留自己的文档,WEB服务器的安全性是必须被考虑的。用户将自己的WEB服务器 与INTRANET或INTERNET连接时,可以与世界各地的人和计算机通讯,这样不仅您可 以与其它网络上的人通讯,而且其它网络上的用户也可以与您的网络通讯。尽管到 您WEB服务器的连接通常是好的意图,但也有心存不良的人企图侵入您的网络内部进 行破坏。因此,在INTRANET或INTERNET上如何使自己的WEB网站不被侵入是网络管理 人员必须考虑的,下面就以WINDOWS NT操作系统上的INTERNET INFORMATION SERVER 2.0为例,主要从Internet Information Server 安全机制的工作方式、控制匿名 访问、设置文件夹和文件权限、设置 WWW 目录访问权、通过 IP 地址控制访问权等 方面来进行说明。 一、 Internet Information Server 安全机制的工作方式 Internet Information Server 是建立在 Windows NT 安全机制模型之上。Windows NT 安全机制通过请求分配用户帐号和密码帮助保护计算机及其资源。可使用限制 这些帐号的用户权力来控制访问计算机资源。可使用 Windows NT 文件系统 (NTFS) 分配计算机上的文件夹和文件权限。禁止用户向文件夹中或从文件夹中复制文件, 或禁止用户执行某个文件夹中的文件,来控制访问文件夹和文件。除了Windows NT 安全特征,还可使用"Internet 服务管理器"设置只读或只执行虚拟目录。Internet Information Server还提供了一种方法用特定 IP 地址拒绝用户访问计算机。 IIS 2.0还支持安全套接字层 (SSL) 协议,它保护客户和服务器之间的加密数据传 送。 当 IIS 2.0Web 服务器接收浏览器信息请求时,它将首先判定请求是否有效。下面 简单地说明一下每个浏览器请求使用的安全性机制。首先INTERNET SERVER接收请求, 判断该请求的IP地址是否允许,如允许则判断其用户是否允许,如允许则判断INTE RNET SERVER权限是否允许访问,如允许则继续判断NTFS权限是否允许访问,如允许 则INTERNET SERVER最终授权接受访问,否则只要其中有一项不允许INTERNET SERV ER就拒绝访问。 二、用户控制匿名访问 在许多 Web 服务器上,大部分 WWW、FTP、和 gopher 访问是匿名的;即客户请求 不包含用户名和密码。这出现在下面情况中:FTP 客户以用户名"匿名"登录、所有 的gopher 请求、Web 浏览器的请求在 HTTP 头文件中不包含用户名和密码。 即使用户不以个人用户名和密码登录,仍然可控制和监视匿名访问。每个 Interne t 服务保留 Windows NT用于进行匿名请求的用户名和密码。接收匿名请求时,服务 "假装"配置为"匿名登录"用户的用户。当资源的访问控制列表 (ACL)判断时,如果 匿名登录用户具有访问请求资源的权限,则请求成功;如果匿名登录用户不具有权 限,请求失败。通过要求用户提供有效的用户名和密码,此过程称为身份验证,可 配置WWW 服务以响应失败的匿名请求。 (一)配置匿名访问用户帐号 用户可在 Internet 服务管理器的"服务"属性页(用于 WWW、FTP 和 gopher服务) 中查看和监视匿名登录用户帐号。匿名登录用户帐号必须是提供 Web 服务的服务器 上有效的 Windows NT 用户帐号,密码必须与计算机的用户数据库中此用户的密码 相匹配。设置"策略"菜单中的"用户权力",将用户帐号和密码配置在 Windows NT用 户管理器中。匿名登录用户帐号必须具有"本地登录"用户权力。 在建立 Internet Information Server 过程中 将自动创建 IUSR_computername (随机生成密码)。例如,如果计算机名为PXRMYH1,则匿名访问帐号名是 IUSR_P XRMYH1。,所有 Web 客户都默认请求使用此帐号。注意:IUSR_computername 帐号 是属于 Guests 组,如果已经更改了 Guests 组的设置,则那些更改也适用于IUSR _computername 帐号。所以用户应该检查和修改 Guests 组的设置以确保它们适合 于 IUSR_computername 帐号。对于 WWW 和 FTP 服务,可允许或禁止匿名服务(所 有 gopher 请求均为匿名)。对 Web 每个服务(WWW、FTP 和gopher),可更改用 于匿名请求的用户帐号,并更改此帐号的密码。 【1】设置允许匿名访问 具体步骤如下: 1. 在 Internet 服务管理器中,双击 WWW 服务或 FTP 服务以显示其属性页,然后 单击"服务"选项卡; 2. 对于 WWW 服务,选定"允许匿名"复选框。对于 FTP 服务,选定"允许匿名连接 "复选框; 3. 单击"确定"。 【2】修改用于匿名访问的帐号或密码 具体步骤: 1. 在 Internet 服务管理器中,双击服务以显示其属性页,然后单击"服务"选项卡; 2. 在"匿名登录"用户名框中,键入新的用户名,默认用户帐号是 IUSR_computern -ame,此处 computername 是您的服务器的名称。建立Internet Information Serv -er 时自动创建此帐号并自动为 IUSR_computername 帐号创建随机生成的密码; 3. 在"密码"框中,键入新密码,注意:如果更改此帐号的密码,则必须在用户管理 器中为用户指定新密码; 4. 单击"确定"。 二、控制用户或组的访问 通过使用Windows NT 用户管理器指定允许哪种用户或用户组可在服务器上操作,可 以控制对Web节点的访问。可通过要求Web客户请求以提供在完成请求之前定制的In -ternet Information Server 用户名和密码,可以更进一步控制访问。 (一)设置用户帐号 Windows NT 安全机制通过要求分配的用户帐号保护您的计算机及其资源。通过在" 策略"菜单中设置用户权力,在"用户管理器"中配置在计算机上授权用户所进行的操 作。用户权力授权用户在系统上执行某个动作,包括本地登录权力,它是使用Basic 身份验证时用户所要求的用于 Internet 服务的权力。如果正使用 Windows NT Challenge/Response 身份验证,用户使用 Internet服务则要求有从网络访问本机 的权力。每个人以默认方式拥有此权力。用户为了增加安全性,在设置用户时可参 照下面原则: 【1】对于 IUSR_computername 帐号、Guests 组或 Everyone 组只给予本地登录或 从网络访问本机权力。 【2】确保系统上所有用户帐号,特别是具有管理权力的那些帐号,拥有难于猜测的 密码。特别是,选定好的管理员密码(长的、混合大小写的字母密码是最好的)并 设置合适的帐号规则。使用"用户管理器"设置密码,或在系统登录提示中键入密码。 【3】确保指定帐号密码到期的速度(这使得用户有规律地更改密码),并设置其他 规则,例如在拒绝用户之前可以忽视几个错误的登录企图。使用这些规则以防止完 全或随机的密码侵袭,尤其是在具有管理访问的帐号上。可使用"用户管理器"设置 这些规则。 【4】将 Administrator 组的成员限制为可信赖的个人。 (二)设置为要求验证用户名和密码 用户可以将对 Web服务器的访问权限制为要求客户进行身份验证,即要求Web客户提 供有效用户名和密码。使用身份验证时,不允许访问,除非提供有效的用户名和密 码。WWW 服务提供了两种形式的身份验证:Basic 和 Windows NT Challenge/Resp -onse(有时称为"NTLM")。其中Basic 身份验证是在客户和服务器之间不加密传送, 因为 Basic 身份验证是以基本的未加密形式通过网络发送客户的 Windows NT用户 名和密码,入侵者可以很容易地知道用户名和密码。而Windows NT Challenge/Res -ponse身份验证保护密码,提供通过网络的安全登录。只有 Microsoft Internet E xplorer 2.0 版本或之后的版本才支持的在 Windows NT Challenge/Response身份 验证。 【1】设置允许 WWW 服务的身份验证 具体步骤: 1. 在 Internet 服务管理器中,双击 WWW 服务以显示其属性菜单,然后单击"服务 "选项卡; 2. 选定"基本(明文文本)","Windows NT Challenge/Response",或二者都选; 3. 单击"确定"。 【2】允许 FTP 服务的身份验证 1. 在 Internet 服务管理器中,双击 FTP 服务以显示其属性页,然后单击"服务" 选项卡; 2. 允许失败的匿名连接身份验证,清除(删除)"只允许匿名连接"复选框; 3. 要求所有被授权的客户请求,清除"允许匿名连接"复选框。 注意:与 HTTP Basic 身份验证一样,FTP 和 WWW Basic 身份验证通过网络在明文 文本(即未加密)中发送密码。 三、设置被访问的文件夹和文件权限 由于客户是Windows NT 用户的缘故,每次访问资源,例如文件、HTML 页面或 Int ernet Server API(ISAPI)应用程序时都由服务来完成,而服务在企图读或执行客户 资源时需要使用用户的用户名和密码。因此可以有两种方法控制服务文件和文件夹: 在Windows NT文件系统 (NTFS) 中设置访问权限、在Internet服务管理器中设置访 问权限。注意:文件分配表 (FAT) 文件系统分区不支持访问控制,用户可以使用转 换实用程序将FAT分区转换为 NTFS。 (一)设置 NTFS 权限 用户应将数据文件放置于WEB服务器的NTFS分区,NTFS提供数据文件的安全性和访问 控制,可使用NTFS为特定用户和服务限制访问某部分文件系统。可以使用 Windows NT 资源管理器配置文件和文件夹的ACL,指定允许访问其的用户和组以及他们可具 有对特定文件和目录的何种类型的访问,NTFS文件系统给予您很好的文件控制权。 应该确保允许或拒绝 IUSR_computername或身份验证帐号访问特定资源。如果在 N TFS 设置和 Microsoft Internet Information Server 设置之间有冲突,则使用最 严格的设置。用户应该检查Web服务器中所有文件的安全性设置,并适当地调整,其 原则为:内容读访问、程序读与执行访问、数据库读与写访问。设置 NTFS分区文件 安全性的步骤如下: 1. 使用 Internet 服务管理器中的"目录"属性页,将文件放于NTFS分区并将其添加 到Web服务器; 2. 在 Windows NT 资源管理器中,用鼠标右键单击想要保护的文件夹(目录)(选 定节点根以保护整个节点),选择"属性"; 3. 在"属性"对话框中,选择"安全"选项卡; 4. 在"安全"对话框中,选择"权限"; 5. 在"目录权限"中单击"添加"以增加用户和组; 6. 在"添加用户和组"对话框中,添加应该具有访问权的用户; 7. 单击"确认"; 8. 在"目录权限"对话框中,选定应该具有权限的用户和组; 9. 从"访问类型"列表框中,选择想要给予选定用户或组的权限级别; 10. 单击"确认"。 四、设置 WWW 目录访问权 在Internet Service Manager中创建 Web发布目录(文件夹)时,可以为定义的主 目录或虚拟目录及其中所有的文件夹设置访问权限。这些权限是有 WWW 服务提供的 那些,是NTFS文件系统提供的权限之外的部分。这些权限是: 读:读权限允许 Web 客户读或下载存储在主目录或虚拟目录中的文件。如果客户为 目录中没有读权限的文件发送一个读请求,则Web服务器返回一个错误。通常,应该 给予包含要发布信息(例如 HTML 文件)的目录读权限。应该为包含公用网关接口 (CGI)应用程序和 Internet Server 应用程序编程接口 (ISAPI) DLL 的目录取消读 权限,以防止客户下载应用程序文件。 执行:执行权限允许Web客户运行存储在主目录或虚拟目录中的程序和脚本。如果客 户发送请求,运行不具有执行权限的文件夹中的程序或脚本,则服务器返回一个错 误。为了安全,不要给予内容文件夹执行权限。 (一)设置目录的访问权限 1. 在 Internet 服务管理器中,双击 WWW 服务以显示其属性页,然后单击"目录" 选项卡; 2. 选定想要为其设置权限的文件夹; 3. 单击"编辑属性"; 4. 为允许 Web 客户读和下载文件夹的内容,选定"读"复选框; 5. 为允许 Web 客户运行文件夹中的程序和脚本,选定"执行"复选框; 6. 单击"确认",然后再单击"确认"。 注意:建议用户在设置文件夹上设置执行访问或读访问时,只选择其中一种而不是 两种都选,并且可执行的脚本和程序都应该保存在与静态Web内容(HTML页)分离的 虚拟根目录中。 五、通过IP地址控制访问权 用户可以通过配置Microsoft Internet Information Server以允许或拒绝某些特定 IP地址访问WEB服务器。例如,可以通过拒绝从特定IP地址访问您的WEB服务器来排 除入侵的个人或防止整个网络访问您的服务器。相反,可以有选择地允许特定IP地 址访问您的服务。在 Internet 上排除未知用户,IP地址安全性可能最有用。如果 将Internet Information Server 配置为除了列为这项规则例外的计算机,其它计 算机都允许访问,则拒绝含有包括在那个列表中的IP地址的任何计算机的访问。相 反,如果将Internet Information Server 配置为拒绝所有 IP 地址,则除了已特 别允许IP地址访问的用户以外,将拒绝所有远程用户的访问。 (一)拒绝特定计算机或计算机组访问 1. 在Internet Service Manager的"高级"属性页中,选择"允许访问"按钮; 2. 单击"添加"; 3. 在"IP 地址"框中,键入您的WEB服务器将拒绝访问的计算机IP地址,或单击"IP 地址"框旁边的按钮以使用 DNS 名,或选定"计算机组"。在"IP 地址"和"子网掩码 "框中,键入将要拒绝的IP地址和子网掩码。 4. 单击"确认"。这样除了在"访问"状态为"拒绝"的窗口中的计算机,将允许所有计 算机访问; 5. 在"高级"属性页中,单击"确认"。 (二)允许特定计算机或计算机组访问 1. 在Internet Service Manager的"高级"属性页中,选择"拒绝访问"按钮,此步骤 除了那些特别允许访问的以外,将拒绝其它所有计算机访问; 2. 单击"添加"; 3. 在"IP 地址"框中,键入将允许访问的计算机 IP 地址,或单击"IP 地址"框旁边 的按钮以使用 DNS 名,或选定"计算机组",在"IP 地址"和"子网掩码"框中,键入 将允许访问的组的IP地址或子网掩码; 4. 单击"确认";这样除了"访问"状态为"允许"的窗口中的那些地址以外,将拒绝其 它所有计算机访问; 5. 在"高级"属性页中,单击"确认"。 除了上面讲述的这些设置自己WEB服务器外,用户还可以在系统上只运行所需要的服 务,因为运行的服务越少,在可利用的管理中发生的错误越少。这些用户可以使用 "控制面板"中的"服务"应用程序取消 Internet WEB服务器上不必要的服务。有关用 安全套接字层 (SSL)来保护数据传输的内容在此就不讲述了,用户可以参阅有关资 料进行。 至此,有关在INTRANET或INTERNET上如何防止自己的WEB服务器被侵犯的方法就介绍 完了,以上这些都是笔者在实际工作中进行过运用的,并且效果较好。如有不对之 处敬请各位同仁批评指正。