1.关闭并删除默认站点' l g9 p( A) O3 n7 K7 g& S7 _: w
默认FTP站点 默认Web站点管理Web站点! ^4 K8 i8 v. e
l/ e* g5 N4 l' }
2.建立自己的站点,与系统不在一个分区
! M! D3 L3 H# j7 H) S ~; d, p4 H如:D:\wwwroot3.建立 E:\Logfiles 目录,以后建立站点时的日志文件均位于此目录,确保此目录上的访问控制权限是: Administrators(完全控制)System(完全控制)
8 F: @% j9 P6 {
* M- _) o- ?$ I3 s) G- S% |3.删除IIS的部分目录8 s' y$ c% _+ o& V
IISHelp C:\winnt\help\iishelp IISAdmin C:\system32\inetsrv\iisadmin MSADC C:\Program Files\Common Files\System\msadc\ 删除 C:\\inetpub 0 K4 l3 T! {: ?% p9 l& k, Q1 v" \% K
5 S, q c& V" d! { q4.删除不必要的IIS映射和扩展' B& \7 p8 r2 h3 o2 r
IIS 被预先配置为支持常用的文件名扩展如 .asp 和 .shtm 文件。IIS 接收到这些类型 的文件请求时,该调用由 DLL 处理。如果您不使用其中的某些扩展或功能,则应删除该映射,步骤如下: 打开 Internet 服务管理器: 选择计算机名,点鼠标右键,选择属性:然后选择编辑然后选择主目录, 点击配置 选择扩展名 \".htw\", \".htr\",\".idc\",\".ida\",\".idq\"和,点击删除如果不使用server side include,则删除\".shtm\" \".stm\" 和 \".shtml\"
) f! J/ N' b% \
: |1 V% S2 z( e5 U$ [0 J1 Y; I5.禁用父路径 (有可能导致某些使用相对路径的子页面不能打开)
9 A% x4 }" \1 a3 w E1 l$ s“父路径”选项允许您在对诸如 MapPath 函数调用中使用“..”。在默认情况下,该选项 处于启用状态,应该禁用它。禁用该选项的步骤如下:右键单击该 Web 站点的根,然后从上下文菜单中选择“属性”。 单击“主目录”选项卡。单击“配置”。单击“应用程序选项”选项卡。取消选择“启用父路径”复选框。( G! [. y6 E# H# q2 t. v0 U7 Z
) c1 f) k- d* r$ j% u7 x
6.在虚拟目录上设置访问控制权限
- v O" ~ s5 \8 Y( a/ h3 M在iis里把所有的目录,不包括asp等文件的目录 ,比如img,image,pic,upload等等这些目录,里面一般是没有asp文件的目录的执行许可设置为无,这样就算你用的程序被发现了新的漏洞,传了马上来了,它也执行不了,不过要看仔细了,有些目录里也是有asp,asa文件的!
9 |0 F4 M5 Y8 h, t3 P# ?
. ?9 d9 L- z, O3 q a9 z主页使用的文件按照文件类型应使用不同的访问控制列表: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)
/ F8 B) r; `' q6 j2 s% @
' m. h* ~2 W2 }2 H# ]7.启用日志记录 t* ]+ @5 |8 m4 Y/ Q. E
1)日志的审核配置确定服务器是否被攻击时,日志记录是极其重要的。应使用 W3C 扩展日志记录格式,步骤如下: 打开 Internet 服务管理器: 右键单击站点,然后从上下文菜单中选择“属性”。单击“Web 站点”选项卡。 选中“启用日志记录”复选框。从“活动日志格式”下拉列表中选择“W3C 扩展日志文件格式”。单击“属性”。单击“扩展属性”选项卡,然后设置以下属性:* 客户 IP 地址 * 用户名* 方法* URI 资源* HTTP 状态* Win32 状态* 用户代理* 服务器 IP 地址 * 服务器端口2)日志的安全管理1、启用操作系统组策略中的审核功能,对关键事件进行审核记录;2、启用IIS、FTP服务器等服务本身的日志功能;并对所有日志存放的默认位置进行更改同时作好文件夹权限设置!3、安装Portreport对所有网络访问操作进行监视(可选,可能增大服务器负荷);4、安装自动备份工具,定时对上述日志进行异地备份,起码是在其他分区的隐蔽位置进行备份,并对备份目录设置好权限(仅管理员可访问)。5、准备一款日志分析工具,以便随时可用。6、要特别关注任何服务的重启、访问敏感的扩展存储过程等事件。
9 r, ^& x* Q2 |" p* S6 {( |( X
) g8 @' t } Y$ Z1 Y2 N5 {8.备份IIS配置9 |, o& F+ {" A d
可使用IIS的备份功能,将设定好的IIS配置全部备份下来,这样就可以随时恢复
$ ~2 n+ i6 K# D
2 d& i' r4 B- |5 n$ d+ V; I- k9.修改IIS标志
4 O& W* L' ~6 |5 k+ N. F3 s1)使用工具程序修改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的默认出错提示信息等。% L j9 \9 S4 ?5 v3 r9 t Z" Z
6 M- n/ d* t5 X" h5 m& i
10.重定义错误信息, H0 T" x' J, _& B
很多文章讲了怎样防止数据库不被下载都不错的,只要记住一点 .不要改成asp就可以了,不然给你放一个一句话木马让你死的很难看,再着在IIS中将HTTP404.500等 Object Not Found出错页面通过URL重定向到一个定制HTM文件,这样大多数的暴库得到的都是你设置好的文件,自然就掩饰了数据库的地址还能防止一些菜鸟sql注射。
8 E L- V0 L R, n# ~4 K; h9 c7 A C H& Q' p# a" B+ L/ d& {
对于服务器管理员,既然你不可能挨个检查每个网站是否存在SQL注入漏洞,那么就来个一个绝招。这个绝招能有效防止SQL注入入侵而且"省心又省力,效果真好!"SQL注入入侵是根据IIS给出的ASP错误提示信息来入侵的,如果你把IIS设置成不管出什么样的ASP错误,只给出一种错误提示信息,即http 500错误,那么人家就没办法入侵了。具体设置请参看图2。主要把500:100这个错误的默认提示页面 C:\WINDOWS\Help\iisHelp\common\500-100.asp改成# O w O6 |9 C( w/ X9 M
C:\WINDOWS\Help\iisHelp\common\500.htm即可,这时,无论ASP运行中出什么错,服务器都只提示HTTP 500错误。: R9 q" _. P* @, E5 y
还可更改C:\WINDOWS\Help\iisHelp\common\404b.htm内容改为<META HTTP-EQUIV=REFRESH CONTENT="0;URL=/;">这样,出错了自动转到首页。
3 [0 P/ B$ V/ e" Q' s( z |