目前运行IIS的最理想平台是Windows 2000服务器版和高级服务器版。Win9x/Me里也有IIS,但只是PWS(个人WEB服务器),功能很有限,只支持1个连接。WinXP里的IIS也只支持10个连接。如果您要使用IIS,请使用Windows 2000服务器版。
IIS是Windows操作系统自带的组件。如果在安装操作系统的时候没有安装IIS,请打开“控制面板”->“添加或删除程序”->“添加/删除Windows组件”->双击“Internet信息服务”-> 选择“World Wide Web 服务器 ”安装。
一、打开“控制面板”->“管理工具”->“Internet 服务管理器”:
在“默认Web站点”上按鼠标右键,选择“属性”,弹出默认Web站点设置窗口:
“TCP端口”是WEB服务器端口,默认值是80,不需要改动。
“IP地址”是WEB服务器绑定的IP地址,默认值是“全部未分配”,建议不要改动。默认情况下,WEB服务器会绑定在本机的所有IP上,包括拨号上网得到的动态IP。
二、点击上面属性窗口里的“主目录”:
在“本地路径”右边,是网站根目录,即网站文件存放的目录,默认路径是“c:\inetpub\wwwroot”。如果想把网站文件存放在其他地方,可修改这个路径。
三、点击上面属性窗口的“文档”:
在这里设置网站的默认首页文档。在浏览器里输入一个地址(例如http://user.dns0755.net/)访问IIS的时候,IIS会在网站根目录下查找默认的首页文件,如果找到就打开,找不到就显示“该页无法显示”。请在这里添加所需的默认首页文件名,添加完后可以用左边的上下箭头排列这些文件名的查找顺序。
四、到此,WEB服务器设置完毕。IIS已经可以提供WEB服务了。
如果您已经做好网站,请把网站文件copy到网站根目录,并确认网站的默认首页文件名已经在上面窗口的搜索列表里。之后打开ie,输入 http://127.0.0.1/,就看到您的网站了。
如果您还没有做好网站,请在网站根目录新建一个htm文件,命名为“default.htm”,用网页编辑工具(例如FrontPage、Dreamweaver或记事本)打开这个文件,输入几个字,例如“我的网站”。保存文件后,打开ie,输入 http://127.0.0.1/ ;看看。
一、虚拟目录
在网站根目录下,可以建子目录来存放网页。例如建一个子目录“abc”,里面放个文件“xyz.htm”,访问这个文件的URL是:
http://user.dns0755.net/abc/xyz.htm
如果某些文件或目录放在其他目录下,或在其他硬盘分区下,而又希望可以被WEB访问,这个问题可以用虚拟目录解决。
虚拟目录可以把某个目录映射成网站根目录下的一个子目录。例如:网站根目录是“c:\dns0755”,把D盘上的“d:\software”目录映射到“c:\dns0755”目录下,映射后的名字为“download”,访问“d:\software”目录下的某个文件“truehost.zip”的URL为:
http://user.dns0755.net/download/truehost.zip
建立虚拟目录有两种方式:
1、在资源管理器里建立
打开资源管理器,找到要映射的目录,如“d:\software”,在“software”上按鼠标右键,选择“属性”->“Web共享”:
点击“共享这个文件夹”:
在“别名”里输入映射后的名字,再点击确定。
要删除映射,可以按同样的方法,在前面窗口里选择“不共享这个文件夹”。
2、在Internet信息服务里建立。
打开“控制面板”->“管理工具”->“Internet 服务管理器”,在“默认Web站点”上按鼠标右键,选择“新建”->“虚拟目录”:
弹出欢迎窗口,点击“下一步”;
在“别名”里输入映射后的名字,如“download”,点击“下一步”;
在“目录”里输入要映射的目录,如“d:\software”,点击“下一步”:
在这里选择正确的访问权限,再点击“下一步”,即完成设置。
删除映射的方法:打开Internet信息服务,在虚拟目录别名上按鼠标右键,选择“删除”。
至此本地站点已经可以正常工作了,可以用http://127.0.0.1进入本地站点,注意:asp程序必须在浏览器中才能看到效果,直接在资源管理器中打开只能是编辑asp文件了,而无法浏览效果
关于IIS的漏洞,几乎所有利用这些漏洞实现对网站攻击的手段均是构造特殊的URL来访问网站,一般有以下几种类型的URL可以利用漏洞:
1、特别长的URL,比如红色代码攻击网站的URL就是这样:
GET/default.idaXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u6858%ucbd3%u7801%u9090%u9090%u8190%u00c3%u0003%u8b00%u531b%u53ff%u0078%u0000%u00=a 200;
2、特殊字符或者字符串的URL,比如在URL后面加:DATA可以看到网页(ASP)源代码;
3、URL中含有可执行文件名,最常见的就是有cmd.exe;
既然这些攻击利用特殊的URL来实现,所以,微软提供了这款专门过滤非法URL的安全工具,可以达到御敌于国门之外的效果,这款工具有以下特点和功能:
1、基本功能:过滤非法URL请求;
2、设定规则,辨别那些URL请求是合法的;这样,就可以针对本网站来制定专门的URL请求规则;同时,当有新的漏洞出现时,可以更改这个规则,达到防御新漏洞的效果;
3、程序提供一套URL请求规则,这个规则包含已经发现的漏洞利用特征,帮助管理员设置规则;
(一)、软件的下载与安装
URLScan可以在微软的网站上下载,地址如下:
http://www.microsoft.com/downloads/details.aspx?FamilyID=f4c5a724-cafa-4e88-8c37-c9d5abed1863&DisplayLang=en
和一般软件一样安装,但是,此软件不能选择安装路径,安装完成以后,我们可以在System32/InetSvr/URLScan目录下找到以下文件:
urlscan.dll:动态连接库文件;
urlscan.inf:安装信息文件;
urlscan.txt:软件说明文件;
urlscan.ini:软件配置文件,这个文件很只要,因为对URLScan的所有配置,均有这个文件来完成。
(二)、软件的配置
软件的配置由urlscan.ini文件来完成,在配置此文件以前,我们需要了解一些基本知识。
1、urlscan配置文件的构造形式
urlscan配置文件必须遵从以下规则:
(1)此文件名必须为urlscan.ini;
(2)配置文件必须和urlscan.dll在同一目录;
(3)配置文件必须是标准ini文件结构,也就是由节,串和值组成;
(4)配置文件修改以后,必须重新启动IIS,使配置生效;
(5)配置文件由以下各节组成:
[Option]节,主要设置节;
[AllowVerbs]节,配置认定为合法URL规则设定,此设定与Option节有关;
[DenyVerbs]节,配置认定为非法URL规则设定,此设定与Option节有关;
[DenyHeaders]节,配置认定为非法的header在设立设置;
[AllowExtensions]节,配置认定为合法的文件扩展名在这里设置,此设定与Option节有关;
[DenyExtensions]节,配置认定为非法的文件扩展名在这里设置,此设定与Option节有关;
2、具体配置
(1)Option节的配置,因为Option节的设置直接影响到以后的配置,因此,这一节的设置特别重要。此节主要进行以下属性的设置:
UseAllowVerbs:使用允许模式检查URL请求,如果设置为1,所有没有在[AllowVerbs]节设置的请求都被拒绝;如果设置为0,所有没有在[DenyVerbs]设置的URL请求都认为合法;默认为1;
UseAllowExtensions:使用允许模式检测文件扩展名;如果设置为 1,所有没在[AllowExtensions]节设置的文件扩展名均认为是非法请求;如果设置为0,所有没在[DenyExtensions]节设置的扩展名均被认为是合法请求;默认为0;
EnableLogging:是否允许使用Log文件,如果为1,将在urlscan.dll的相同目录设置名为urlscan.log的文件记录所有过滤;
AllowLateScanning:允许其他URL过滤在URLScan过滤之前进行,系统默认为不允许0;
AlternateServerName:使用服务名代替;如果此节存在而且[RemoveServerHeader]节设置为0,IIS将在这里设置的服务器名代替默认的“Server”;
NormalizeUrlBeforeScan:在检测URL之前规格化URL;如果为1,URLScan将在IIS编码URL之前URL进行检测;需要提醒的是,只有管理员对URL解析非常熟悉的情况下才可以将其设置为0;默认为1;
VerifyNormalization:如果设置为1,UrlScan将校验URL规则,默认为1;此节设定与NormalizeUrlBeforeScan有关;
AllowHighBitCharacters:如果设置为1,将允许URL中存在所有字节,如果为0,含有非ASCII字符的URL将拒绝;默认为1;
AllowDotInPath:如果设置为1,将拒绝所有含有多个“.”的URL请求,由于URL检测在IIS解析URL之前,所以,对这一检测的准确性不能保证,默认为0;
RemoveServerHeader:如果设置为1,将把所有应答的服务头清除,默认为0;
(2)[AllowVerbs]节配置
如果UseAllowVerbs设置为1,此节设置的所有请求将被允许,一般设置以下请求:
GET、HEAD、POST
(3)[DenyVerbs]节配置
如果UseAllowVerbs设置为0,此节设置的所有请求将拒绝,一般设置以下请求:
PROPFIND、PROPPATCH、MKCOL、DELETE、PUT、COPY、MOVE、LOCK、UNLOCK
(4)[AllowExtensions]节设置
在这一节设置的所有扩展名文件将被允许请求,一般设置以下请求:
.asp、.htm、.html、.txt、.jpg、.jpeg、.gif,如果需要提供文件下载服务,需要增加.rar、.zip
(5)[DenyExtensions]节设置
在这一节设置的所有扩展名文件请求将被拒绝,根据已经发现的漏洞,我们可以在这一节增加内容,一般为以下设置:
.asa、可执行文件、批处理文件、日志文件、罕见扩展如:shtml、.printer等。
在使用UrlScan的时候,切记不要设置一次万事大吉,需要不停跟踪新出现的漏洞,随时修改URLScan的配置文件。