IISWord文件下载.docx
《IISWord文件下载.docx》由会员分享,可在线阅读,更多相关《IISWord文件下载.docx(16页珍藏版)》请在冰豆网上搜索。
![IISWord文件下载.docx](https://file1.bdocx.com/fileroot1/2023-1/23/9b27303e-433c-4bb3-b0de-6580fddf7587/9b27303e-433c-4bb3-b0de-6580fddf75871.gif)
\"
.htw\"
.htr\"
\"
.idc\"
.ida\"
.idq\"
和,点击删除
如果不使用server
side
include,则删除\"
.shtm\"
.stm\"
.shtml\"
5.禁用父路径
(有可能导致某些使用相对路径的子页面不能打开)
“父路径”选项允许您在对诸如
MapPath
函数调用中使用“..”。
在默认情况下,该选项
处于启用状态,应该禁用它。
禁用该选项的步骤如下:
右键单击该
Web
站点的根,然后从上下文菜单中选择“属性”。
单击“主目录”选项卡。
单击“配置”。
单击“应用程序选项”选项卡。
取消选择“启用父路径”复选框。
6.在虚拟目录上设置访问控制权限
在iis里把所有的目录,不包括asp等文件的目录
比如img,image,pic,upload等等这些目录,里面一般是没有asp文件的目录的执行许可设置为无,这样就算你用的程序被发现了新的漏洞,传了马上来了,它也执行不了,不过要看仔细了,有些目录里也是有asp,asa文件的!
主页使用的文件按照文件类型应使用不同的访问控制列表:
CGI
(.exe,
.dll,
.cmd,
.pl)
Everyone
(X)
Administrators(完全控制)
System(完全控制)
脚本文件
(.asp)
include文件
(.inc,
.shtm,
.shtml)
静态内容
(.txt,
.gif,
.jpg,
.html)
(R)
在创建Web站点时,没有必要在每个文件上设置访问控制权限,应该为每个文件类型创建一个
新目录,然后在每个目录上设置访问控制权限、允许访问控制权限传给各个文件。
例如,目录结构可为以下形式:
\wwwroot\myserver\static
(.html)
\wwwroot\myserver\include
(.inc)
\wwwroot\myserver
\script
\executable
(.dll)
\images
(.gif,
.jpeg)
7.启用日志记录
1)日志的审核配置
确定服务器是否被攻击时,日志记录是极其重要的。
应使用
W3C
扩展日志记录格式,步骤如下:
右键单击站点,然后从上下文菜单中选择“属性”。
单击“Web
站点”选项卡。
选中“启用日志记录”复选框。
从“活动日志格式”下拉列表中选择“W3C
扩展日志文件格式”。
单击“属性”。
单击“扩展属性”选项卡,然后设置以下属性:
*
客户
IP
地址
用户名
方法
URI
资源
HTTP
状态
Win32
用户代理
服务器
服务器端口
2)日志的安全管理
1、启用操作系统组策略中的审核功能,对关键事件进行审核记录;
2、启用IIS、FTP服务器等服务本身的日志功能;
并对所有日志存放的默认位置进行更改同时作好文件夹权限设置!
3、安装Portreport对所有网络访问操作进行监视(可选,可能增大服务器负荷);
4、安装自动备份工具,定时对上述日志进行异地备份,起码是在其他分区的隐蔽位置进行备份,并对备份目录设置好权限(仅管理员可访问)。
5、准备一款日志分析工具,以便随时可用。
6、要特别关注任何服务的重启、访问敏感的扩展存储过程等事件。
8.备份IIS配置
可使用IIS的备份功能,将设定好的IIS配置全部备份下来,这样就可以随时恢复
9.修改IIS标志
1)使用工具程序修改IIS标志
修改IIS标志Banner的方法:
下载一个修改IIS
Banner显示信息的软件——IIS/PWS
Banner
Edit。
利用它我们可以很轻松地修改IIS的Banner。
但要注意在修改之前我们首先要将IIS停止(最好是在服务中将World
Wide
Publishing停止),并要将DLLcache下的文件全部清除。
否则你会发现即使修改了一点改变也没有。
IIS/PWS
Edit其实是个傻瓜级的软件,我们只要直接在New
Banner中输入想要的Banner信息,再点击Save
to
file就修改成功了。
用IIS/PWS
Edit简单地修改,对菜鸟黑客来说他可能已被假的信息迷惑了,可是对一些高手来说这并没有给他们造成什么麻烦。
为此我们必须亲自修改IIS的Banner信息,这样才能做到万无一失。
高版本Windows的文件路径为
\WINDOWS\system32\inetsrv\w3svc.dll,可以直接用Ultraedit打开W3SVC.DLL,然后以“Server:
”为关键字查找。
利用编辑器将原来的内容替换成我们想要的信息,比如改成Apache的显示信息,这样入侵者就无法判断我们的主机类型,也就无从选择溢出工具了。
2)修改IIS的默认出错提示信息等。
10.重定义错误信息
很多文章讲了怎样防止数据库不被下载都不错的,只要记住一点
.不要改成asp就可以了,不然给你放一个一句话木马让你死的很难看,再着在IIS中将HTTP404.500等
Object
Not
Found出错页面通过URL重定向到一个定制HTM文件,这样大多数的暴库得到的都是你设置好的文件,自然就掩饰了数据库的地址还能防止一些菜鸟sql注射。
对于服务器管理员,既然你不可能挨个检查每个网站是否存在SQL注入漏洞,那么就来个一个绝招。
这个绝招能有效防止SQL注入入侵而且"
省心又省力,效果真好!
"
SQL注入入侵是根据IIS给出的ASP错误提示信息来入侵的,如果你把IIS设置成不管出什么样的ASP错误,只给出一种错误提示信息,即http
500错误,那么人家就没办法入侵了。
具体设置请参看图2。
主要把500:
100这个错误的默认提示页面
\WINDOWS\Help\iisHelp\common\500-100.asp改成
\WINDOWS\Help\iisHelp\common\500.htm即可,这时,无论ASP运行中出什么错,服务器都只提示HTTP 500错误。
还可更改C:
\WINDOWS\Help\iisHelp\common\404b.htm内容改为<
META
HTTP-EQUIV=REFRESH
CONTENT="
0;
URL=/;
>
这样,出错了自动转到首页。
Win
2003中提高FSO的安全性
ASP提供了强大的文件系统访问能力,可以对服务器硬盘上的任何文件进行读、写、复制、删除、改名等操作,这给学校网站的安全带来巨大的威胁。
现在很多校园主机都遭受过FSO木马的侵扰。
但是禁用FSO组件后,引起的后果就是所有利用这个组件的ASP程序将无法运行,无法满足客户的需求。
如何既允许FileSystemObject组件,又不影响服务器的安全性呢(即:
不同虚拟主机用户之间不能使用该组件读写别人的文件)?
以下是笔者多年来摸索出来的经验:
第一步是有别于Windows
2000设置的关键:
右击C盘,点击“共享与安全”,在出现在对话框中选择“安全”选项卡,将Everyone、Users组删除,删除后如果你的网站连ASP程序都不能运行,请添加IIS_WPG组(图1),并重启计算机。
经过这样设计后,FSO木马就已经不能运行了。
如果你要进行更安全级别的设置,请分别对各个磁盘分区进行如上设置,并为各个站点设置不同匿名访问用户。
下面以实例来介绍(假设你的主机上E盘Abc文件夹下设A站点):
1.
打开“计算机管理→本地用户和组→用户”,创建Abc用户,并设置密码,并将“用户下次登录时须更改密码”前的对号去掉,选中“用户不能更改密码”和“密码永不过期”,并把用户设置为隶属于Guests组。
2.
右击E:
\Abc,选择“属性→安全”选项卡,此时可以看到该文件夹的默认安全设置是“Everyone”完全控制(视不同情况显示的内容不完全一样),删除Everyone的完全控制(如果不能删除,请点击[高级]按钮,将“允许父项的继承权限传播”前面的对号去掉,并删除所有),添加Administrators及Abc用户对本网站目录的所有安全权限。
3.
打开IIS管理器,右击A主机名,在弹出的菜单中选择“属性→目录安全性”选项卡,点击身份验证和访问控制的[编辑],弹出图2所示对话框,匿名访问用户默认的就是“IUSR_机器名”,点击[浏览],在“选择用户”对话框中找到前面创建的Abc账户,确定后重复输入密码。
经过这样设置,访问网站的用户就以Abc账户匿名身份访问E:
\Abc文件夹的站点,因为Abc账户只对此文件夹有安全权限,所以他只能在本文件夹下使用FSO。
常见问题:
如何解除FSO上传程序小于200k限制?
先在服务里关闭IIS
admin
service服务,找到Windows\System32\Inesrv目录下的Metabase.xml并打开,找到ASPMaxRequestEntityAllowed,将其修改为需要的值。
默认为204800,即200K,把它修改为51200000(50M),然后重启IIS
service服务。
四、数据及备份管理
1.备份
1)要经常把重要数据备份到专用的备份服务器,备份完毕后,可将备份服务器与网络隔离。
可采用自动的备份工具进行,要求支持FTP方式备份。
2)使用系统的备份功能对安装好的系统进行阶段性备份。
3)使用WonRescue等工具对注册表进行阶段性备份。
4)使用Ghost对全面配置完毕的系统分区进行映像备份,并存放到隐藏的分区中。
2.设置文件共享权限
1)限制共享权限
设置共享文件时,要注意把共享文件的权限从“everyone”组改成“授权用户”,包括打印共享。
2)关闭默认共享
2000安装好以后,系统会创建一些隐藏的共享,在cmd下可用net
share命令查看它们。
要禁止这
些共享。
操作方法是:
打开“管理工具→计算机管理→共享文件夹→共享”,在相应的共享文件夹上按右
键,点“停止共享”即可。
不当过机器重新启动后,这些共享又会重新开启。
3.防止文件名欺骗
设置以下选项可防止文件名欺骗,如防止以.txt或.exe为后缀的恶意文件被显示为.txt文件,从而使
人大意打开该文件:
双击“我的电脑→工具→文件夹选项→查看”,选择“显示所有文件和文件夹”属性
设置,去掉“隐藏已知文件类型扩展名”属性设置。
4.Access数据库的安全概要
1)新生成的数据库在保证干净的前提下,主动在尾部合并一行ASP代码,内容一般可以为重定向,以免别人通过论坛发帖等方式嵌入有害代码后被得到执行;
2)对MDB文件创建一个无效的映射,以便在IE中下载时出错;
3)修改出错页面,建议将出错页面设计为正常被曝库后的内容,但给一个数据库的虚假地址(最好存在相应的虚假数据库文件,比如一个改名后的病毒等);
4)在防火墙中对MDB类型的扩展名进行过滤;
5)删除或禁用网站的后台数据库备份功能,而用本地安装的专门自动备份程序进行自动增量备份。
6)ASP
通用防止注入的程序:
功能简单说明:
1.自动获取页面所有参数,无需手工定义参数名.
2.提供三种错误处理方式供选择.
(1).提示信息.
(2).转向页面.
(3).提示信息,再转向页面.
3.自定义转向页面.
使用方法很简单,只需要在ASP页面头部插入代码
Code:
<
!
--#Include
File="
Fy_SqlX.Asp"
-->
包含
Fy_SqlX.Asp
就可以了~~简单实用
%
Dim
Fy_Url,Fy_a,Fy_x,Fy_Cs(),Fy_Cl,Fy_Ts,Fy_Zx
'
---定义部份
头------
Fy_Cl
=
1
处理方式:
1=提示信息,2=转向页面,3=先提示再转向
Fy_Zx
Error.Asp"
出错时转向的页面
On
Error
Resume
Next
Fy_Url=Request.ServerVariables("
QUERY_STRING"
)
Fy_a=split(Fy_Url,"
&
redim
Fy_Cs(ubound(Fy_a))
for
Fy_x=0
ubound(Fy_a)
Fy_Cs(Fy_x)
left(Fy_a(Fy_x),instr(Fy_a(Fy_x),"
="
)-1)
For
ubound(Fy_Cs)
If
Fy_Cs(Fy_x)<
Then
Instr(LCase(Request(Fy_Cs(Fy_x))),"
)<
0
or
and"
select"
update"
chr"
delete%20from"
;
insert"
mid"
Or
master."
Select
Case
Fy_Cl
1"
Response.Write
Script
Language=JavaScript>
alert('
出现错误!
参数
Fy_Cs(Fy_x)&
的值中包含非法字符串!
\n\n
请不要在参数中出现:
and,select,update,insert,delete,chr
等非法字符!
);
window.close();
/Script>
2"
location.href='
Fy_Zx&
3"
End
Select
Response.End
If
%>
7)使用ODBC数据源。
在ASP程序设计中,如果有条件,应尽量使用ODBC数据源,不要把数据库名写在程序中,否则,数据库名将随ASP源代码的失密而一同失密,例如:
DBPath
Server.MapPath(“./akkt/kj61/acd/av5/faq9jl.mdb
”)
conn.open
“driver={
Microsoft
Access
Driver
(*.mdb)
};
dbq=”&
可见,即使数据库名字起得再怪异,隐藏的目录再深,ASP源代码失密后,也很容易被下载下来。
如果使用ODBC数据源,就不会存在这样的问题了:
“ODBC-DSN名”
5.MSSQL
注入攻击的防范
在SQL
Server
2000的安装目录下的\NSSQL\BINN文件夹中有一个危险的DLL组件,就是Xplog70.dll,建议将它改名或者彻底删除!
攻击者可调用SQL里的Master里的扩展存储过程中的xp_cmdshell来执行系统指令。
1)删除扩展存储过程
在控制面板→计算机管理→Microsoft
SQL
Server→(Local……)→数据库→master→扩展存储过程→xp_cmdshell,右击然后删除!
也可以使用命令删除:
sp_dropextendedproc
xp_cmdshell'
接着在系统分区搜索并删除或改名、移除
xplog70.dll
文件防止恶意者恢复上述配置。
2)删除注册表操作功能
删除上述位置下的:
xp_regaddmultistring(向注册表添加项目)
xp_regdeletekey(向注册表删除一个项)
xp_regdeletevalue(向注册表删除一个键值)
xp_regnumvalues(列举主键下的键值)
xp_regread(读取一主键下的键值)
xp_regremovemultistring(从注册表中删除项目)
xp_regwrite(向注册表中数据)
3)防范跨库查询
每个数据库分别设置一个数据库用户,该用户只能对其拥有的数据库进行查询,禁止其他数据库(包括4个系统数据库Master
Model
Tempdb
Msdb和两个用户数据库
Pubs
t
Northwind)。
如果网站使用了别人的现成代码,则必须使用文本批量替换工具搜索“POWERED
BY……”之类的版权特征信息,并进行替换,以免源代码存在漏洞时,别人可以通过搜索引擎快速找到你的网站,从而减少被随意入侵的机率。
6.
MSSQL
的基本安全策略
这些步骤是针对任何SQL
Server安装的部分标准安全“最佳策略”。
首先,打上SQL
SERVER最新的安全补丁,现在补丁已经出到了SP3。
下载地址:
1.
确保你的SA登录帐号的密码非空。
只有你的SA登录帐号没有安全保障的时候蠕虫才会工作。
因此,你应该遵循在SQL
Server
联机文档中“系统管理员(SA)登录”主题中的推荐模式,确保固有的SA帐号具有一个强壮的密码,
即使是你自己从不使用SA帐号。
2.
在你的互联网网关或防火墙上屏蔽1433端口和/或指定SQL
Server监听一个可选的端口。
3.
假如在你的互联网网关上需要利用1433端口,启动用于防止此端口滥用的流入/流出过滤。
4.
将SQLServer和SQL
Server客户端运行在微软的Windows
NT帐号下,而不是localsystem。
5.
启动Windows
NT验证,启动监听成功和失败的登录,然后停止并重启MSSQLServer服务。
设置你的客户端使用NT验证。
改默认的1433端口,并且将SQL
SERVER隐藏。
这样能禁止对试图枚举网络上现有的
客户端所发出的广播作出响应。
另外,还需要在TCP/IP筛选中将1433端口屏蔽掉,尽可能的隐藏你的SQL
SERVER数据库。
这样子一但让攻击创建了SQL
SERVER的账号,也不能马上使用查询分析器远程登陆来进行下一步的攻击。
单从ASP,PHP等页面构造恶意语句的话,还有需要查看返回值的问题,总比不上直接查询分析器来得利落。
所以我们首先要做到即使让别人注入了,也不能让攻击者下一步做得顺当。
修改方法:
企业管理器
你的数据库组
属性
常规
网络配置
TCP/IP
,在这儿将你的默认端口进行修改,和SQL
SERVER的隐藏。
7.合理创建角色
INJECTION往往在WEB
CODE中产生。
而做为系统管理员或者数据库管理员,总不能常常的去看每一段代码。
即使常常看代码,也不能保证我们在上面的疏忽。
那怎么办?
我们就要从数据库角色着手,让数据库用户的权限划分到最低点。
SERVER的默认权限让人真的很头疼,权限大得非常的高,权限小的又什么都做不了,SYSADMIN和db_owner真是让人又爱又恨。
攻击者一但确认了网站存在SQL
INJECTION漏洞,肯定有一步操作步骤就是测试网站的SQL
SERVER使用者具有多大的权限。
一般都会借助SELECT
IS_SRVROLEMEMBER('
sysadmin'
),或者SELECT
IS_MEMBER('
db_owner'
),再或者用user
0(让字符和数字进行比较,SQL
SERVER就会提示了错误信息,从该信息中即可知道一些敏感信息)等语句进行测试。
方法还有,我也不敢多说了。
其一怕错,其二怕联盟中的人扁。
在当前,如果网站的数据库使用者用的是SA权限,再加上确认了WEB所处在的绝对路径,那么就宣告了你的网站的OVER。
db_owner权限也一样,如果确认了绝对路径,那么有50%的机会能给你的机器中上WEB
方式的木马,如海阳等。
所以这儿我们确认了一点,我们必须要创建自已的权限,让攻击者找不着下嘴的地方。
在这儿引用一个SQL
SERVER联机帮助中的例子:
创建
数据库角色的方法(企业管理器)
数据库角色
展开服务器组,然后展开服务器。
展开"
数据库"
文件夹,然后展开要在其中创建