安全维护 IIS asp 站点的高级技巧

2016-01-29 18:29 8 1 收藏

安全维护 IIS asp 站点的高级技巧,安全维护 IIS asp 站点的高级技巧

【 tulaoshi.com - ASP 】

  一:前言
(仅以此文感谢好友bigeagle。不是他,我可能不用这么担心win2000安全问题的。呵呵!)

人说,一朝被蛇咬,十年怕.....。就是这样。2000年初,当我终于摆脱winnt 4.0 server那可怕的补丁之旅,迈向win2000 server时。我终于可以比较放心我的服务器了。但随着sp1的补丁出现。我知道,与微软的补丁因缘又开始轮回了。但还好。win2000自动化的管理还是让我放心好多,而以前管理winnt后的失眠症状也逐渐消失了。偶尔还能见到我的“梦”老弟。但这一切都伴随者同bigeagle的一次知心交谈中付之东流了。一次。bigeagle发来qq。给我看了一段代码。我一看就知道这不是bigeagle写的代码,那么烂,不过有点熟悉。再一看。啊?!这不是我的数据库连接字符串吗!!GOD。顿时觉得有一种不祥的预兆。不过还好,这个只是个access的,我还用了一些手段防止他被下载。但这足以让我长时间的失眠又来了。(再次说明,bigeagle不是蛇,他是鹰)

二:安装过程中的IIS 与 asp安全防护。(这里只考虑是web服务器,而不是本地机子上的web开发平台。



接下来的几天有是几个难熬的日子。我开始重新部署win2000 web服务器的安全策略。

找到asp代码被泄漏的原因,原来。我的补丁每次打得都比较及时的。但一次因为卸载FTP时,重装了IIS,而这之后,我并没有再打补丁而导致最新的漏洞web解析出错。(就是那个较新的漏洞 Translate :f 用这个加上一些工具就可以看到asp的代码了。)首先,开始重装IIS。
这次安装的策略就是安全,够用。去掉一些多余的东西。
一:FTP不要安装了,功能不好,还容易出错,并且漏洞很大。Ftp缺省传输密码的过程可是明文传送

,很容易被人截获。(可以考虑用第三方工具。)
二:一切实例、文档也不要安装了。这是在web服务器上,最好不要这些例子,事实证明可以从这些例子站点突破IIS的防线的。

三:安装时选择站点目录,建议不要用缺省目录c:inetpub,最好安装道不是系统盘的盘上。如:

d:IISWEB,可以考虑自建目录。这样即使IIS被突破,也能尽可能的保护好系统文件了。

四:不要安装html的远程管理。html的远程管理在winnt 4.0还能用的上,但漏洞比较大,而且比较危险,端口号虽然是随机的,但很容易被人扫描道,从而留下隐患。事实上,我们可以通过另一台服务器上的IIS来管理他。这样比较安全。

五:多余的服务也不要安了,如NNtp,如果不做新闻组。就不要安了。smtp,如果有更好的邮件服务,也不要装他了。

六:索引服务器。这个索引真的是很有用,但我没有用过他。否则,你可以用他建立个整个站点的文件搜索的,但现在好像大多数的asp网页都是一个网页,动态从数据库里查询。所以根本用不上索引服务器了,(不是索引不好,而是本身上面的那种asp文件结构就不适合)所以可以不要安装。

三:有目的进行安全配置。

一:开发前的工作。

首先,启动IIS后,看有没有iissamples,IIShelp,msadc,这些目录,如果有,他们大多是用来作为例子,帮助安装的,删掉他们,再把脚本库也删掉,直到web目录只留下干静的新建的虚拟目录即可,如果有管理的web站点,也删掉他。没有他,我们一样可以工作的更好。 还有看看有没有printer的文件夹,
他们大多数都是些通过web来访问打印机的。MS就是怪。为了表示我的功力强大,允许通过web来远程打印。相信没有哪个网络公司是通过web网来打印的把。也不可能让网友来使用你的计算机吧。那好,去掉他。

然后。开始详细配置各个web虚拟目录的安全。大概的策略是这样的。

分类每个文件夹管理,如,可以吧扩展名是相同的分配到同一目录,如*.asp的,和*.inc就尽量分开。如果是*.asp的,则开放虚拟目录权限,但将实际目录权限授予administrator,system(完全控制)

everyone (rc)即可。这样可以通过web允许读取。但实际上你可以加大安全力度,如果你认位他是比较保密的。如果是*.inc的,则开放目录权限,但不允许通过直接访问。这里又一个技巧了。比如。你可以允许实际目录被everyone访问,但在IIS中,你把改目录浏览项去掉,则改包含文件只能被源文件读取,但不允许被直接读许。这样,他就不可能下在倒一些你的单机数据库了。而且你的*.inc文件也不会被浏览器直接阅读。
刚才我的老弟“梦”还在问我,有没有办法可以让别人看不到你的连接字符串,你可以试试下面的方法


1 首先建立连接字符串,并建立一个单独的文件*.inc(要是*.inc的,不要*.asp的)你把你的连接字

符串用变量复制进来。
如:connstr=""Provider=SQLOLEDB.1;Password=passw;...................."
2 然后建立一个文件夹include,放在根目录里。
3 然后每一个文件用下面的办法打开连接。
如:<!-- #include file="include*.inc" --
set conn=server.createobject("adodb.connection")
conn.open connstr

4 最后在iis里把include 文件夹用拒绝读的方法保护起来

来源:http://www.tulaoshi.com/n/20160129/1506013.html

延伸阅读
IISManager V1.1 是一个在线管理IIS,维护站点组件,安全稳定,最重要的是完全免费。 希望对朋友们有所帮助,版权属于盛天科技,保留一切权利, 联系请QQ37878073。 IISManager V1.1 功能特性: 1)创建站点 2)修改站点属性,除了常用的属性外还有一些控制属性,例如带宽、CPU使用百分比等 3) 删除指定站点 4) 停止指定...
标签: ASP
  使用ServerVariables集合     当讨论Request对象内容时,要研究的集合之一就是ServerVariables集合。这个集合包含了两种值的结合体,一种是随同页面请求从客户端发送到服务器的HTTP报头中的值,另外一种是由服务器在接收到请求时本身所提供的值。为显示 ServerVariables集合中值的使用方式,在Request Object页面(...
标签: ASP
  3.3 ASP的Application对象和Session对象        本章已经讨论了两个ASP对象:Application对象和Session对象,因此能够访问Application对象和Session对象提供的集合、方法、属性和事件。本节将从程序设计的角度对这两个对象进行研究。         · ...
标签: ASP
  1.3   ASP Server对象 正像在前面看到的那样,通过服务器端包含的经ISAPI访问Web服务器的页面,用传统动态页面指令和命令可以做相当多的事情。但同时也有一些明显的限制。 例如,可以从Request.ServerVariables集合检索到所有随同客户端的请求发送过来的HTTP报头的值。它几乎可以与使用SSI #echo匹敌,同时具备的主要优...
标签: ASP
  1.    操作HTTP报头 我们已经在几处见到ASP如何创建或修改在响应页面请示时被发送到客户的HTTP报头。在Response对象中有几个属性和方法可帮助我们做到一点。下面是一些报头方法: · 控制缓存和有效期。 · 创建状态和定制的HTTP报头。 · 指定MIME类型或内容类型。 · 添加PICS标签。 接下来将简要地研究每一个方...

经验教程

721

收藏

63
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部