IIS是Internet Information Server的縮寫,是微軟提供的Internet服務器軟件,包括WEB、FTP、Mail等等服務器。因爲IIS的FTP和Mail服務器不是很好用,一般用IIS只用其WEB服務器。本文以Win2000服務器版操作系統爲例,介紹WEB服務器的安裝和設置方法。
目前運行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可以在微軟的網站上下載,地址如下:
和一般軟件一樣安裝,但是,此軟件不能選擇安裝路徑,安裝完成以後,我們可以在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的配置文件。
<script>
(function(){
function setArticleH(btnReadmore,posi){
var winH = $(window).height();
var articleBox = $("div.article_content");
var artH = articleBox.height();
if(artH > winH*posi){
articleBox.css({
'height':winH*posi+'px',
'overflow':'hidden'
})
btnReadmore.click(function(){
articleBox.removeAttr("style");
$(this).parent().remove();
})
}else{
btnReadmore.parent().remove();
}
}
var btnReadmore = $("#btn-readmore");
if(btnReadmore.length>0){
if(currentUserName){
setArticleH(btnReadmore,3);
}else{
setArticleH(btnReadmore,1.2);
}
}
})()
</script>
</article>