1、.htw,.htr,.idc.ida.idq和,点击删除如果不使用serversideinclude,则删除.shtm.stm.shtml5.禁用父路径(有可能导致某些使用相对路径的子页面不能打开)“父路径”选项允许您在对诸如MapPath函数调用中使用“.”。在默认情况下,该选项处于启用状态,应该禁用它。禁用该选项的步骤如下:右键单击该Web站点的根,然后从上下文菜单中选择“属性”。单击“主目录”选项卡。单击“配置”。单击“应用程序选项”选项卡。取消选择“启用父路径”复选框。6.在虚拟目录上设置访问控制权限在iis里把所有的目录,不包括asp等文件的目录,比如img,image,pic,up
2、load等等这些目录,里面一般是没有asp文件的目录的执行许可设置为无,这样就算你用的程序被发现了新的漏洞,传了马上来了,它也执行不了,不过要看仔细了,有些目录里也是有asp,asa文件的!主页使用的文件按照文件类型应使用不同的访问控制列表:CGI(.exe,.dll,.cmd,.pl)Everyone(X)Administrators(完全控制)System(完全控制)脚本文件(.asp)include文件(.inc,.shtm,.shtml)静态内容(.txt,.gif,.jpg,.html)(R)在创建Web站点时,没有必要在每个文件上设置访问控制权限,应该为每个文件类型创建一个新目录,
3、然后在每个目录上设置访问控制权限、允许访问控制权限传给各个文件。例如,目录结构可为以下形式:wwwrootmyserverstatic(.html)wwwrootmyserverinclude(.inc)wwwrootmyserverscriptexecutable(.dll)images(.gif,.jpeg)7.启用日志记录1)日志的审核配置确定服务器是否被攻击时,日志记录是极其重要的。应使用W3C扩展日志记录格式,步骤如下:右键单击站点,然后从上下文菜单中选择“属性”。单击“Web站点”选项卡。选中“启用日志记录”复选框。从“活动日志格式”下拉列表中选择“W3C扩展日志文件格式”。单击“
4、属性”。单击“扩展属性”选项卡,然后设置以下属性:*客户IP地址用户名方法URI资源HTTP状态Win32用户代理服务器服务器端口2)日志的安全管理1、启用操作系统组策略中的审核功能,对关键事件进行审核记录;2、启用IIS、FTP服务器等服务本身的日志功能;并对所有日志存放的默认位置进行更改同时作好文件夹权限设置!3、安装Portreport对所有网络访问操作进行监视(可选,可能增大服务器负荷);4、安装自动备份工具,定时对上述日志进行异地备份,起码是在其他分区的隐蔽位置进行备份,并对备份目录设置好权限(仅管理员可访问)。5、准备一款日志分析工具,以便随时可用。6、要特别关注任何服务的重启、访
5、问敏感的扩展存储过程等事件。8.备份IIS配置可使用IIS的备份功能,将设定好的IIS配置全部备份下来,这样就可以随时恢复9.修改IIS标志1)使用工具程序修改IIS标志修改IIS标志Banner的方法:下载一个修改IISBanner显示信息的软件IIS/PWSBannerEdit。利用它我们可以很轻松地修改IIS的Banner。但要注意在修改之前我们首先要将IIS停止(最好是在服务中将WorldWidePublishing停止),并要将DLLcache下的文件全部清除。否则你会发现即使修改了一点改变也没有。IIS/PWSEdit其实是个傻瓜级的软件,我们只要直接在NewBanner中输入想要
6、的Banner信息,再点击Savetofile就修改成功了。用IIS/PWSEdit简单地修改,对菜鸟黑客来说他可能已被假的信息迷惑了,可是对一些高手来说这并没有给他们造成什么麻烦。为此我们必须亲自修改IIS的Banner信息,这样才能做到万无一失。高版本Windows的文件路径为WINDOWSsystem32inetsrvw3svc.dll,可以直接用Ultraedit打开W3SVC.DLL,然后以“Server:”为关键字查找。利用编辑器将原来的内容替换成我们想要的信息,比如改成Apache的显示信息,这样入侵者就无法判断我们的主机类型,也就无从选择溢出工具了。2)修改IIS的默认出错提示
7、信息等。10.重定义错误信息很多文章讲了怎样防止数据库不被下载都不错的,只要记住一点.不要改成asp就可以了,不然给你放一个一句话木马让你死的很难看,再着在IIS中将HTTP404.500等ObjectNotFound出错页面通过URL重定向到一个定制HTM文件,这样大多数的暴库得到的都是你设置好的文件,自然就掩饰了数据库的地址还能防止一些菜鸟sql注射。对于服务器管理员,既然你不可能挨个检查每个网站是否存在SQL注入漏洞,那么就来个一个绝招。这个绝招能有效防止SQL注入入侵而且省心又省力,效果真好!SQL注入入侵是根据IIS给出的ASP错误提示信息来入侵的,如果你把IIS设置成不管出什么样的
8、ASP错误,只给出一种错误提示信息,即http500错误,那么人家就没办法入侵了。具体设置请参看图2。主要把500:100这个错误的默认提示页面WINDOWSHelpiisHelpcommon500-100.asp改成WINDOWSHelpiisHelpcommon500.htm即可,这时,无论ASP运行中出什么错,服务器都只提示HTTP500错误。还可更改C:WINDOWSHelpiisHelpcommon404b.htm内容改为这样,出错了自动转到首页。Win2003中提高FSO的安全性ASP提供了强大的文件系统访问能力,可以对服务器硬盘上的任何文件进行读、写、复制、删除、改名等操作,这给
9、学校网站的安全带来巨大的威胁。现在很多校园主机都遭受过FSO木马的侵扰。但是禁用FSO组件后,引起的后果就是所有利用这个组件的ASP程序将无法运行,无法满足客户的需求。如何既允许FileSystemObject组件,又不影响服务器的安全性呢(即:不同虚拟主机用户之间不能使用该组件读写别人的文件)?以下是笔者多年来摸索出来的经验:第一步是有别于Windows2000设置的关键:右击C盘,点击“共享与安全”,在出现在对话框中选择“安全”选项卡,将Everyone、Users组删除,删除后如果你的网站连ASP程序都不能运行,请添加IIS_WPG组(图1),并重启计算机。经过这样设计后,FSO木马就已
10、经不能运行了。如果你要进行更安全级别的设置,请分别对各个磁盘分区进行如上设置,并为各个站点设置不同匿名访问用户。下面以实例来介绍(假设你的主机上E盘Abc文件夹下设A站点):1.打开“计算机管理本地用户和组用户”,创建Abc用户,并设置密码,并将“用户下次登录时须更改密码”前的对号去掉,选中“用户不能更改密码”和“密码永不过期”,并把用户设置为隶属于Guests组。2.右击E:Abc,选择“属性安全”选项卡,此时可以看到该文件夹的默认安全设置是“Everyone”完全控制(视不同情况显示的内容不完全一样),删除Everyone的完全控制(如果不能删除,请点击高级按钮,将“允许父项的继承权限传播
11、”前面的对号去掉,并删除所有),添加Administrators及Abc用户对本网站目录的所有安全权限。3.打开IIS管理器,右击A主机名,在弹出的菜单中选择“属性目录安全性”选项卡,点击身份验证和访问控制的编辑,弹出图2所示对话框,匿名访问用户默认的就是“IUSR_机器名”,点击浏览,在“选择用户”对话框中找到前面创建的Abc账户,确定后重复输入密码。经过这样设置,访问网站的用户就以Abc账户匿名身份访问E:Abc文件夹的站点,因为Abc账户只对此文件夹有安全权限,所以他只能在本文件夹下使用FSO。常见问题:如何解除FSO上传程序小于200k限制?先在服务里关闭IISadminservice
12、服务,找到WindowsSystem32Inesrv目录下的Metabasexml并打开,找到ASPMaxRequestEntityAllowed,将其修改为需要的值。默认为204800,即200K,把它修改为51200000(50M),然后重启IISservice服务。四、数据及备份管理1备份1)要经常把重要数据备份到专用的备份服务器,备份完毕后,可将备份服务器与网络隔离。可采用自动的备份工具进行,要求支持FTP方式备份。2)使用系统的备份功能对安装好的系统进行阶段性备份。3)使用WonRescue等工具对注册表进行阶段性备份。4)使用Ghost对全面配置完毕的系统分区进行映像备份,并存放到
13、隐藏的分区中。2设置文件共享权限1)限制共享权限设置共享文件时,要注意把共享文件的权限从“everyone”组改成“授权用户”,包括打印共享。2)关闭默认共享2000安装好以后,系统会创建一些隐藏的共享,在cmd下可用netshare命令查看它们。要禁止这些共享。操作方法是:打开“管理工具计算机管理共享文件夹共享”,在相应的共享文件夹上按右键,点“停止共享”即可。不当过机器重新启动后,这些共享又会重新开启。3.防止文件名欺骗设置以下选项可防止文件名欺骗,如防止以.txt或.exe为后缀的恶意文件被显示为.txt文件,从而使人大意打开该文件:双击“我的电脑工具文件夹选项查看”,选择“显示所有文件
14、和文件夹”属性设置,去掉“隐藏已知文件类型扩展名”属性设置。4.Access数据库的安全概要1)新生成的数据库在保证干净的前提下,主动在尾部合并一行ASP代码,内容一般可以为重定向,以免别人通过论坛发帖等方式嵌入有害代码后被得到执行;2)对MDB文件创建一个无效的映射,以便在IE中下载时出错;3)修改出错页面,建议将出错页面设计为正常被曝库后的内容,但给一个数据库的虚假地址(最好存在相应的虚假数据库文件,比如一个改名后的病毒等);4)在防火墙中对MDB类型的扩展名进行过滤;5)删除或禁用网站的后台数据库备份功能,而用本地安装的专门自动备份程序进行自动增量备份。6)ASP通用防止注入的程序:功能
15、简单说明:1.自动获取页面所有参数,无需手工定义参数名.2.提供三种错误处理方式供选择.(1).提示信息.(2).转向页面.(3).提示信息,再转向页面.3.自定义转向页面.使用方法很简单,只需要在ASP页面头部插入代码Code:包含Fy_SqlX.Asp就可以了简单实用%DimFy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx-定义部份头-Fy_Cl=1处理方式:1=提示信息,2=转向页面,3=先提示再转向Fy_ZxError.Asp出错时转向的页面OnErrorResumeNextFy_Url=Request.ServerVariables(QUERY_S
16、TRING)Fy_a=split(Fy_Url,&redimFy_Cs(ubound(Fy_a)forFy_x=0ubound(Fy_a)Fy_Cs(Fy_x)left(Fy_a(Fy_x),instr(Fy_a(Fy_x),=)-1)Forubound(Fy_Cs)IfFy_Cs(Fy_x)ThenInstr(LCase(Request(Fy_Cs(Fy_x),)alert(出现错误!参数Fy_Cs(Fy_x)&的值中包含非法字符串!nn请不要在参数中出现:,and,select,update,insert,delete,chr等非法字符!);window.close();/Script2l
17、ocation.href=Fy_Zx&3EndSelectResponse.EndIf%7)使用ODBC数据源。在ASP程序设计中,如果有条件,应尽量使用ODBC数据源,不要把数据库名写在程序中,否则,数据库名将随ASP源代码的失密而一同失密,例如:DBPathServer.MapPath(“./akkt/kj61/acd/av5/faq9jl.mdb”)conn.open“driver=MicrosoftAccessDriver(*.mdb);dbq=”&可见,即使数据库名字起得再怪异,隐藏的目录再深,ASP源代码失密后,也很容易被下载下来。如果使用ODBC数据源,就不会存在这样的问题了:“
18、ODBC-DSN名”5.MSSQL注入攻击的防范在SQLServer2000的安装目录下的NSSQLBINN文件夹中有一个危险的DLL组件,就是Xplog70.dll,建议将它改名或者彻底删除!攻击者可调用SQL里的Master里的扩展存储过程中的xp_cmdshell来执行系统指令。1)删除扩展存储过程在控制面板计算机管理MicrosoftSQLServer(Local)数据库master扩展存储过程xp_cmdshell,右击然后删除!也可以使用命令删除:sp_dropextendedprocxp_cmdshell接着在系统分区搜索并删除或改名、移除xplog70.dll文件防止恶意者恢复
19、上述配置。2)删除注册表操作功能删除上述位置下的:xp_regaddmultistring(向注册表添加项目)xp_regdeletekey(向注册表删除一个项)xp_regdeletevalue(向注册表删除一个键值)xp_regnumvalues(列举主键下的键值)xp_regread(读取一主键下的键值)xp_regremovemultistring(从注册表中删除项目)xp_regwrite(向注册表中数据)3)防范跨库查询每个数据库分别设置一个数据库用户,该用户只能对其拥有的数据库进行查询,禁止其他数据库(包括4个系统数据库MasterModelTempdbMsdb和两个用户数据库P
20、ubstNorthwind)。如果网站使用了别人的现成代码,则必须使用文本批量替换工具搜索“POWEREDBY”之类的版权特征信息,并进行替换,以免源代码存在漏洞时,别人可以通过搜索引擎快速找到你的网站,从而减少被随意入侵的机率。6.MSSQL的基本安全策略这些步骤是针对任何SQLServer安装的部分标准安全“最佳策略”。首先,打上SQLSERVER最新的安全补丁,现在补丁已经出到了SP3。下载地址:1.确保你的SA登录帐号的密码非空。只有你的SA登录帐号没有安全保障的时候蠕虫才会工作。因此,你应该遵循在SQLServer联机文档中“系统管理员(SA)登录”主题中的推荐模式,确保固有的SA帐
21、号具有一个强壮的密码,即使是你自己从不使用SA帐号。2.在你的互联网网关或防火墙上屏蔽1433端口和/或指定SQLServer监听一个可选的端口。3.假如在你的互联网网关上需要利用1433端口,启动用于防止此端口滥用的流入/流出过滤。4.将SQLServer和SQLServer客户端运行在微软的WindowsNT帐号下,而不是localsystem。5.启动WindowsNT验证,启动监听成功和失败的登录,然后停止并重启MSSQLServer服务。设置你的客户端使用NT验证。改默认的1433端口,并且将SQLSERVER隐藏。这样能禁止对试图枚举网络上现有的客户端所发出的广播作出响应。另外,还
22、需要在TCP/IP筛选中将1433端口屏蔽掉,尽可能的隐藏你的SQLSERVER数据库。这样子一但让攻击创建了SQLSERVER的账号,也不能马上使用查询分析器远程登陆来进行下一步的攻击。单从ASP,PHP等页面构造恶意语句的话,还有需要查看返回值的问题,总比不上直接查询分析器来得利落。所以我们首先要做到即使让别人注入了,也不能让攻击者下一步做得顺当。修改方法:企业管理器你的数据库组属性常规网络配置TCP/IP,在这儿将你的默认端口进行修改,和SQLSERVER的隐藏。7.合理创建角色INJECTION往往在WEBCODE中产生。而做为系统管理员或者数据库管理员,总不能常常的去看每一段代码。即
23、使常常看代码,也不能保证我们在上面的疏忽。那怎么办?我们就要从数据库角色着手,让数据库用户的权限划分到最低点。SERVER的默认权限让人真的很头疼,权限大得非常的高,权限小的又什么都做不了,SYSADMIN和db_owner真是让人又爱又恨。攻击者一但确认了网站存在SQLINJECTION漏洞,肯定有一步操作步骤就是测试网站的SQLSERVER使用者具有多大的权限。一般都会借助SELECTIS_SRVROLEMEMBER(sysadmin),或者SELECTIS_MEMBER(db_owner),再或者用user0(让字符和数字进行比较,SQLSERVER就会提示了错误信息,从该信息中即可知道一些敏感信息)等语句进行测试。方法还有,我也不敢多说了。其一怕错,其二怕联盟中的人扁。在当前,如果网站的数据库使用者用的是SA权限,再加上确认了WEB所处在的绝对路径,那么就宣告了你的网站的OVER。db_owner权限也一样,如果确认了绝对路径,那么有50的机会能给你的机器中上WEB方式的木马,如海阳等。所以这儿我们确认了一点,我们必须要创建自已的权限,让攻击者找不着下嘴的地方。在这儿引用一个SQLSERVER联机帮助中的例子:创建数据库角色的方法(企业管理器)数据库角色展开服务器组,然后展开服务器。展开数据库文件夹,然后展开要在其中创建
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1