网络通信 频道

给IIS上保险

前两周帮朋友做了一次IIS的安全检测及相应的安全加固,笔者根据平时的经验写出需要检查的步骤来,希望对大家有些用处。本文以Windows2000+IIS+ Serv-U为例说明。

服务器检测

  1、将“隐藏文件或文件夹和受系统保护的文件”这几项取消,目的是为了方便检查和处理系统内所有文件及文件夹。
  2、看账号及管理组里面有没多出除“Administrator”之外的其他用户(自己更改的除外),有的话就坚决去掉。然后再检查其它用户组的情况。
  小提示:有些朋友看了一些网站上介绍的方法会再建立一个备用管理组的账号,以防被攻破时使用此账号进去恢复系统,这其实不好,建议不要建立它。因为您能使用备用账号,黑客也可能会使用。比如说一个黑客攻破您的系统,发现除Admin之外还有此备用账号具有管理权限,那么大多数都会将此账号更改密码以便自用,毕竟,新建一个账号或者更改Admin用户的密码容易被发现,而系统管理员一般情况下不会去碰这些备用账号的。当然了,利用注册表建立隐藏用户的另说。
  3、检查您的日志(包括系统、应用、安全、IIS等日志),重点在于安全日志(事先必须打开相关的审核)、IIS日志。
  4、相关目录检查
  1)检查“C:Documents and Settings”目录下有没有其他用户登录后保留下来的信息,一般如果有使用TS(Terminal Services,也就是大家常说的3389)登录过的,均会在此目录中保留相关的登录信息。
  2)检查“C:Documents and Settingsuserrecent”目录下User用户的操作历史记录,在这里会记录此用户曾经操作的所有信息.
  3)检查“C:Documents and SettingsuserLocal Settings时Temporary Internet Files”目录,此目录会记录User曾经上过的网站及下载的相关信息,这些信息对我们的入侵检测有很大作用。
  小提示:遇上有经验的黑客,他有可能会清空上面所说的内容。此外,上面提到的“C:”均指您的系统盘、User则为登录的用户名。
  5、检查端口监听情况,可使用系统自带的“netstat”命令,如果想跟踪端口对应的程序则可以使用fport等工具;然后与自己对外开放的端口和现在所开端口进行对比。
  6、检查Web根目录有没有被上传ASP木马。具体做法可参考《网管员世界》以往文章。
  7、检查FTP的其他用户有没有被加上系统管理权限,有没有被锁定目录,还要详细看看各个用户的具体权限分配情况,记住不能有执行权限。如果您的FTP有日志记录保存,那就更要详细检查有没非法登录的记录。最后看看版本是否过低,建议升级到最新版本。
  8、检查系统有没被安装有ntrootkit, 现在Windows上比较出名的有hxdef和ntrootkit。要真正找出它们并不容易,不过借助“rkdetectorv”工具进行检测就简单多了。
  9、最后用杀病毒软件对系统硬盘扫描一遍,以防止被放了其它流行木马,因为现在的杀病毒软件几乎都能扫描出流行的木马。

系统加固

  以下说的并不一定适合所有的系统,请根据自己的实际情况在本机测试好再在服务器进行配置。
