为什么你的windows服务器会被黑?
Admin
网络
点击:101 次
服务器被黑的情况经常发生,那么怎么防止这件事情呢?
问题1。弱口令
这个是重中之重,包括系统管理员口令、数据库管理员口令。许多管理员还没有设置复杂口令的习惯,这个是相当危险的,因为很多扫描软件可以轻易的找到你的远程端口是什么,然后通过暴力破解的软件,如果密码很简单,几个小时就可以破解,所以这个是基本工,不要为了远程登陆方便而设置简单的密码,您要设置长度不小于8位,复杂且没有规律的密码,现在有专门的密码生成器
问题2。默认共享
也就是常说的$ipc漏洞,其实也不是漏洞,这个是Windows强大功能的体现之一。基本思路是用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:\windows\system32\scrrun.dll
WScript.Shell、Shell.application、WScript.Network这3个几乎用不到,主要危害是通过asp可以运行exe文件和修改注册表,几乎所有的asp木马都用这几个组件,而正常的asp程序却都用不到,
所以干脆删除吧,不过WScript.Shell会被一部分主机管理程序用到,也有的打包程序也会用到,你最好先确认一下再删除。
方法:
卸载WScript.Shell和WScript.Network组件: regsvr32 /u c:\windows\system32\wshom.ocx
卸载Shell.application组件: regsvr32 /u c:\windows\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:\windows\所有文件(目录下的文件,不包括子目录) 只有administrators和system完全
c:\windows\system32\dllhost.exe administrators和system完全,everyone读取和运行
c:\windows\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。其他的防御措施
天外有天,就算你设置的再好,也可能会被入侵,因为新的漏洞总是不断被发现,而你总不可能是第一个知道的人。所以你对你的设置不能太放心,应该考虑适当做以下一些事情。
关闭不用的端口,或者说是只开放必须的端口,这个不再详细说明。
安装杀毒软件,比如诺顿,但是不推荐国内的杀毒软件,效果差、占资源大,和国外一流软件确实没办法比优秀的杀毒软件带的按照访问扫描功能一般都很好用,他能对运行的文件自动进行杀毒,那些黑客工具一般都能在运行前杀掉,这样会安全许多。不过要注意的是,不是装越多越好一个就够了,不然会造成系统混乱。另外就是杀毒软件会对运行速度产生一定影响。
经常备份数据,作为一个合格的管理员,应该备份备份再备份,毫无疑问这个才是最安全的措施。