1.关闭并删除默认站点
) C6 U" s* c0 r6 h默认FTP站点 默认Web站点管理Web站点
% {2 n" ]% Q5 y9 A" ?* ^) e( T4 ?, M. N) o. J5 ]: D4 f: n4 M
2.建立自己的站点,与系统不在一个分区
# a( D. P5 k4 F/ Q. ]如:D:\wwwroot3.建立 E:\Logfiles 目录,以后建立站点时的日志文件均位于此目录,确保此目录上的访问控制权限是: Administrators(完全控制)System(完全控制)7 e; F. a7 s, ^, H$ M
8 s5 t2 _9 W& G2 G( S
3.删除IIS的部分目录: P# c5 y- o- Q* }; k3 H G
IISHelp C:\winnt\help\iishelp IISAdmin C:\system32\inetsrv\iisadmin MSADC C:\Program Files\Common Files\System\msadc\ 删除 C:\\inetpub 1 d1 B1 N' L2 E$ y) X! [. p
# k/ P3 Q# i# ]/ {$ |
4.删除不必要的IIS映射和扩展2 {; U1 u5 h7 Z8 m) i
IIS 被预先配置为支持常用的文件名扩展如 .asp 和 .shtm 文件。IIS 接收到这些类型 的文件请求时,该调用由 DLL 处理。如果您不使用其中的某些扩展或功能,则应删除该映射,步骤如下: 打开 Internet 服务管理器: 选择计算机名,点鼠标右键,选择属性:然后选择编辑然后选择主目录, 点击配置 选择扩展名 \".htw\", \".htr\",\".idc\",\".ida\",\".idq\"和,点击删除如果不使用server side include,则删除\".shtm\" \".stm\" 和 \".shtml\"* f4 b8 R3 M3 D; A" M8 }
5 a" M0 x- J0 _5.禁用父路径 (有可能导致某些使用相对路径的子页面不能打开)
; Z( l; r. R& P9 C6 g1 z* q“父路径”选项允许您在对诸如 MapPath 函数调用中使用“..”。在默认情况下,该选项 处于启用状态,应该禁用它。禁用该选项的步骤如下:右键单击该 Web 站点的根,然后从上下文菜单中选择“属性”。 单击“主目录”选项卡。单击“配置”。单击“应用程序选项”选项卡。取消选择“启用父路径”复选框。, t3 o. _; }7 |
1 v" s7 ~# P5 Q/ l8 a
6.在虚拟目录上设置访问控制权限0 d3 m2 q! \+ S2 j& g4 _
在iis里把所有的目录,不包括asp等文件的目录 ,比如img,image,pic,upload等等这些目录,里面一般是没有asp文件的目录的执行许可设置为无,这样就算你用的程序被发现了新的漏洞,传了马上来了,它也执行不了,不过要看仔细了,有些目录里也是有asp,asa文件的!. v F' y) Q! _* ~
: e; b( Q: G T主页使用的文件按照文件类型应使用不同的访问控制列表:CGI (.exe, .dll, .cmd, .pl) Everyone (X) Administrators(完全控制)System(完全控制)脚本文件 (.asp) Everyone (X) Administrators(完全控制)System(完全控制)include文件 (.inc, .shtm, .shtml) Everyone (X) Administrators(完全控制)System(完全控制)静态内容 (.txt, .gif, .jpg, .html) Everyone (R) Administrators(完全控制)System(完全控制)在创建Web站点时,没有必要在每个文件上设置访问控制权限,应该为每个文件类型创建一个新目录,然后在每个目录上设置访问控制权限、允许访问控制权限传给各个文件。 例如,目录结构可为以下形式:D:\wwwroot\myserver\static (.html) D:\wwwroot\myserver\include (.inc) D:\wwwroot\myserver \script (.asp) D:\wwwroot\myserver \executable (.dll) D:\wwwroot\myserver \images (.gif, .jpeg)
@7 I% z: ~6 z6 @6 e) Z! {6 [5 U
R7 u$ `9 L$ c- @7.启用日志记录3 g' E$ Z2 Z4 ~+ m& k4 _
1)日志的审核配置确定服务器是否被攻击时,日志记录是极其重要的。应使用 W3C 扩展日志记录格式,步骤如下: 打开 Internet 服务管理器: 右键单击站点,然后从上下文菜单中选择“属性”。单击“Web 站点”选项卡。 选中“启用日志记录”复选框。从“活动日志格式”下拉列表中选择“W3C 扩展日志文件格式”。单击“属性”。单击“扩展属性”选项卡,然后设置以下属性:* 客户 IP 地址 * 用户名* 方法* URI 资源* HTTP 状态* Win32 状态* 用户代理* 服务器 IP 地址 * 服务器端口2)日志的安全管理1、启用操作系统组策略中的审核功能,对关键事件进行审核记录;2、启用IIS、FTP服务器等服务本身的日志功能;并对所有日志存放的默认位置进行更改同时作好文件夹权限设置!3、安装Portreport对所有网络访问操作进行监视(可选,可能增大服务器负荷);4、安装自动备份工具,定时对上述日志进行异地备份,起码是在其他分区的隐蔽位置进行备份,并对备份目录设置好权限(仅管理员可访问)。5、准备一款日志分析工具,以便随时可用。6、要特别关注任何服务的重启、访问敏感的扩展存储过程等事件。- b6 H) S& B4 Z
$ R3 ?# w! o* G
8.备份IIS配置
1 g, g) U# @7 o+ a5 S可使用IIS的备份功能,将设定好的IIS配置全部备份下来,这样就可以随时恢复2 Z& L& N0 D( Y/ E( M% t! }1 A. D
) w& w9 H6 {! m) S8 O/ o2 a
9.修改IIS标志1 ?+ b9 m5 x/ P C7 s
1)使用工具程序修改IIS标志修改IIS标志Banner的方法:下载一个修改IIS Banner显示信息的软件——IIS/PWS Banner Edit。利用它我们可以很轻松地修改IIS的Banner。但要注意在修改之前我们首先要将IIS停止(最好是在服务中将World Wide Web Publishing停止),并要将DLLcache下的文件全部清除。否则你会发现即使修改了一点改变也没有。IIS/PWS Banner Edit其实是个傻瓜级的软件,我们只要直接在New Banner中输入想要的Banner信息,再点击Save to file就修改成功了。用IIS/PWS Banner Edit简单地修改,对菜鸟黑客来说他可能已被假的信息迷惑了,可是对一些高手来说这并没有给他们造成什么麻烦。为此我们必须亲自修改IIS的Banner信息,这样才能做到万无一失。高版本Windows的文件路径为 C:\WINDOWS\system32\inetsrv\w3svc.dll,可以直接用Ultraedit打开W3SVC.DLL,然后以“Server:”为关键字查找。利用编辑器将原来的内容替换成我们想要的信息,比如改成Apache的显示信息,这样入侵者就无法判断我们的主机类型,也就无从选择溢出工具了。2)修改IIS的默认出错提示信息等。 u0 @1 j7 _9 Z3 j. f/ T8 h; W
- r) ?' F5 o+ j: D! N [10.重定义错误信息# N* u& H8 m) |6 t; z$ u
很多文章讲了怎样防止数据库不被下载都不错的,只要记住一点 .不要改成asp就可以了,不然给你放一个一句话木马让你死的很难看,再着在IIS中将HTTP404.500等 Object Not Found出错页面通过URL重定向到一个定制HTM文件,这样大多数的暴库得到的都是你设置好的文件,自然就掩饰了数据库的地址还能防止一些菜鸟sql注射。9 N5 q1 c0 [* n5 J- ~/ E# W; _& c
+ ^+ [. H. o0 x
对于服务器管理员,既然你不可能挨个检查每个网站是否存在SQL注入漏洞,那么就来个一个绝招。这个绝招能有效防止SQL注入入侵而且"省心又省力,效果真好!"SQL注入入侵是根据IIS给出的ASP错误提示信息来入侵的,如果你把IIS设置成不管出什么样的ASP错误,只给出一种错误提示信息,即http 500错误,那么人家就没办法入侵了。具体设置请参看图2。主要把500:100这个错误的默认提示页面 C:\WINDOWS\Help\iisHelp\common\500-100.asp改成
6 F6 J% F" |+ K/ s/ _1 C5 nC:\WINDOWS\Help\iisHelp\common\500.htm即可,这时,无论ASP运行中出什么错,服务器都只提示HTTP 500错误。
5 S1 [: U* \5 |# ~ _+ r还可更改C:\WINDOWS\Help\iisHelp\common\404b.htm内容改为<META HTTP-EQUIV=REFRESH CONTENT="0;URL=/;">这样,出错了自动转到首页。
) e$ z& V: E2 p |