提高IIS的安全性

概要:使用IIS的省缺设置就象把你屋子的钥匙给了别人,本文教你如何把门锁上。(本文不是100%直译,括号中的是讨饭猫的废话)

没有任何系统是100%安全的,系统漏洞会不断地发现,这是因为黑客和系统管理员一样也在整天看着新闻组,收集着这方面的信息。黑与反黑之间的战斗会永远进行下去。

如果你采用IIS的省缺设置,那你在这场较量中就已经处于下风。Windows NT省缺下被安装为一个开放的服务器,即使是菜鸟hacker也能得手。但只要你做下面几个简单步骤,情况就会有很大改善。虽不敢说攻无不克,至少可以保护你的数据不象小克的拉链门一样世人皆知。

一个安全的系统要有多层保护。一般的计算机系统有三层保护,物理层,网络层,文件系统。物理层就是保护好计算机硬件本身,硬盘,软盘不被偷走,这就不用我多说了。网络层是要保护与Internet和本地LAN的网络连接,主要是靠防火墙和端口的存取权限设置。最里面的是文件系统,这也是大多数攻击的目标。下面我们主要也就讲这方面。

省缺设置的问题

NT省缺设置成一个开放系统,文件系统是几乎完全没有安全设置的,网络上的任何用户都可以读写删除其中的文件。这主要原因是NT中大量使用了 Everyone 组(更可怕是省缺给 full权限),理论上,地球上任何用户都属于everyone组。相比之下,NetWare就设置为一个封闭的系统,安全性就好很多。为什么Microsoft要做这种蠢事?原因可能是给最大权限可以减少许多因为权限问题带来的技术支持电话吧。(是这样吗?)

IIS同样也有很多问题。安装IIS时,系统建立一个前缀是IWAM_(早期版本是IUSR_)的帐户,该帐户属于Guest组,能够存取Guest组和Everyone组权限下的所有文件。在省缺安装下,90%的系统文件可以被该用户访问。

看来解决方法就是删除所有的everyone组权限了,但实际上这样做行不通。因为IIS不仅要存取HTML文件,还会调用Script和ActiveX控件,还涉及到DLL的执行,全部取消Everyone组权限会使系统出现这样那样的问题。所以要使用一些系统安全工具来一步步做。

系统安全工具

熟悉以下NT系统自带的安全工具是很重要的:

User Manager(usrmgr.exe)
IIS 4.0: Microsoft management console (MMC.EXE)
IIS 3.0: Internet service manager (INETMGR.EXE)
Registry editor (REGEDT32.EXE)
(介绍省略,不相信你没用过)

Command line ACL editor (CACLS.EXE)
这个工具可能知道的人不多,也是NT自带,用于管理access control list(ACL)。

Control panel, system applet
该工具用于管理系统环境变量。

步骤一:使用专用的Web组

1 用user manager建立一个名为WWW的本地组
2 将IWAM_账号从Guests组中删除,加入WWW组
3 赋予WWW组“access this computer from the network”权限,让IIS能执行一个本地登录操作
4 重起WWW服务
5 在Web根目录下执行命令行操作:

CACLS <DIR>\*.*  /T /E /C /G WWW:R

参数        Meaning
<DIR>\*.*    Web根目录。在  With IIS 4.0 中通常是 C:\Inetpub\WWWRoot.    
/T    作用于所有的目录和子目录    
/E    编辑ACL,不是替换    
/C    有错误停止执行.    
/G WWW:R    赋予WWW组Read权限    

这样Web目录下的所有文件都承认WWW组的读权限了。别忘了在其他包含Web内容的目录下执行这个命令(主要是虚拟目录)

步骤二:删除Everyone组

完成以上操作后,Internet用户只能看所允许的文件了。但这还不够,因为everyone组还存在,现在需要将everyone组从计算机中的所有文件中清除出去。
但清除everyone组不象想象的那么简单。省缺下,许多Microsoft DLL文件在ACL中之只列了everyone组。如果一杆子打到底,这些DLL文件就无人可以访问了。因为一删除everyone组,ACL就空了,空的ACL意味着任何访问者都没有权限。执行以下命令:

