服务器被黑的情况好象越来越严重,所以写了这篇文章,希望能给许多不明白自己服务器漏洞在什么地方的管理员一些帮助,应该还不算太晚。-别骂我太小气没公开这些内容。
其实windows本身并没有什么漏洞,一般都是因为你的设置不够好,您可以一点一点往下看,相信你肯定做了其中一些,但并没有一定做完全。 

基础级的问题:
1。还在用fat32的磁盘格式做服务器
2。每个IIS的站点还没有独立用户
3。硬盘上到处都是everyone完全控制
4。从来不去安装windows update
以上4个的解决方法就不要说了,如果连这个都不懂,那就好好去进修再说。 

问题 1 。弱口令
很多管理员还没有设置复杂口令的习惯,这个是相当危险的,因为随便什么扫描软件都可以很轻易的找到你的远程端口是什么,然后找个暴力破解的软件,如果密码很简单,一个晚上就可以,破所以这个是基本工,不要为了远程登陆方便而少设置简单的密码,您至少要设置12位以上的密码别怕你的密码会太长,因为2000支持长达128位的密码。

问题 2 。默认共享
也就是常说的$ipc漏洞,其实也不是漏洞,这个是2000强大功能的体现之一。基本思路是用net命令和服务器建立连接(当然建立之前也要有管理员的密码,所以弱口令的机器会很容易中招),然后就可以在服务器上执行任意程序了。不管你的口令弱不弱,相信你肯定不会这样去管理你的服务器,所以彻底的办法是删除共享,如何删除默认共享,网上好象介绍这个的很多很多,有一个最好最简单的办法是禁用server服务。把关联的Computer Browser和Distributed File System也一起禁止用吧,反正你也用不到。 

问题 3 。危险组件
下面5个组件是windows自带的,但是因为过于强大,所以稍微不小心就会产生漏洞
FSO、XML、WScript.Shell、Shell.application、WScript.Network
作为虚拟主机,FSO和XML都肯定用到,不然你的虚拟主机连个论坛都不能放,估计你的空间肯定会卖不出去呵呵。如果独立主机,您确信用不到这2个组件那就卸掉他,尤其是FSO组件。卸载FSO组件的方法:regsvr32 /u c:\winnt\system32\scrrun.dll
WScript.Shell、Shell.application、WScript.Network这3个几乎用不到,主要危害是通过asp可以运行exe文件和修改注册表,几乎所有的asp***都用这几个组件,而正常的asp程序却都用不到,
所以干脆删除吧,不过WScript.Shell会被一部分主机管理程序用到,也有的打包程序也会用到,你最好先确认一下再删除。
方法:
卸载WScript.Shell和WScript.Network组件: regsvr32 /u c:\winnt\system32\wshom.ocx
卸载Shell.application组件:    regsvr32 /u c:\winnt\system32\shell32.dll
顺便说一下,对于DLL文件关联的组件,如果你想让部分用户用,只要单独设置一下对应DLL文件的权限就可以。比如你只想给某几个用户只用FSO,那么只要单独设置一下scrrun.dll的权限,给需要的人读取及运行。

问题 4 。默认 windows 权限
这个问题比较复杂,但确实默认windows目录的安全设置权限有点过大,按照以下简单修改一下吧。
c盘根目录   只有administrators和system完全
C:\Program Files\Common Files administrators和system完全,everyone读取和运行
C:\Program Files\其他目录 只有administrators和system完全
如果你有asp组件安装在这个目录下,那么组件目录也需要everyone读取和运行
c:\winnt\所有文件(目录下的文件,不包括子目录) 只有administrators和system完全
c:\winnt\system32\dllhost.exe administrators和system完全,everyone读取和运行
c:\winnt\system32\其他exe和com文件(目录下的文件,不包括子目录) 只有administrators和system完全
上面的权限可以设置的很细,甚至精确到每个文件为止,不过一般这样设置了也就可以了。如果你不是虚拟主机服务器,装了其他的软件,建议你确认好以后再动手,也许会导致其他软件运行有问题。 

