ASP编程:ASP教程:第十九篇 最新的ASP、IIS平安...
写软件都是想的时间比写的时间要长的.如果反过来了就得看看是什么原因了.另外大家可以回去问问公司里的小MM.(一般企业里,跟你们交付软件接触得最多的是她们) 当ASP以其天真、复杂、有用、壮大的特征敏捷风行环球网站的时分,其自己的一些缺点、毛病也正威逼着一切的网站开辟者,继上一篇中先容了一些IIS的体系毛病及ASP的平安成绩后,本期中将针对最新的ASP、IIS平安毛病举行具体的切磋,请一切的ASP网站开辟者亲切存眷,进步小心。 本月初微软再次被求全谴责对其出品的WEB服务器软件的平安成绩不减轻视。在微软的盛行产物IISSEVER4.0中被发明存在一种被称为“不法HTR哀求”的缺点。据微软称,此缺点在特定情形下会招致恣意代码都能够在服务器端运转。但用发明这一毛病的Internet平安公司eEye的CEOFirasBushnaq的话说:这只是冰山一角罢了。Bushnaq说,微软坦白了些情形,好比黑客能够使用这一毛病对IIS服务器举行完整的把持,而恰好很多电子商务站点是基于这套体系的。上面排列出了该IIS体系毛病的具体情形:
IIS的最新平安毛病
受影响的体系:
InternetInformationServer4.0(IIS4)
MicrosoftWindowsNT4.0SP3OptionPack4
MicrosoftWindowsNT4.0SP4OptionPack4
MicrosoftWindowsNT4.0SP5OptionPack4
发布日期:6.8.1999
microsoft已证明了这个毛病,但今朝还没有供应可用的补钉程序。
微软平安通告(MS99-019):
主题:"非一般的HTR哀求"毛病
公布工夫:6.15.1999
择要:
微软已证明在其公布的WEB服务器产物InternetInformationServer4.0中存在一个严峻的体系毛病,该毛病招致关于IIS服务器的“服务回绝打击”,在这类情形下,大概招致任何2进制代码在服务器上运转。有关该毛病的补钉将在近期公布,请一切IIS用户亲切存眷。
毛病先容:
IIS撑持多种必要服务器端处置的文件范例,比如:ASP、ASA、IDC、HTR,当一个WEB用户从客户端哀求此类文件时,响应的DLL文件将主动对其举行处置。但是在ISM.DLL这个卖力处置HTR文件的文件中被发明存在严峻的平安毛病。(注:HTR文件自己是用来远程办理用户暗码的)
该毛病包括了一个在ISM.DLL中未履历证的缓冲,它大概对WEB服务器的平安运作形成两方面的威逼。起首,是来自服务回绝打击的威逼,一个来自非一般的对.HTR文件哀求将招致缓存溢出,从而间接招致IIS溃散,当这类情形产生时,不必重启服务器,可是IISWEB服务器必需从头启动。另外一个威逼更使人头痛,经由过程利用一个经心构建过的文件哀求将能够使用尺度的缓存溢脱手段招致2进制代码在服务器端运转,在这类情形下,甚么都大概产生!该毛病不包含供应用来办理用户暗码的功效的.HTR文件。
道理剖析:
最少在一个IIS的扩大名中(比方:ASP,IDC,HTR)存在溢出。我们推想溢出将在IIS把完全的URL传送给DLL去向理扩大名时产生。假如ISAPIDLL没有准确的反省限定局限从而招致INETINFO.EXE发生一个溢出,用户就从能够远端实行2进制代码。打击办法:向IIS发一个以下的HTTP哀求:"GET/.htrHTTP/1.0",IIS将溃散。这里的能够是3K长的代码。
人人大概对.HTR文件不是很熟习,实在IIS具有让NT用户经由过程WEB目次/iisadmpwd/变动本人的口令的才能。而这个功效恰是由一组.HTR文件和ISAPI的一个扩大DLL:ISM.DLL完成的。当一个完全的URL传送到ISM.DLL时,因为没有得当的巨细限定的反省,就会招致溢生产生,从而使得服务器溃散。HTR/ISM.DLLISAPI是IIS4缺省安装。
办理路子:
因为今朝微软还没有公布可供利用的补钉程序,因而我们只能做一些应急的提防。
1、将.HTR扩大名从ISAPIDLL的列表中删除
在你的NT桌面上,点击“入手下手”―>“程序”―>“WindowsNT4.0OptionPack”―>“MicrosoftInternetInformationServer”―>“Internet服务办理器”;双击“InternetInformationServer”;鼠标右键单击盘算机称号并选择“属性”;在“主属性”下拉式菜单当选择“WWW服务”并点击“编纂”按钮;选择“主目次”文件夹,并点击“设置”按钮,在“使用程序映照”列表框当选中.HTR的相干映照,选择“删除”,并断定。
2、安装微软供应的补钉程序,请亲切存眷以下网址
http://www.microsoft.com/security
http://www.microsoft.com/security/products/iis/CheckList.asp
大概一些伴侣会感应不解,为何我在ASP篇17、18期一连使用两年夜篇幅侧重会商IIS、ASP的平安性成绩,假如你是一个WEB开辟者、ASP程序员,我想你就应当可以体味我的意图。我们举行收集编程、开辟交互性的网站,固然起首是为了开展、建立本身网站,可是这一些都是创建在平安的基本上,这里的平安包含对本人辛辛劳苦开辟的ASP或其他收集使用程序代码的回护、确保网站服务器平安一般的运转、确保用户信息的平安及认证等等,现今后电子商务成为真正普遍运作的一种商务运转手腕后,平安性更是关头之关头。我们中的良多伴侣在作为ASP程序员的同时又身兼收集办理员的职责,因而熟习体系的运作、实时懂得体系毛病、第一工夫办理平安性成绩就显得非常主要和需要,因而在本文的开头,作者将收拾的一些关于NT、IIS体系设置的平安性倡议排列出来,但愿能给人人一些匡助。
1、利用最新版本的MicrosoftInternetInformationServer4.0,并安装NT最新版本的ServicePack5,服务器的文件体系不要利用FAT,应当利用NTFS。
2、把IIS中的sample、scripts、iisadmin和msadc等web目次设置为克制匿名会见并限定IP地点。在微软还没有供应补钉之前,把ism.dll有关的使用程序映照删除。
3、有前提的话就接纳防火墙机制,最复杂的如web服务开在前台,目次放在背景,假如能一个服务一台机固然最好。
4、Web目次,CGI目次,scripts目次和winnt目次等主要目次要用NTFS的特征设置具体的平安权限,包括注册表信息的Winnt目次只同意办理员完整把持,一样平常的用户只读的权限也不要给。但凡与体系有关的主要文件,除Administrator,别的帐号都应当设置为只读权限,而不是everyone/完整把持。
5、只开你必要的服务,block失落一切不该该翻开的端口,如NetBios端口139,这是一个典范的伤害端口;如何克制这些端口?除利用防火墙外,NT的Tcp/IP设置内里也供应了这类功效:翻开把持面板-收集-协定-TCP/IP-属性-初级-启用平安机制-设置,这内里供应了TCP和UDP端口的限定和IP协定的限定功效。
6、办理员的帐号要设置得庞大一些,倡议到场特别字符。
7、把FTP,Telnet的TCP端口改成非尺度端口,一般我都是设置到10000~65000的局限
8、删除能够删除的一切共享,包含打印机共享和埋没的共享如ICP$,Admin$等,微软说这些特别共享资本很主要,年夜多半情形下不克不及删除,而实践上放在Internet上的呆板年夜多半不必要共享。
IPC$:合用于远程办理盘算机和检察共享资本,在网上最好不要用
Admin$:实践上就是c:winnt,也没有需要共享
C$:登录为Admin和Backup-operator的用户能够用盘算机名C$的体例会见C盘,固然仅限于局域网,可是远程黑客也有举措假装成局域网的登任命户,以是都应当关失落。
Print$:这是放打印机驱动程序的目次,与下面的一样也是个很伤害的出口。
Netlogon:这是处置域登录哀求的共享。假如你的呆板为主域把持器,域内有别的呆板要登录出去,就不要删除它,不然还是能够删除。
怎样封闭这些共享?用“服务器办理器”―>“共享目次”―>“中断共享”
9、将ASP的目次会合办理,ASP的程序目次设置细致的会见权限,一样平常倡议不要利用“读”权限。
10、把winnt下的sam._文件更名,理论证实这个大概保守暗码的文件能够删除不要。
11、关于已知的NT平安毛病,都应当在本人的呆板上做测试反省。并实时安装补钉程序。
12、有需要的情形下接纳IIS4.0供应的SSL平安通讯机制来避免数据在网上被截获。
缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。 那么,ASP.Net有哪些改进呢? 运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. 封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。 尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。
页:
[1]