转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 站长学院 >> Web开发 >> 正文
安全维护 IIS asp 站点的高级技巧         ★★★

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

作者:闵涛 文章来源:闵涛的学习笔记 点击数:1633 更新时间:2012/5/28 16:17:08

一:前言    
(仅以此文感谢好友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    文件夹用拒绝读的方法保护起来。你会发现,你的连接可以照常打开,但是   

如果对方看到你的源代码,他也看不到连接字符串,即使他看到了包含文件路径及名称。他也无法下载,   

或是用ie    打开。所以,可以保护你的连接字符串了。   

这里用的方法是Nt    权限与    IIS权限的共同审核。我们知道,为了让用户从web上访问道服务器的文件   

,每个安装了IIS后的服务器都会有两个内置账号。I_USExxxxxx,I_WAMxxxxxx(x为你的机器名),这样   

你就可以有的放矢的防治某些从你的web网络查看你的必要信息的用户了。   

当然,还有一些比较好的文件策略你可以参考一下:   
如:CGI    (.exe,    .dll,    .cmd,    .pl)Everyone    (X)不允许读去,运行。Administrators(完全控制)   
System(完全控制)   
所以,你在编写asp应用程序时,尽量归类好你的目录。方便用IIS和NT进行管理。   
如。采用下列结构比较好   
d:\web\asptest\static    (放置*.htm)   
d:\web\asptest\script    (放置*.asp)   
d:\web\asptest\include(放置*.inc)   
d:\web\asptest\images    (放置*.gif,*.jpg)   
这样你就可以用上面的方法来达到安全目的了。 

二:启用日志监测。   

这是亡羊补牢的好工具,至少你可以用它来监测谁通过webl干了什么,当然,你还要保护该日志的权限只   

能是被系统管理员。和超级管理所控制。这样避免某些人的干了某些事而不留痕迹。为了留好现场而又不   

影响IIS的响应速度。还是建议选则w3c扩展志格式比较好。(以前别人介绍我用ODBC,看来比较方便,   

但实际上不是这样。他受到数据库的影响很大。而且速度较慢了)。   
可以考虑纪录下一下现场数据:   
客户    IP    地址   
用户名   
方法   
URI    资源   
HTTP    状态   
Win32    状态   
用户代理   
服务器    IP    地址   
服务器端口   

如果在一台计算机上有多个    Web    服务器,则后两种属性非常有用。Win32    状态属性对于调试非常有用。   

检查日志时,密切注意错误    5,这意味着访问被拒绝。在命令行上输入    net    helpmsg    err,可找出其它   

Win32    错误的含义,其中    err    是要查找的错误号。   

三:配置合适的脚本映射。   

相信我,大部分的asp源代码泄漏都是通过不安全,或是有错误的脚本映射导致的。而他们中的大多数   

可能你用不到。如下面我说的。   

1    *.htr这是一个比较厉害的文件,他是web应用程序的一种。同hta一样。这是些比较厉害的功能,但   

介绍很少。hta就是一种html    格式的    application,功能比较强大。切安全性比htm要低。所以可能会导   

致功能强大的操作。比如htr就可以通过web来重社密码。相信我们大多数的asp程序员和NT网管不需要这   

个把。那好,把他的对应选项删掉好了。否则,任何人都可以通过你的web来进行非法操作,甚至格式化   

掉你的硬盘。   

2    *.hta    这个我已经说过了,他是把双刃剑,用的好,你可以通过他来访问nt的很多操作,在asp上开   

nt用户也是可能的。但大多数的工作可以不通过web来事最好的。而*.hta在web很少用到,虽然他在   

iis4.0就推出了。比如,你把一个文件保存成*.hta,你就可以用ie打开。看看,很奇怪的界面吧。听ms   

的工程师说.net中吧*.hta换了个说法,功能加大了。看来网管的工作又该加大了。如果你想安全一些。   

删掉吧。   

3    *.idc    这个东东是个比较老的数据库连接方法了,现在大多数都直接用asp文件。不用idc了,所以删   

掉他。   

4    *.printer这个是打印机文件。去掉他好了   

5    *.htw    ,    *.ida    *.idq这些都是索引文件,也可以去掉了。   

四:好的安全习惯。   

账号策略,密码策略   
这些其实都在我的前两片贴子贴过了。,等等,感兴趣的可以看看相关文章。   
另外。还要注意要多上ms的站点,看看安全公告。(MS的访问量就是这样长期排行世界前三的!)   
还要准备好一些第三方的工具。如扫描工具,模拟攻击工具。多上安全站点看看。   
如果你可以交道一些比较好的黑道朋友(我另一个师兄家家的方法),也是比较好的。(黑道是黑客走   

的路!)   


五:防止asp代码被泄漏。   

这里只能说是防止,我只有从已经发现的看asp方法的漏洞入手,现在对于iis4.

0则几乎有20种以上的    办法,但安装了sp6a后有两种,可以到微软的网站安全公告下载2000-8月后的补丁可以解决。但如果你用   

了本文上面的方法。可以装到sp6就可以了
如果是win2000    server,则有两种方法。安了sp1后,还有一种,所以你必须倒微软安全公告栏去下载   

相应的hotfix。可以解决。   

六:防止恶意的破坏。   

这个功能能对付一些被你监测到的不良分子,你可以在日志中、或第三方工具看到到底是谁在不停的探   

测、破坏你的IIS,那么把他列为不收欢迎的黑名单,这样,你再配置站点时可以对其IP,或域进行拒绝访   

问,不过这一过程是要付出代价的,你的IIS要担任反向查找的功能。可能会比较耗时。   

六:    安全的话题。   
以上还只是IIS与asp的。如果你要用道数据库。用道远程管理,用道远程连接数据库。那还要分别注   

意。正如我说的。没有绝对的安全。而这也才是安全的需要。关于安全的话题,没有结束,只有待续。


[Web开发]一个关于ASP运行时间计算的代码  [Web开发]ASP:检测含有中文字符串的实际长度
[Web开发]asp 中英文字符长度检测判断函数  [网站运营]通过iisapp命令查找应用池pid解决IIS的CPU占用率过
[建站心得]关于windows2003的IIS不能用 ””..”” 表示父目…  [建站心得]IIS如何绑定中文域名方法详解
[Access]ASP&SQL让select查询结果随机排序的实现方法  [Web开发]ASP字符串截取函数
[Web开发]使用微软 URL Rewrite Module 开启IIS伪静态  [Web开发]IIS(win2003系统)配置伪静态 ISAPI Rewrite
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · Web开发  · 网页制作
    · 平面设计  · 网站运营
    · 网站推广  · 搜索优化
    · 建站心得  · 站长故事
    · 互联动态
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台