问题 5 cgi PHP
CGI和PHP有自己的漏洞和SHELL,因为CGI和PHP本身以执行EXE文件为基础,所以如果产生漏洞的话问题会比ASP严重一点。如果你对CGI和PHP不懂,简单一句话:你的服务器就别装了这2个了,至少我认为服务器应该最小的安装=最大的安全,能不装的都别装。 

问题 6 asp 可以列出服务器进程和用户
这个虽然不是什么直接涉及安全的问题,但让人家看到你的服务器有什么进程在运行、有什么用户和组总不是好事情,何况现在密码喜欢用123456的人还真不少,所以也设置一下吧。
最简单的办法是禁用Workstation服务 

问题 7 SQL 的问题
SQL实在太强大,默认的SA帐号更是无所不能,但是SA帐号的名称却是不能修改的,所以无论无何SA的密码一定要设置的足够强壮,最好是把能用的字符都用上。另外把也建议把SQL普通用户的备份权限取消,不然SQL的cmdshell也会出乱子。

问题 8 SERV-U
从4.0开始发现漏洞到现在的这2年,serv-u一直在升级,到现在都6.0.0.2了,还是一直没彻底解决问题,一直有办法提升权限,真是郁闷。所以请所有使用serv-u的用户务必加倍留意。
既然他很不安全,最好解决的方式就是不用serv-u。
如果你的站点是手工开设的,或者单机的用户很少,那就用IIS自带的FTP吧,这东西虽然功能很少,但是还是比较强壮的,如果不知道怎么设,就去看看windows帮助。很多人不知道自带FTP多个用户该怎么去建,这里说一下基本方法。
先建一个FTP站点,随便指向一个主目录,然后每个用户设置一个虚拟目录,虚拟目录的名称要和用户名称想同,这样他会自动转到这个用户的目录去访问,当然你得设置好各种权限。如果想限制用户上传大小,那么只能通过NTFS的磁盘配额来解决,其他功能就少的可怜了,多看windows帮助吧。
如果你非用SERV-U不可,那么可以按照以下方式设置会安全许多。SERV-U有2个主要的漏洞,一个叫权限提升一个叫溢出。
权限提升:SERV-U有个内置的本地管理员帐号,侵入者运行提升工具能提高用户的权限。
解决方法是用Ultraedit打开ServUDaemon.exe查找Ascii:LocalAdministrator,和 #l@$ak#.lk;0@P,修改成其
他其它长度想等的字符就可以了,ServUAdmin.exe也一样处理。
特别要注意的是Serv-U所在的文件夹的权限,不要让普通用户有读取这2个文件的权限,否则人家下载你修改过的文件,照样可以很容易分析出你的管理员名和密码,所以修改以后还需要设置serv-u目录只给administrators和system帐号访问。
溢出:侵入者先取得其中一个FTP帐号,然后运行溢出工具,成功以后可以取得serv-u服务运行的帐号,而默认serv-u服务是以system身份运行,具有完全控制服务器的权限。
现在最新的6.0以上版本已经解决这个问题了,请务必升到最近的版本。
为了更安全,还是有必要做进一步的防范,把默认的serv-u服务帐号修改掉。新建一个用户,然后把serv-u的服务改成此用户的身份运行,当然serv-u和用户的web目录也需要给这个用户一
定权限,详细设置网上介绍比较多,可以自己找一下资料。 

问题 9 。其他的防御措施
天外有天,就算你设置的再好,也可能会被***,因为新的漏洞总是不断被发现,而你总不可能是第一个知道的人。所以你对你的设置不能太放心,应该考虑适当做以下一些事情。

关闭不用的端口,或者说是只开放必须的端口,这个不再详细说明。
安装杀毒软件,比如Mcafee和诺顿,但是不推荐国内的杀毒软件,效果差、占资源大,和国外一流软件确实没办法比优秀的杀毒软件带的按照访问扫描功能一般都很好用,他能对运行的文件自动进行杀毒,那些***工具一般都能在运行前杀掉,这样会安全许多。不过要注意的是,不是装越多越好一个就够了,不然会造成系统混乱。另外就是杀毒软件会对运行速度产生一定影响。
经常备份数据,作为一个合格的管理员,应该备份备份再备份,毫无疑问这个才是最安全的措施。

<全文结束>

媳妇的小店:http://88-61.taobao.com/