Win2003基本WEB服务器安全设置

来源:岁月联盟 编辑:zhu 时间:2007-11-19
Win2003基本WEB服务器安全设置内容简介:1、安装补丁 安装好操作系统之后,最好能在托管之前就完成补丁的安装,配置好网络后,如果是2000则确定安装上了SP4,如果是2003,则最好安装上SP1,然后点击开始Windows Update,安装所有的关键更新。 2、安装杀毒软件   1、安装补丁

  安装好操作系统之后,最好能在托管之前就完成补丁的安装,配置好网络后,如果是2000则确定安装上了SP4,如果是2003,则最好安装上SP1,然后点击开始→Windows Update,安装所有的关键更新。

  2、安装杀毒软件

  至于杀毒软件目前我使用有两款,一款是瑞星,一款是诺顿,瑞星杀木马的效果比诺顿要强,我测试过病毒包,瑞星要多杀出很多,但是装瑞星的话会有一个问题就是会出现ASP动态不能访问,这时候需要重新修复一下,具体操作步骤是:

  关闭杀毒软件的所有的实时监控,脚本监控。

  ╭═══════════════╮╭═══════════════╮

  在Dos命令行状态下分别输入下列命令并按回车(Enter)键:

  regsvr32 jscript.dll (命令功能:修复Java动态链接库)

  regsvr32 vbscript.dll (命令功能:修复VB动态链接库)

  ╰═══════════════╯╰═══════════════╯

  不要指望杀毒软件杀掉所有的木马,因为ASP木马的特征是可以通过一定手段来避开杀毒软件的查杀。

  3、设置端口保护和防火

  2003的端口屏蔽可以通过自身防火墙来解决,这样比较好,比筛选更有灵活性,桌面—>网上邻居—>(右键)属性—>本地连接—>(右键)属性—>高级—>(选中)Internet 连接防火墙—>设置

  把服务器上面要用到的服务端口选中

  例如:一台WEB服务器,要提供WEB(80)、FTP(21)服务及远程桌面管理(3389)

  在“FTP 服务器”、“WEB服务器(HTTP)”、“远程桌面”前面打上对号

   如果你要提供服务的端口不在里面,你也可以点击“添加”铵钮来添加,具体参数可以参照系统里面原有的参数。

  然后点击确定。注意:如果是远程管理这台服务器,请先确定远程管理的端口是否选中或添加。

  权限设置

  权限设置的原理

  •WINDOWS用户,在WINNT系统中大多数时候把权限按用户(組)来划分。在【开始→程序→管理工具→计算机管理→本地用户和组】管理系统用户和用户组。

  •NTFS权限设置,请记住分区的时候把所有的硬盘都分为NTFS分区,然后我们可以确定每个分区对每个用户开放的权限。【文件(夹)上右键→属性→安全】在这里管理NTFS文件(夹)权限。

  •IIS匿名用户,每个IIS站点或者虚拟目录,都可以设置一个匿名访问用户(现在暂且把它叫“IIS匿名用户”),当用户访问你的网站的.ASP文件的时候,这个.ASP文件所具有的权限,就是这个“IIS匿名用户”所具有的权限。

  权限设置

  磁盘权限

  系统盘及所有磁盘只给 Administrators 组和 SYSTEM 的完全控制权限

  系统盘/Documents and Settings 目录只给 Administrators 组和 SYSTEM 的完全控制权限

  系统盘/Documents and Settings/All Users 目录只给 Administrators 组和 SYSTEM 的完全控制权限

  系统盘/Inetpub 目录及下面所有目录、文件只给 Administrators 组和 SYSTEM 的完全控制权限

  系统盘/Windows/System32/cacls.exe、cmd.exe、net.exe、net1.exe 文件只给 Administrators 组和 SYSTEM 的完全控制权限

  4、禁用不必要的服务

  开始菜单—>管理工具—>服务

  Print Spooler

  Remote Registry

  TCP/IP NetBIOS Helper

  Server

  以上是在Windows Server 2003 系统上面默认启动的服务中禁用的,默认禁用的服务如没特别需要的话不要启动。

  改名或卸载不安全组件

  不安全组件不惊人

  在阿江探针1.9里加入了不安全组件检测功能(其实这是参考7i24的代码写的,只是把界面改的友好了一点,检测方法和他是基本一样的),这个功能让很多站长吃惊不小,因为他发现他的服务器支持很多不安全组件。

  其实,只要做好了上面的权限设置,那么FSO、XML、strem都不再是不安全组件了,因为他们都没有跨出自己的文件夹或者站点的权限。那个欢乐时光更不用怕,有杀毒软件在还怕什么时光啊。

  最危险的组件是WSH和Shell,因为它可以运行你硬盘里的EXE等程序,比如它可以运行提升程序来提升SERV-U权限甚至用SERVU来运行更高权限的系统程序。

   谨慎决定是否卸载一个组件

  组件是为了应用而出现的,而不是为了不安全而出现的,所有的组件都有它的用处,所以在卸载一个组件之前,你必须确认这个组件是你的网站程序不需要的,或者即使去掉也不关大体的。否则,你只能留着这个组件并在你的ASP程序本身上下工夫,防止别人进来,而不是防止别人进来后SHELL。

  比如,FSO和XML是非常常用的组件之一,很多程序会用到他们。WSH组件会被一部分主机管理程序用到,也有的打包程序也会用到。

  5、卸载最不安全的组件

  最简单的办法是直接卸载后删除相应的程序文件。将下面的代码保存为一个.BAT文件,( 以下均以 WIN2000 为例,如果使用2003,则系统文件夹应该是 C:/WINDOWS/ )

  regsvr32/u C:/WINNT/System32/wshom.ocx

  del C:/WINNT/System32/wshom.ocx

  regsvr32/u C:/WINNT/system32/shell32.dll

  del C:/WINNT/system32/shell32.dll

  然后运行一下,WScript.Shell, Shell.application, WScript.Network就会被卸载了。可能会提示无法删除文件,不用管它,重启一下服务器,你会发现这三个都提示“×安全”了。

  改名不安全组件

  需要注意的是组件的名称和Clsid都要改,并且要改彻底了。下面以Shell.application为例来介绍方法。

  打开注册表编辑器【开始→运行→regedit回车】,然后【编辑→查找→填写Shell.application→查找下一个】,用这个方法能找到两个注册表项:“{13709620-C279-11CE-A49E-444553540000}”和“Shell.application”。为了确保万无一失,把这两个注册表项导出来,保存为 .reg 文件。

  比如我们想做这样的更改

  13709620-C279-11CE-A49E-444553540000 改名为 13709620-C279-11CE-A49E-444553540001

  Shell.application 改名为 Shell.application_ajiang

  那么,就把刚才导出的.reg文件里的内容按上面的对应关系替换掉,然后把修改好的.reg文件导入到注册表中(双击即可),导入了改名后的注册表项之后,别忘记了删除原有的那两个项目。这里需要注意一点,Clsid中只能是十个数字和ABCDEF六个字母。

  下面是我修改后的代码(两个文件我合到一起了):

  Windows Registry Editor Version 5.00

  [HKEY_CLASSES_ROOT/CLSID/{13709620-C279-11CE-A49E-444553540001}]

  @="Shell Automation Service"

  [HKEY_CLASSES_ROOT/CLSID/{13709620-C279-11CE-A49E-444553540001}/InProcServer32]

  @="C://WINNT//system32//shell32.dll"

  "ThreadingModel"="Apartment"

  [HKEY_CLASSES_ROOT/CLSID/{13709620-C279-11CE-A49E-444553540001}/ProgID]

  @="Shell.Application_ajiang.1"

  [HKEY_CLASSES_ROOT/CLSID/{13709620-C279-11CE-A49E-444553540001}/TypeLib]

  @="{50a7e9b0-70ef-11d1-b75a-00a0c90564fe}"

  [HKEY_CLASSES_ROOT/CLSID/{13709620-C279-11CE-A49E-444553540001}/Version]

  @="1.1"

  [HKEY_CLASSES_ROOT/CLSID/{13709620-C279-11CE-A49E-444553540001}/VersionIndependentProgID]

  @="Shell.Application_ajiang"

  [HKEY_CLASSES_ROOT/Shell.Application_ajiang]

  @="Shell Automation Service"

  [HKEY_CLASSES_ROOT/Shell.Application_ajiang/CLSID]

  @="{13709620-C279-11CE-A49E-444553540001}"

  [HKEY_CLASSES_ROOT/Shell.Application_ajiang/CurVer]

  @="Shell.Application_ajiang.1"

  你可以把这个保存为一个.reg文件运行试一下,但是可别就此了事,因为万一黑客也看了我的这篇文章,他会试验我改出来的这个名字的。

  6、防止列出用户组和系统进程

  在阿江ASP探针1.9中结合7i24的方法利用getobject("WINNT")获得了系统用户和系统进程的列表,这个列表可能会被黑客利用,我们应当隐藏起来,方法是:

  【开始→程序→管理工具→服务】,找到Workstation,停止它,禁用它。

  防止Serv-U权限提升

  其实,注销了Shell组件之后,侵入者运行提升工具的可能性就很小了,但是prel等别的脚本语言也有shell能力,为防万一,还是设置一下为好。

  用Ultraedit打开ServUDaemon.exe查找Ascii:LocalAdministrator,和#l@$ak#.lk;0@P,修改成等长度的其它字符就可以了,ServUAdmin.exe也一样处理。

  另外注意设置Serv-U所在的文件夹的权限,不要让IIS匿名用户有读取的权限,否则人家下走你修改过的文件,照样可以分析出你的管理员名和密码。

  利用ASP漏洞攻击的常见方法及防范

  一般情况下,黑客总是瞄准论坛等程序,因为这些程序都有上传功能,他们很容易的就可以上传ASP木马,即使设置了权限,木马也可以控制当前站点的所有文件了。另外,有了木马就然后用木马上传提升工具来获得更高的权限,我们关闭shell组件的目的很大程度上就是为了防止攻击者运行提升工具。

  如果论坛管理员关闭了上传功能,则黑客会想办法获得超管密码,比如,如果你用动网论坛并且数据库忘记了改名,人家就可以直接下载你的数据库了,然后距离找到论坛管理员密码就不远了。

  作为管理员,我们首先要检查我们的ASP程序,做好必要的设置,防止网站被黑客进入。另外就是防止攻击者使用一个被黑的网站来控制整个服务器,因为如果你的服务器上还为朋友开了站点,你可能无法确定你的朋友会把他上传的论坛做好安全设置。这就用到了前面所说的那一大堆东西,做了那些权限设置和防提升之后,黑客就算是进入了一个站点,也无法破坏这个网站以外的东西。

图片内容