windows 2003搭建虛擬主機教程全攻略
windows 2003搭建虛擬主機教程全攻略隨著Internet 越來越普及,各種各樣的虛擬主機也越來越多,由于虛擬主機需要同時向大量不同的用戶提供安全的網(wǎng)絡(luò)應(yīng)用環(huán)境,因此搭建一個虛擬主機平臺除了需
windows 2003搭建虛擬主機教程全攻略
隨著Internet 越來越普及,各種各樣的虛擬主機也越來越多,由于虛擬主機需要同時向大量不同的用戶提供安全的網(wǎng)絡(luò)應(yīng)用環(huán)境,因此搭建一個虛擬主機平臺除了需要架設(shè)WEB 和FTP 服務(wù)器,還涉及到一些虛擬主機環(huán)境所特有的問題。以下就對這些特有的問題進行歸納和分析。我個人認為在建立虛擬主機時主要需要注意以下三個大方面:
1.用戶與磁盤空間和域名的綁定;
2.用戶使用磁盤空間的容量限制(磁盤配額);
3.IIS 和用戶環(huán)境的安全問題(我使用的是Windows Server系統(tǒng));
下面我就以這三個方面在Windows 2003 Enterprise Server具體如何實現(xiàn)做一個詳細的介紹。
一、用戶與磁盤空間和域名的綁定
先打開計算機管理(要是服務(wù)器已經(jīng)升成為AD 模式,就打開Active Directory用戶與計算機),點擊展開本地用戶和組,右鍵單擊用戶模塊分別創(chuàng)建兩個用戶帳號。我這里建立的用戶帳號依次為test1、test2。注意,為了安全考慮,請在組的模塊中新建一個組。把用于虛擬主機的用戶歸納到里面,并把用戶原來隸屬于的User 組刪除。(作為一個稱職的管理員,需要注意的小細節(jié)是很多的,不然一個錯誤的細節(jié)就會引起災(zāi)難)如圖1:
(圖1)
建立好帳號后,就在FTP 空間目錄下先建立一個LocalUser 文件夾。然后對應(yīng)所使用的帳號建立子文件夾。如:要是FTP 空間指定的是D: WEB_Space文件夾,那就在這個文件夾下創(chuàng)建一個LocalUser 文件夾。接著建立兩個子文件夾:test1、test2. 如圖2:
,(圖2)
由于剛才我們建立用戶帳號時,把它們單獨的歸納到一個組中,這時就需要在FTP 空間根目錄屬性的安全選項卡中把這個組添加進去,用戶將無法通過FTP 訪問。如圖3:
(圖3)
接著我們需要建立FTP 用戶隔離站點。這個功能是以前版本的IIS 中FTP 站點所沒有的,F(xiàn)TP 用戶隔離為 Internet 服務(wù)提供商 (ISP) 和應(yīng)用服務(wù)提供商提供了解決方案,使他們可以為客戶提供上載文件和 Web 內(nèi)容的個人 FTP 目錄。FTP 用戶隔離通過將用戶限制在自己的目錄中,來防止用戶查看或覆蓋其他用戶的 Web 內(nèi)容。因為頂層目錄就是 FTP 服務(wù)的根目錄,用戶無法瀏覽目錄樹的上一層。在特定的站點內(nèi),用戶能創(chuàng)建、修改或刪除文件和文件夾。FTP 用戶隔離是站點屬性,而不是服務(wù)器屬性。無法為每個 FTP 站點啟動或關(guān)閉該屬性。所以在建立FTP 站點的時候就應(yīng)該選擇好,不然站點建立以后,將無法修改。
FTP 用戶隔離共有三種模式:
不隔離用戶:該模式不啟用 FTP 用戶隔離。該模式的工作方式與以前版本的 IIS 類似。由于在登錄
,到 FTP 站點的不同用戶間的隔離尚未實施,該模式最適合于只提供共享內(nèi)容下載功能的站點或不需要在用戶間進行數(shù)據(jù)訪問保護的站點。
隔離用戶:該模式在用戶訪問與其用戶名匹配的主目錄前,根據(jù)本機或域帳戶驗證用戶。所有用戶的主目錄都在單一 FTP 主目錄下,每個用戶均被安放和限制在自己的主目錄中。不允許用戶瀏覽自己主目錄外的內(nèi)容。如果用戶需要訪問特定的共享文件夾,您可以再建立一個虛擬根目錄。該模式不使用 Active Directory 目錄服務(wù)進行驗證。 注意 當(dāng)使用該模式創(chuàng)建了上百個主目錄時,服務(wù)器性能會下降。
用 Active Directory 隔離用戶:該模式根據(jù)相應(yīng)的 Active Directory 容器驗證用戶憑據(jù),而不是搜索整個 Active Directory,那樣做需要大量的處理時間。將為每個客戶指定特定的 FTP 服務(wù)器實例,以確保數(shù)據(jù)完整性及隔離性。當(dāng)用戶對象在 Active Directory 容器內(nèi)時,可以將 FTPRoot 和 FTPDir 屬性提取出來,為用戶主目錄提供完整路徑。如果 FTP 服務(wù)能成功地訪問該路徑,則用戶被放在代表 FTP 根位置的該主目錄中。用戶只能看見自己的 FTP 根位置,因此受限制而無法向上瀏覽目錄樹。如果 FTPRoot 或 FTPDir 屬性不存在,或它們無法共同構(gòu)成有效、可訪問的路徑,用戶將無法訪問。
打開Internet 信息服務(wù)(IIS )管理器,點擊展開服務(wù)器,右鍵單擊FTP 站點,新建一個FTP 站點,在建立向?qū)е校驗槲业姆?wù)器不是Active Directory模式,所以我們選擇隔離用戶這個選項。如圖4:
(圖4)
完成建立向?qū)Ш?,開打新建立的FTP 站點屬性,點擊屬性中的安全用戶選項卡,把允許匿名連接關(guān)閉。確定后退出。
最后是域名的綁定,域名綁定有兩種定義,第一種是直接使用完整域名綁定WEB 服務(wù),如在服務(wù)器上提供www.test1.com 和www.test2.com 空間服務(wù),第二種是開設(shè)子域名服務(wù),如提供test1.yesky.com 和
test2.yesky.com 空間服務(wù)。這兩種在工作原理上是一樣的,但第二種在操作上有一些不同。需要自己服務(wù)器的DSN 支持。
首先我們讓我們來了解一下關(guān)于域名(DNS )的基本知識,在我們要了解DNS ,首先要了解幾個名詞:域名空間;根域;頂級域;二級域;主機名;區(qū)域。
域名空間:是DNS 名的結(jié)構(gòu)統(tǒng)稱,他的結(jié)構(gòu)主要是由根域,頂級域,二級域和主機名組成。
根域:是處在整個結(jié)構(gòu)的頂級,是用點(. )表示的。由國外的幾個公司管理的。55555沒有我們的份~郁悶!?。?/p> ,
頂級域:是由2-3個英文字母組成,并且有著一定的意義,一般采用相對意義的英文單詞縮寫或相對代碼。如:COM 是指商業(yè)機構(gòu),GOV 是指政府機構(gòu),CN 是指中國……
二級域:是由一些域名提供商出租給個人或企業(yè)、機構(gòu)的服務(wù)。如www.yesky.com 這個域名中yesky 就屬于二級域。
主機名:是用來表示Internet 或內(nèi)部網(wǎng)的計算機名稱,但大家注意一點,在Internet 上,有的時候主機名指代表一臺服務(wù)器的IP 地址,而不是服務(wù)器的名稱,這一點是和內(nèi)部網(wǎng)有區(qū)別的!
區(qū)域:是域名空間中的一個離散部分。區(qū)域主要是用來把一個域名變成可管理的幾個部分,如:www.yesky.com 這個域名我們可以把他劃分成www 和yesky,com 這兩個部分。這樣,我們就可以利用yesky.com 這部分生成不同的主機名。如mail.yesky.com ;bbs.yesky.com 等等。這一點比較重要。
DSN 服務(wù)工作的流程我們可以把它稱作名字解析過程,它共分為兩種:正向搜索和反向搜索。正向搜索是把一個域名解析成一個IP ,我們這里就用Internet 上的www.yesky.com 域名做一個案例。我們先在IE 瀏覽器中輸入www.yesky.com 這個域名,然后計算機將自動把這個域名傳遞給本地DNS 服務(wù)器(也就是指在本機網(wǎng)卡屬性中TCP/IP協(xié)議的DSN 服務(wù)器輸入框里輸入的IP 地址所對應(yīng)的服務(wù)器),DNS 服務(wù)器收到信息后,將在自己的區(qū)域表中搜索有沒有該域名所對應(yīng)的IP !有則返回,若沒有,它則會把搜索的信息傳遞給國外的幾個根域DSN 服務(wù)器之一,請求解析該域名。根域DSN 服務(wù)器則返回一條對COM 域DNS 服務(wù)器的IP 地址給本地DNS 服務(wù)器引用(由于yesky.com 的頂級域是COM 所以返回COM 域DNS 服務(wù)器的IP 地址),本地DNS 服務(wù)器在根據(jù)IP 地址給COM 域DNS 服務(wù)器發(fā)送一條www.yesky.com 域名解析請求的信息,COM 域DNS 服務(wù)器返回一條對yeskyDSN 服務(wù)器的IP 地址指引,然后本地DNS 服務(wù)器再根據(jù)收到的IP 地址給yeskyDSN 服務(wù)器,發(fā)送一條www.yesky.com 域名解析請求的信息,yeskyDSN 服務(wù)器根據(jù)請求反饋給www 的IP 地址,本地服務(wù)器再把這個IP 反饋給我們。這時解析完成,我們也就打開了www.yesky.com 的網(wǎng)頁。
反向搜索正好相反,它是把一個IP 地址解析成一個域名,??匆姷闹T如Windows 2003下的Nslookup 命令工具。由于DNS 服務(wù)是按域名而不是按IP 地址索引的,反向搜索一搜索就會搜索所有的信息,很消耗資源。為了避免這種情況,DNS 服務(wù)創(chuàng)建了一個叫in-addr.arpa 的特殊二級域,它使用的是與其他域名空間結(jié)構(gòu)相同的方法,但它不采用域名,而是采用IP 地址。
注意,要想做Internet 上第二種虛擬主機,最好向域名提供商申請DNS 轉(zhuǎn)移權(quán),要求提供商把DNS 解析權(quán)指定到你的DNS 服務(wù)器上,這樣你就能自己利用Windwos Server的DSN 服務(wù)隨意開設(shè)子域名了,不然你每次要用一個新的子域名都要向域名提供商申請,那是很麻煩的,而且DSN 在自己的服務(wù)器上還有很多好處,如開設(shè)MAIL 服務(wù)等等。
先來打開DNS 管理器,點擊展開服務(wù)器,在正向查找區(qū)域新建一個區(qū)域。選擇創(chuàng)建主要區(qū)域,輸入你申請的域名,注意,只要輸入我上面所說的區(qū)域就可以了,如yesky.com 、sina.com.cn 。完成。如圖5:
,(圖5)
創(chuàng)建好區(qū)域后,就在你創(chuàng)建的區(qū)域里創(chuàng)建主機。最好創(chuàng)建的主機名與你的用戶名相同,這樣方便管理。當(dāng)然,如果你的系統(tǒng)已經(jīng)升級到AD 模式,那這步可以跳過,因為在AD 模式下,你每創(chuàng)建一個帳戶,就會自動的生成對應(yīng)的主機名稱。如圖6:
(圖6)
所有的主機都創(chuàng)建好了后,就打開Internet 信息服務(wù)(IIS )管理器,在WEB 站點下創(chuàng)建新的WEB 站點。在站點創(chuàng)建向?qū)У腎P 地址和端口設(shè)置對話框中輸入需要綁定的完整域名,如www.test.com 、test1.test.com 、test12.test.com ,創(chuàng)建完成后,域名就和空間綁定了。如圖7:
,(圖7)
在DNS 中有多少個主機,就可以建立多少個子域名WEB 站點。也可以用域名提供商提供的直接指定IP 的域名。但這里需要注意的是,一旦服務(wù)器中Internet 信息服務(wù)(IIS )管理器里出現(xiàn)了帶主機頭的站點后,有時將會導(dǎo)致沒有主機頭的站點出錯,這個問題很奇怪,可是能DNS 映射引起的。
二、用戶使用磁盤空間的容量限制(磁盤配額)
在配置之前,讓我們先了解一下磁盤配額管理的一些基礎(chǔ)知識,以便我們更容易理解它的工作方法。Windows 2003磁盤配額會跟蹤每個用戶在每個盤符中的使用情況。并根據(jù)用戶的磁盤配額進行控制。因為配額是以每個用戶做為單位進行跟蹤的,所以不管用戶在這個盤符下的任何地方儲存文件都會被記錄。磁盤配額共有二個比較顯著的特點:
1. 根據(jù)每個用戶所擁有的文件和文件夾來計算使用磁盤的空間量。當(dāng)一個新建、復(fù)制、保存文件到開啟了磁盤配額的盤符上,或獲得盤符上某文件所有權(quán)時,系統(tǒng)就自動從磁盤配額管理所限定的空間中扣減該用戶的空間容量。
2. 系統(tǒng)在計算用戶使用磁盤空間時是忽略壓縮的,它按照未壓縮的字節(jié)計算用戶使用的硬盤空間,而不管用戶實際使用了多少磁盤空間。這樣做是因為現(xiàn)在很多不同的文件類型在壓縮的時候所壓縮的比例不同。會造成文件長度的很大差異,給磁盤管理帶來很大的工作負擔(dān)。
注意,磁盤配額必須建立在NTFS 格式的盤符上。不然無法使用。
選擇你FTP 空間所在的盤符,打開盤符的屬性對話框,單擊配額選項卡,選擇啟用配額管理復(fù)選框,開啟磁盤配額管理。這是原本一些灰色不能使用的屬性開始能使用了。請根據(jù)情況修改它們:如圖8:
,(圖8)
拒絕將磁盤空間給超過配額限制的用戶:選擇這個復(fù)選框,當(dāng)用戶超過了分配的磁盤空間時,他們就會收到一個空間已用完的消息,而且不能在往空間里面寫任何東西
不限制磁盤使用:當(dāng)你不打算限制用戶磁盤空間時,單擊這個選項。
將磁盤空間限制為:配置用戶可以使用的磁盤空間容量
將警告等級設(shè)置為:配置在用戶登陸空間時,如果空間使用已經(jīng)達到警告空間等級,將會發(fā)送一個信息給該用戶,提醒用戶空間快使用完了
配額項:單擊這個按鈕可以打開配額項對話框,在這個對話框中,可以通過配置菜單分別定制每個用戶磁盤空間。也可以刪除老用戶空間配額限制。另外它的主界面就是一個用戶配額監(jiān)控器。如圖9:
(圖9)
,三、IIS 和用戶環(huán)境的安全問題
記得一位資深的安全人士曾經(jīng)說過,從Windows 2000 Server開始,本身的系統(tǒng)漏洞和網(wǎng)絡(luò)漏洞已經(jīng)不是那么多了,甚至可以說Windows 本身安全系數(shù)已經(jīng)超越了LINUX 系統(tǒng)本身,(這里我只是引用語句,希望不會引發(fā)Windows 和LINUX 向來的爭論)但由于Windows 周邊產(chǎn)品漏洞和不安全因數(shù)太多,尤其是IIS 服務(wù)。才導(dǎo)致人人說它不安全。
由于系統(tǒng)的安全問題實在是太過于龐大,所分的體系也非常多,不可能面面具到,所以我根據(jù)個人經(jīng)驗說幾個和虛擬主機密切相關(guān)的安全問題,但由于這些問題要想得到徹底的解決說明的話,那需要太多的篇幅,這里我也只能指出這些問題,和解決這些問題的思路。
支持ASP 系統(tǒng)的IIS 安全問題:
在支持ASP 的IIS 系統(tǒng)中,主要問題有兩個,一個是由于ASP 頁面的輸入框引起的安全攻擊。在ASP 頁面中,我們經(jīng)常可以看見輸入框,如登錄帳號、密碼、查詢、手機等等.. 這些控件其實是很危險的,因為這些控件的后臺往往是連接著數(shù)據(jù)庫,(SQL 、Oracle 等)有經(jīng)驗的程序員可以通過這些輸入框輸入數(shù)據(jù)庫命令,在通過系統(tǒng)本身的數(shù)據(jù)庫執(zhí)行后,得到數(shù)據(jù)庫帳號和密碼。那也意味著離得到SYSTEM 或
Administrator 帳號不遠了。所以,一般在做ASP 頁面時,我們在有這些輸入框的窗口上都做一些限制,如最多只能輸入多少個字符、哪些特殊字符不允許輸入等等。但現(xiàn)在很少有網(wǎng)站能做到滴水不漏的,可能也是因為工作量太大的緣故吧:( 第二個問題是FileSystemObject 這個組件為 ASP 提供了對默認的Windows Server 服務(wù)器硬盤上的任何文件進行讀、寫、復(fù)制、刪除、改名等操作。權(quán)限實在是太大。也導(dǎo)致一些惡意虛擬主機租借用戶利用這個ASP 組件來攻擊和控制系統(tǒng)。所以在不是必要的情況下,請不要啟用它。太危險了。
基本系統(tǒng)設(shè)置安全問題:
一、端口設(shè)置。端口是計算機和外部網(wǎng)絡(luò)相連的邏輯接口,也是計算機的第一道屏障,由于做虛擬主機的系統(tǒng)一般不需要開太多的端口,所以可以在網(wǎng)卡屬性、Internet 協(xié)議(TCP/IP)屬性、高級、選項、TCP/IP篩選屬性里進行添加。不過Windows Server TCP/IP篩選設(shè)置做的有點問題:只允許開哪些端口,不允許關(guān)哪些端口,郁悶吧。
二、IIS 設(shè)置:首先,把C 盤中的默認的IIS 目錄Inetpub 徹底刪掉,在Internet 信息服務(wù)(IIS )管理器中將默認WEB 網(wǎng)站給停止,從新建立你所需要的WEB 發(fā)布站點,但注意,請把你要發(fā)布站點的目錄建立在其他盤符,并不要給其命名一些相對簡單或容易猜中的名字,如WEB 、IIS 、Inetpub 等。其次,在Internet 信息服務(wù)(IIS )管理器中刪除在你虛擬主機上不想用到的文件名映射,如,你的系統(tǒng)只需要支持ASP 和HTML 的話,那只要保留這個兩個文件名映射就可以了,其他的都可以刪除,步驟為在Internet 信息服務(wù)(IIS )管理器中右擊主機、屬性、WWW 服務(wù)、編輯、主目錄配置、應(yīng)用程序映射,然后就開始一個個刪吧。最后在的應(yīng)用程序調(diào)試書簽內(nèi)將腳本錯誤消息改為發(fā)送文本就基本可以了。
三、預(yù)防DoS : DOS :即Denial Of Service,拒絕服務(wù)的縮寫,原理就是生產(chǎn)出大量的數(shù)據(jù)包讓服務(wù)器不停的處理,導(dǎo)致服務(wù)器不能對其他的數(shù)據(jù)產(chǎn)生響應(yīng)。在注冊表
HKLMSYSTEMCurrentControlSetServicesTcpipParameters中更改以下值可以幫助你防御一定強度的DoS 攻擊 SynAttackProtect REG_DWORD 2 EnablePMTUDiscovery REG_DWORD 0
,NoNameReleaseOnDemand REG_DWORD 1 EnableDeadGWDetect REG_DWORD 0 KeepAliveTime
REG_DWORD 300,000 PerFORMRouterDiscovery REG_DWORD 0 EnableICMPRedirects REG_DWORD 0
四、工作進程隔離:在虛擬主機上經(jīng)常會出現(xiàn)由于某個用戶WEB 站點的應(yīng)用程序出錯,進入無限循環(huán),導(dǎo)致服務(wù)器資源大量消耗,最終死機的情況,這個問題在以往的IIS 中是很難解決的,有時還得借助第三方軟件。
但現(xiàn)在,IIS 6.0 引入了工作進程隔離模式,該模式可以在隔離環(huán)境中運行所有的 Web 應(yīng)用程序。當(dāng)在工作進程隔離模式下運行 IIS 時,可以將應(yīng)用程序配置成在單獨的應(yīng)用程序池中運行。每個應(yīng)用程序池在邏輯上表示一個可配置的工作進程,并且鏈接到池中的應(yīng)用程序。工作進程彼此獨立運行;它們可能失敗,但不會影響其他工作進程。應(yīng)用程序池保護其中的應(yīng)用程序免受支持其他應(yīng)用程序池的工作進程的影響。這樣,就可以避免應(yīng)用程序相互影響。
在工作進程隔離模式下,超文本傳輸協(xié)議 (HTTP) 請求被直接路由到服務(wù)于已配置的應(yīng)用程序的內(nèi)核應(yīng)用程序池隊列。服務(wù)于應(yīng)用程序池的工作進程會將請求直接從該隊列中拉出,避免了進程切換的開銷。為進一步保護 WWW 服務(wù),IIS 6.0 會隔離關(guān)鍵的萬維網(wǎng)發(fā)布服務(wù)組件,如 HTTP 協(xié)議堆棧和 WWW 服務(wù)管理和監(jiān)控,避免其受到在工作進程中運行的第三方代碼的影響。HTTP 協(xié)議堆棧接受 WWW 服務(wù)請求并將其排入隊列。當(dāng)工作進程處于不正常的狀態(tài)并因此中斷處理請求時,HTTP 協(xié)議堆棧會繼續(xù)處理請求。同時,WWW 服務(wù)將檢測不正常的工作進程并將其關(guān)閉。如果要求新工作進程為請求提供服務(wù),WWW 服務(wù)會啟動一個新工作進程以便從 HTTP 協(xié)議堆棧中獲取隊列中的請求。即使工作進程失敗,WWW 服務(wù)仍會繼續(xù)處理請求并保護用戶免于丟失服務(wù)。打開 Internet 信息服務(wù)(IIS )管理器,展開服務(wù)器,右鍵點擊應(yīng)用程序池,選擇屬性。就可以在彈出的對話框中根據(jù)自己的系統(tǒng)環(huán)境進行進程隔離設(shè)置了。如圖10:
(圖10)
由于系統(tǒng)環(huán)境比較多樣化,所以很難有一個設(shè)置的標(biāo)準(zhǔn),所以具體的設(shè)置請參考Windows 2003的幫助。
五、查看事件查看器:作為一個網(wǎng)管就應(yīng)該時時刻刻的觀察服務(wù)器的安全性,而事件查看器可以反映系統(tǒng)80的安全情況,這需要我們要養(yǎng)成每天分析事件查看器的習(xí)慣。一般情況是每天早晚各查看一次,并保留一個星期的日志。
當(dāng)然關(guān)于安全的問題,這是一個永遠也說不完的話題,希望本文能起到拋磚引玉的目的。謝謝!
,注:本文一些名詞解釋和定義來自Microsoft 。
全能虛擬主機安裝配置教程
讓你的虛擬主機支持IIS PHP MySQL Zend Optimizer GD庫 phpMyAdmin,可以全面支持ASP 、ASP.NET 、PHP 以及MYSQL 數(shù)據(jù)庫,成為全能型的虛擬主機。建議在window 2003下實現(xiàn)。
一、軟件準(zhǔn)備:以下均為截止2005-4-20的最新正式版本
PHP (5.0.4):http://cn.php.net/get/php-5.0.4-Win32.zip/from/a/mirror
MySQL (4.1.11):http://www.skycn.com/soft/1262.html
Zend Optimizer(2.5.7):
phpMyAdmin (2.6.2):http://www.skycn.com/soft/10687.html
假設(shè) C: 為你現(xiàn)在所使用操作系統(tǒng)的系統(tǒng)盤,如果你目前操作系統(tǒng)不是安裝在 C: ,請自行修改。