CACLS C:\*.* /T /E /C /G Users:F /R Everyone

参数    Meaning
/G Users:F    赋予Users组所有权限
/R Everyone    取消Everyone组所有权限

这样可以保证ACL中不为空。然而这样做带来两个问题:本机完全开放给本地网络;变动太多的系统文件权限。最好的方法其实是找出那些文件只有everyone组权限,不幸地是WindowsNT没有提供该功能,但有一些第三方工具能做到这个功能。(原文中没有提到到底是哪些工具)如果有这些工具的话,该命令改为:

CACLS C:\*.* /T /E /C /R Everyone

步骤三:处理数据库

如果你的系统包括数据库或ActiveX,例如搜索引擎,guest book什么的,那还需要执行步骤三。对于guest book,执行:

CACLS /T /E /C /G WWW:C

参数    Meaning
/G WWW:C    赋予 WWW 组change权限.

这时,你可能会发现从Web上还是无法更新guest book,甚至连数据库读操作都无法执行。如果出现这种情况,你一定是使用了ODBC连接数据库。问题就出在ODBC的临时文件。当ODBC 建立时,系统会建立一个临时文件记录锁定信息等。省缺情况下,这些文件是存放在system32目录下。Internet用户是没有在该目录下写和创建的权限的。比较好的解决办法是指定另一个Internet用户有权限的目录来存放ODBC临时文件。在Control Panel的system applet中加入以下系统变量

变量    
TEMP    %SystemDrive%\TEMP
TMP    %SystemDrive%\TEMP

然后给该目录授权:

CACLS C:\TEMP\*.* /E /C /G WWW:F

然后重启机器。

步骤四:ActiveX 部件

如果使用ASP去连结数据库,还会有问题。ASP使用ActiveX部件ADO 去访问数据库。一个ASP连结数据库的典型语法是:

var DBConn = Server.CreateObject('ADODB.Connection');

ADODB.Connection是一个Program ID,实际上是一个文件。在实际使用中要被翻译成实际的地址以便调用。这个信息被记录在注册表的 HKEY_CLASSES_ROOT 段中。现在明白要改什么了吗?就是要给ADODB.Connection所在目录加上WWW组的读权限。用Regedit去找到该目录吧。

祝贺你

你现在已经使你的系统安全很多了。但记住,hacker会不断寻找新漏洞来攻破你的系统,所以这种安全性设置只是与hacker进行的第一场战役。  

转自站: http://www.windowstechedge.com

时间: 2024-09-21 21:02:45

提高IIS的安全性的相关文章

提高操作系统和IIS的安全性

中介交易 SEO诊断 淘宝客 云主机 技术大厅 随着校园网络建设和应用的逐步深入,越来越多的学校建立了自己的Web服务器.IIS(Internet Information Server)作为目前最为流行的Web服务器平台,在校园网中发挥着巨大的作用.因此,了解如何加强IIS的安全机制,建立一个高安全性能的Web服务器就显得尤为重要.????保证系统的安全性????因为IIS是建立在Windows NT/2000操作系统下,安全性也应该建立在系统安全性的基础上,因此,保证系统的安全性是IIS安全性

如何提高IIS 5.0网站伺服器的执行效率呢?

iis|执行 提高IIS 5.0执行效率 如何提高Windows 2000 Server中IIS 5.0网站伺服器的执行效率呢? 提高IIS执行效率的方法如下: 1. 启用HTTP的持续作用可以改善15~20%的执行效率. 2. 不启用记录可以改善5~8%的执行效率. 3. 使用 [独立] 的处理程序会损失20%的执行效率. 4. 增加快取记忆体的保存档案数量,可提高Active Server Pages之效能. 5. 勿使用CGI程式. 6. 增加IIS 5.0电脑CPU数量. 7. 勿启用A

提高IIS 5.0网站服务器的执行效率的八种方法

