Web服务器安全方案

  Web服务器安全方案[原创+总结]  Web服务器安全方案  对于web服务器的安全,大的方面主要存在于两个方面:  1:系统本身的安全  2:web程序的安全  下面我具体的说说这两个方面的问题:  首先是系统本身的安全,我详细的说一下。  由于使用windows系统的人比较多,所以相对来说,该系统的漏洞也就会比较多,同时懂得一些简单攻击的用户也比较多。我们需要做到如下方面:  1:给系统打上最新的所有补丁,这个可以去microsoft 网站去更新系统,注意一定要打上所有的补丁。  2:尽量给系统安装一个防火墙,这里我推荐一款防火墙,是俄国人写的,获得了国际大奖,具体她如何好我就不介绍了,名称为blackice(黑冰).她有两种版本,server的和普通pc的。如果对于服务器,推荐我们使用server的版本。  3:尽量给系统安装一个好的杀毒软件,避免一些简单的病毒的入侵,当然说实话,厉害的病毒杀毒软件是没有用处的,只能避免简单的而已,我们真正依赖的其实还是一个好的防火墙。这里瑞星正版的软件相对来说还是比较好的,至于国外的卡巴斯基还是非常出色的。  4:停止server服务,该服务提供 RPC 支持、文件、打印以及命名管道共享。(net stop server,在"开始"-"管理工具"-"服务"中 把server服务停止并改为手动或禁止),单独删除共享的方法:net share ipc$ /delete  5:用net share命令确认默认的共享(ipc$,c$,d$...admin$,system$)已经删除,查看手工设置的共享,删除不需要的共享,最好全部删除  6:停止TCP/IP Services服务,该服务支持以下 TCP/IP 服务:Character Generator, Daytime, Discard, Echo, 以及 Quote of the Day。,它对应多个端口,如7,9,17等,可能导致DOS(DDOS)攻击。  7:用net start命令查看启动的服务,确认停止所有不必要的服务,特别是:停止telnet,ftp服务等。  8:用net user和net localgroup命令查看异常的用户和本地组,删除或禁用不必要的帐号,guest ,iusr_hostname等  9:用扫描工具检查开放的可疑端口,查找木马。(这里我们可以使用一些软件比如开放端口查看软件来查看本服务器所有开放的端口。软件名称为:Active ports。还有可以使用一些扫描工具,比如superscan,或者更加强大的GFI Languard scan 软件来查找本服务器的一些弱的漏洞还有端口。)  10:禁止一般用户从网络访问计算机,在管理工具-本地安全策略-用户权利指派-拒绝从网络登陆计算机中设置。  11:帐号尽可能少,且尽可能少用来登录;  说明:网站帐号一般只用来做系统维护,多余的帐号一个也不要,因为多一个帐号就会多一份被攻破的危险。  12:除过Administrator外,有必要再增加一个属于管理员组的帐号;  说明:两个管理员组的帐号,一方面防止管理员一旦忘记一个帐号的口令还 有一个备用帐号;另方面,一旦黑客攻破一个帐号并更改口令,我们还有机会重新在短期内取得控制权。  13:将Administrator重命名,改为一个不易猜的名字。其他一般帐号也应尊循着一原则。(可以在安全策略中进行设置修改)  14:将Guest帐号禁用,同时重命名为一个复杂的名字,增加口令,并将它从 Guest组删掉;  说明:有的黑客工具正是利用了guest 的弱点,可以将帐号从一般用户提 升到管理员组。  15:给所有用户帐号一个复杂的口令(系统帐号出外),长度最少在8位以上, 且必须同时包含字母、数字、特殊字符。同时不要使用大家熟悉的单词(如microsoft)、熟悉的键盘顺序(如qwert)、熟悉的数字(如2000)等。  说明:口令是黑客攻击的重点,口令一旦被突破也就无任何系统安全可言了,而这往往是不少网管所忽视的地方,据我们的测试,仅字母加数字的5位口令在几分钟内就会被攻破,而所推荐的方案则要安全的多。  16:在帐号属性中设立锁定次数,比如改帐号失败登录次数超过5次即锁定改帐号。这样可以防止某些大规模的登录尝试,同时也使管理员对该帐号提高警惕。(也是在安全策略中修改,具体的自己查资料,这篇文章就不介绍了)  17:加强日志审核;  说明:日志任何包括事件查看器中的应用、系统、安全日志,IIS中的WWW、SMTP、FTP日志、SQL SERVER日志等,从中可以看出某些攻击迹象,因此每天查看日志是保证系统安全的必不可少的环节。安全日志缺省是不记录,帐号审核可以从域用户管理器——规则——审核中选择指标;NTFS中对文件的审核从资源管理器中选取。要注意的一点是,只需选取你真正关心的指标就可以了,如果全选,则记录数目太大,反而不利于分析;另外太多对系统资源也是一种浪费。  18:加强数据备份;  说明:这一点非常重要,站点的核心是数据,数据一旦遭到破坏后果不堪设想,而这往往是黑客们真正关心的东西;遗憾的是,不少网管在这一点上作的并不好,不是备份不完全,就是备份不及时。数据备份需要仔细计划,制定出一个策略并作了测试以后才实施,而且随着网站的更新,备份计划也需要不断地调整。  19:只保留TCP/IP协议,删除NETBEUI、IPX/SPX协议;  说明:网站需要的通讯协议只有TCP/IP,而NETBEUI是一个只能用于局域网的协议,IPX/SPX是面临淘汰的协议,放在网站上没有任何用处,反而会被某些黑客工具利用。  20:停掉没有用的服务,只保留与网站有关的服务和服务器某些必须的服务。  说明:有些服务比如RAS服务、Spooler服务等会给黑客带来可乘之机,如果确实没有用处建议禁止掉,同时也能节约一些系统资源。但要注意有些服务是操作系统必须的服务,建议在停掉前查阅帮助文档并首先在测试服务器上作一下测试。  21:隐藏上次登录用户名,修改注册表Winnt4.0:  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current Version\Winlogon 中增加DontDisplayLastUserName,将其值设为1。Windows2000中该项已经存在,只需将其值改为1。  说明:缺省情况下,上次登录的用户名会出现在登录框中,这就为黑客猜测口令提供了线索,最好的方式就是隐藏上次登录用户名。(同样可以在安全策略中进行配置)  22:关闭并删除默认站点:  默认FTP站点  默认Web站点  管理Web站点  上面的部分资料来自互联网,其余的为本人所写。当然当我们发现机器可能遭到攻击的时候,我们的处理方案我以后写出,这里就不介绍了。  然后就是web程序的安全了。架设在windows下的服务器,这里所讨论的范畴只是IIS,所以不讨论Apache。IIS支持的为asp or asp.net.对于asp.net我不是非常了解,方案我就少说一点。对于asp程序,我具体的说一下。  目前因为很多开源的web网站的代码,如果细心的程序员就会发现那些代码里面存在很多的漏洞,比如简单的注入漏洞,还有一些非常简单的上传功能可以上传脚本文件,然后攻击者可以直接执行这些上传的脚本,达到一些他们的目的。比如添加系统用户,或者删除服务器文件,还有修改主页等等。这些都是非常简单的漏洞,但是确不被一些粗心的coder注意。我们作为网络的管理员,在配置完了一个web以后我们应该做一次入侵检测的,这个有专门的软件,他可以检测到一些简单的注入,或者代码漏洞,还有系统的一些缺陷。具体的软件名称自己去查询一下。  下面我具体的说说一些需要注意的问题了(对于一些比较早的漏洞我就不说了,现在的系统大部分都不存在这些漏洞了):  1:ACCESS mdb 数据库有可能被下载的漏洞  问题描述:  在用ACCESS做后台数据库时,如果有人通过各种方法知道或者猜到了服务器的ACCESS数据库的路径和数据库名称,那么他能够下载这个ACCESS数据库文件,这是非常危险的。比如:如果你的ACCESS数据库book.mdb放在虚拟目录下的database目录下,那么有人在浏览器中打入:  http://someurl/database/book.mdb  如果你的book.mdb数据库没有事先加密的话,那book.mdb中所有重要的数据都掌握在别人的手中。  解决方法:  (1) 为你的数据库文件名称起个复杂的非常规的名字,并把他放在非常规目录下。所谓"非常规"。打个比方:比如有个数据库要保存的是有关书籍的信息,可不要把他起个"book.mdb"的名字,起个怪怪的名称,比如d34ksfslf.mdb,再把他放在如./kdslf/i44/studi/ 的几层目录下,这样黑客要想通过猜的方式得到你的ACCESS数据库文件就难上加难了  (2)不要把数据库名写在程序中。有些人喜欢把DSN写在程序中,比如:  DBPath = Server.MapPath("cmddb.mdb")  conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath    . . . . . .详情还请下载查看,下载地址:http://pan.baidu.com/s/1o6IKvs2

你可能感兴趣的:(Web服务器安全方案)