在进行下面的系统加固之前,要求系统做过基础的安全配置,可根据网上提供的一些文档或《网管员世界》2005年第三期里面介绍的IIS安全设定来进行详细的配置。另外,记得安装上IISLockdown工具,因为当系统安装了IISLockdown后,账号管理里面会建立二个Web匿名用户组:“Web Anonymous Users”和“Web Applications”组,里面分别包括IUSR和IWAM二个用户,设置权限时可直接使用此用户组。此外,还需要知道同一分区和不同分区之间复制和移动的前、后的权限差别。
  小提示:在同一分区里面复制文件到目标目录时,文件会继承目标目录的权限;而移动则会保持源目录中的权限。在不同的分区中复制文件时和在同一分区复制文件一样继承目标目录的权限,而移动文件时则会继承目标目录的权限。所以,切记在设置好权限的目录内不要随意做文件的拷贝或移动,进行文件操作必须检查文件的权限。
  1、在除了系统分区之外的其它分区上去掉“everyone”用户,只添加“Administrator”用户,并赋给它完全控制权限。在系统分区就加上“Administrator”、“System”和“Everyone”三个用户,但只赋予“Administrator”和“System”完全控制权限,“Everyone”给予只读和写入权限(因为系统盘有些程序需要以system身份运行,还有在系统启动时需要everyone用户写入一些东西,否则会提示错误)。
  小提示:上面只是添加“Administrator”用户即可,不要添加“Administrators”用户组。如果不需要“System”用户的,记得不要添加,以免被黑客利用。
  2、系统盘权限分配
  1)“Documents and Settings”目录不需要给其他用户有访问的权限,只单独给“Administrator”和“System”用户完全控制即可。比如,有些朋友是使用PcAnywhere的,而PcAnywhere的密码文件就在“Documents and Settings All UsersApplication Data SymantecpcanywhereHosts”或“Documents and SettingsAll UsersApplication DataSymantec pcanywhere”目录中(主要看哪个版本),如果给黑客得到“*.cif”文件,那么您的PcAnywhere密码就会落入黑客之手了。
  2)“Program Files”目录则除了目录里面的“Common Files”目录需要给Web匿名用户组(包括“Web Anonymous Users”和“Web Applications”)有读取权限外,因为该目录在使用ASP+SQL时需要使用,其他的都不需要给,只单独给予Administrator和System用户即可。
  3)“Winnt”目录除了“helpiishelp、downloaded program files、iis temporary compressed files、offline web pages、temp、web”目录需要给予Web匿名用户组有读取权限外,其他一律不要给,也只给“Administrator”和“System”用户完全控制权限即可。
  3、系统盘的权限分配好后,要对Web根目录(就是IIS对应的根目录)进行相关的权限设置(一般我们会将Web放在其它分区,而其它分区我们在开始时已分配过“Administrator”完全控制权限)。现在先给Web目录设置“Web Anonymous Users”组只读权限、“Administrator”完全控制权限,然后里面的某些目录再根据需要来添加上相应的权限(一定要注意这里的权限分配,因为权限是累加的)。比如:Web需要上传文件,那么我们可以单独在Web根目录下建立一上传目录再单独赋予它相应的“写”权限,需要执行权限的目录也一样。如果整个Web目录没有需要上传文件的目录和要有执行文件的目录,那全部设成“只读”就好了,ASP不需要执行权限,有只读就够了。
  小提示:一定不要忽略文件的拷贝与移动操作带来的文件权限问题。
  4、还要对系统一些程序或命令进行特殊权限处理,比如:“cmd.exe、tftp.exe、telnet.exe”等危险性高的程序或命令的权限只赋予给“Administrator”就行了(也不要赋给“Administrators”组),其他用户一律去掉。
  5、为了避免日志给黑客入侵后清除,我们需要对日志进行保护操作。一般来说日志文件所在的目录(看您自己转移到什么地方了)给“System”用户有创建和写入的权力,但不能有删除权限,给“Administrator”用户完全控制权限即可。
  6、对于FTP的Serv-U的数据根目录,必须给予“Administrators”组完全控制权限,不能够单独给予“Administrator”用户,否则FTP用户登录会看不到该用户所对应的文件或文件夹。
  7、上面所做的一切都是为了防黑客和SQL注入,为更好地防范SQL注入,除了上面的权限配置外,也要适当地配置一下IIS,让SQL注入者无计可施。
  小提示:我们都知道SQL注入者很大程度上是靠构造“合法”的SQL语句让IIS执行,从而根据IIS给出的ASP错误提示信息来获取足够的信息来入侵的,所以要把IIS设置成不管出现什么样的ASP错误,均返回一种错误提示信息,这样,入侵者就无法收集服务器的信息而进行下一步入侵了。
  1)在IIS里面设置“发送文本错误消息给客户”,这样就可以在很大程度上阻止一些注入者的入侵。只要选上“站点属性”→“主目录”→“配置”→“应用程序调试”→“发送文本错误消息给客户”就行了。
  2)但即使按上述操作进行设置了,有经验的入侵者还是能够获取想要的信息,所以我们还要进一步设置;把“站点属性”→“自定义错误信息”中的“500:100”这个默认提示错误页面改成“%windir%iishelpcommon500.htm”。改过之后,不管ASP在被SQL注入过程中出现什么错误,服务器一律只提示“HTTP 500错误”,这样就能达到我们的目的了。
  小提示:原来消息里面“默认”对应的是“%windir%helpiishelpcommon500-100.asp”这个页面,只要我们在“消息类型”中选择“文件”,就可以改变为“%windir% iishelpcommon500.htm”了。
  最后在这里说一下“System”这个用户的权限。对待此用户要谨慎处理,因为即使您去掉了相关的权限,如果系统要使用时也会自动加上相应的权限的。该用户在账号管理里面根本看不到,但权限却高得很,只是系统执行一些服务时调用的。如果给黑客以“System”账号运行服务或程序,那问题就大了。不要说我们用不到它,它其实很容易调用的,简单来说,您在cmd下执行“at”命令建立的任务就属于“System”权限,它的权限比“Administrator”账号的权限还大,比如访问注册表中的“SAM”子项等。
  经过原有的安全配置和勤打补丁,再加上上面的安全加固操作,您的Web已经很安全、牢固了,就算程序有注入漏洞让黑客进来,也不能转移出Web根目录,更不能进行其它的操作。
  为了您的IIS服务器更加安全,还等什么!

文章转载地址:http://www.365master.com/kt_article_show.php?article_id=1717&categ_code=10041003

0
相关文章