iis|服务器|执行 以下是提高IIS 5.0网站服务器的执行效率的八种方法: 1. 启用HTTP的持续作用可以改善15~20%的执行效率. 2. 不启用记录可以改善5~8%的执行效率. 3. 使用 [独立] 的处理程序会损失20%的执行效率. 4. 增加快取记忆体的保存文档数量,可提高Active Server Pages之效能. 5. 勿使用CGI程式. 6. 增加IIS 5.0电脑CPU数量. 7. 勿启用ASP侦错功能. 8. 静态网页采用HTTP 压缩,大约可以减少20%的传输量. 简

提高IIS网站服务器效率八法

以下是提高IIS 5.0网站服务器的执行效率的八种方法: 1. 启用HTTP的持续作用可以改善15~20%的执行效率. 2. 不启用记录可以改善5~8%的执行效率. 3. 使用 [独立] 的处理程序会损失20%的执行效率. 4. 增加快取记忆体的保存文档数量,可提高ActiveServer Pages之效能. 5. 勿使用CGI程式 6. 增加IIS 5.0电脑CPU数量. 7. 勿启用ASP侦错功能. 8. 静态网页采用HTTP 压缩,大约可以减少20%的传输量. 简单介绍如下 1.启用HTT

提高IIS 5.0网站伺服器的执行效率的八种方法

iis|执行 提高IIS 5.0网站伺服器的执行效率的八种方法 以下是提高IIS 5.0网站伺服器的执行效率的八种方法: 1. 启用HTTP的持续作用可以改善15~20%的执行效率. 2. 不启用记录可以改善5~8%的执行效率. 3. 使用 [独立] 的处理程序会损失20%的执行效率. 4. 增加快取记忆体的保存档案数量,可提高Active Server Pages之效能. 5. 勿使用CGI程式. 6. 增加IIS 5.0电脑CPU数量. 7. 勿启用ASP侦错功能. 8. 静态网页采用HTT

如何监视和提高IIS 5.0的性能

iis|性能 今天我来向大家介绍一下如何监视和提高IIS 5.0的服务器的性能,这只是我个人从一些资料和实践中总结的一些东西,拿出来大家一起来讨论一下,J.我们要从如下几个方面来讨论:1, 内存(memory),内存性能的好坏直接影响着其他各个组件的运行的性能,我觉得比cpu和硬盘的性能更重要,在IIS5.0里我们应该注意到充足的内存资源可以给我们的Web服务器带来更高的性能.关于具体到如:IIS Object Cache,等内容由于时间的原因我会在以后来介绍.2, 解决处理器的瓶颈问题,我们尽

如何提高IIS 5.0网站伺服器的执行效率呢

iis|执行 提高IIS 5.0执行效率 如何提高Windows 2000 Server中IIS 5.0网站伺服器的执行效率呢? 提高IIS执行效率的方法如下: 1. 启用HTTP的持续作用可以改善15~20%的执行效率. 2. 不启用记录可以改善5~8%的执行效率. 3. 使用 [独立] 的处理程序会损失20%的执行效率. 4. 增加快取记忆体的保存档案数量,可提高Active Server Pages之效能. 5. 勿使用CGI程式. 6. 增加IIS 5.0电脑CPU数量. 7. 勿启用A

Win7系统如何提高U盘安全性

  Win7系统如何提高U盘安全性           1.按下"Win+R"组合键呼出运行,输入"regedit"按下回车键打开注册表编辑器; 2.在注册表左侧依次展开"HKEY_CLASSES_ROOT"--"DesktopBackground"--"Shell"; 3.在shell项上,单击右键选择新建"项",然后将项命名为"Remove USB"; 4.点击&

Windows 2003服务器IIS站点安全性和稳定性

  今天我讲更深入一些,谈谈网站安全性和稳定性.对于很多接触过Linux和Windows的朋友,对比Linux的apache来说,应该很清楚IIS是很不稳定了.什么死循环.堆栈溢出等问题一出现IIS就挂掉了,其他网站就受影响了.那我为什么还要讲IIS的安全性和稳定性呢?还是那句话,针对目前的市场来写文章做分享. 以下是使用IIS 部署网站的建议 1.将IIS目录&数据与系统磁盘分开放,如C盘放系统,D盘放数据,E盘只放网页文件. 2.网站目录只Administrators/SYSTEM/WEB用