【技術貼】有史以來最好的序擬主機安全配置

落雨_發表於2010-08-08

注入漏洞、上傳漏洞、弱口令漏洞等問題隨處可見。跨站攻擊,遠端控制等等是再老套不過了的話題。有些虛擬主機管理員不知是為了方便還是不熟悉配置,乾脆就將所有的網站都放在同一個目錄中,然後將上級目錄設定為站點根目錄。有些呢,則將所有的站點的目錄都設定為可執行、可寫入、可修改。有些則為了方便,在伺服器上掛起了QQ,也裝上了BT.更有甚者,竟然把Internet來賓帳號加入到Administrators組中!汗……!普通的使用者將自己的密碼設定為生日之類的6位純數字,這種情況還可以原諒,畢竟他們大部分都不是專門搞網路研究的,中國國民的安全意識提高還需要一段時間嘛,但如果是網路管理員也這樣,那就怎麼也有點讓人想不通了。網路安全問題日益突出,最近不又有人聲稱“萬網:我進來玩過兩次了!”一句話,目前很大部分的網站安全狀況讓人擔憂!
  這裡就我個人過去的經歷和大家一同來探討有關安全虛擬主機配置的問題。以下以建立一個站點cert.ecjtu.jx.cn為例,跟大家共同探討虛擬主機配置問題。
  一、建立Windows使用者
  為每個網站單獨設定windows使用者帳號cert,刪除帳號的User組,將cert加入Guest使用者組。將使用者不能更改密碼,密碼永不過期兩個選項選上。
  二、設定資料夾許可權
  1、設定非站點相關目錄許可權
  Windows安裝好後,很多目錄和檔案預設是everyone可以瀏覽、檢視、執行甚至是可以修改 的。這給伺服器安全帶來極大的隱患。這裡就我個人的一些經驗提一些在入侵中較常用的目錄。
C:;D:;……   C:perl   C: emp   C:Mysql   c:php   C:autorun.inf   C:Documents and setting   C:Documents and SettingsAll Users「開始」選單程式   C:Documents and SettingsAll Users「開始」選單程式啟動   C:Documents and SettingsAll UsersDocuments   C:Documents and SettingsAll UsersApplication DataSymantec   C:Documents and SettingsAll UsersApplication DataSymantecpcAnywhere   C:WINNTsystem32config   C:winntsystem32inetsrvdata   C:WINDOWSsystem32inetsrvdata   C:Program Files   C:Program FilesServ-U   c:Program FilesKV2004   c:Program FilesRisingRAV   C:Program FilesRealServer   C:Program FilesMicrosoft SQL server   C:Program FilesJava Web Start
  以上這些目錄或檔案的許可權應該作適當的限制。如取消Guests使用者的檢視、修改和執行等許可權。由於篇幅關係,這裡僅簡單提及。
  2、設定站點相關目錄許可權:
  A、設定站點根目錄許可權:將剛剛建立的使用者cert給對應站點資料夾,假設為D:cert設定相應的許可權:Adiministrators組為完全控制;cert有讀取及執行、列出資料夾目錄、讀取,取消其它所有許可權。
  B、設定可更新檔案許可權:經過第1步站點根目錄資料夾許可權的設定後,Guest使用者已經沒有修改站點資料夾中任何內容的許可權了。這顯然對於一個有更新的站點是不夠的。這時就需要對單獨的需更新的檔案進行許可權設定。當然這個可能對虛擬主機提供商來說有些不方便。客戶的站點的需更新的檔案內容之類的可能都不一樣。這時,可以規定某個資料夾可寫、可改。如有些虛擬主機提供商就規定,站點根目錄中uploads為web可上傳資料夾,data或者 database為資料庫資料夾。這樣虛擬主機服務商就可以為客戶定製這兩個資料夾的許可權。當然也可以像有些做的比較好的虛擬主機提供商一樣,給客戶做一個程式,讓客戶自己設定。可能要做到這樣,服務商又得花不小的錢財和人力哦。
  基本的配置應該大家都會,這裡就提幾個特殊之處或需要注意的地方。
  1、主目錄許可權設定:這裡可以設定讀取就行了。寫入、目錄瀏覽等都可以不要,最關鍵的就是目錄瀏覽了。除非特殊情況,否則應該關閉,不然將會暴露很多重要的資訊。這將為黑客入侵帶來方便。其餘保留預設就可以了。
  2、應用程式配置:在站點屬性中,主目錄這一項中還有一個配置選項,點選進入。在應用程式對映選項中可以看到,預設有許多應用程式對映。將需要的保留,不需要的全部都刪除。在入侵過程中,很多程式可能限制了asp,php等檔案上傳,但並不對cer,asa等檔案進行限制,如果未將對應的應用程式對映刪除,則可以將asp的字尾名改為cer或者asa後進行上傳,木馬將可以正常被解析。這也往往被管理員忽視。另外新增一個應用程式副檔名對映,可執行檔案可以任意選擇,字尾名為。mdb.這是為了防止字尾名為mdb的使用者資料庫被下載。
  3、目錄安全性設定:在站點屬性中選擇目錄安全性,點選匿名訪問和驗證控制,選擇允許匿名訪問,點選編輯。如下圖所示。刪除預設使用者,瀏覽選擇對應於前面為cert網站設定的使用者,並輸入密碼。可以選中允許IIS控制密碼。這樣設定的目的是為了防止一些像站長助手、海洋等木馬的跨目錄跨站點瀏覽,可以有效阻止這類的跨目錄跨站入侵。
  4、可寫目錄執行許可權設定:關閉所有可寫目錄的執行許可權。由於程式方面的漏洞,目前非常流行上傳一些網頁木馬,絕大部分都是用web進行上傳的。由於不可寫的目錄木馬不能進行上傳,如果關閉了可寫目錄的執行許可權,那麼上傳的木馬將不能正常執行。可以有效防止這類形式web入侵。
  5、處理執行錯誤:這裡有兩種方法,一是關閉錯誤回顯。IIS屬性――主目錄――配置――應用程式除錯――指令碼錯誤訊息,選擇傳送文字錯誤資訊給客戶。二是定製錯誤頁面。在IIS屬性――自定義錯誤資訊,在http錯誤資訊中雙擊需要定製的錯誤頁面,將彈出錯誤對映屬性設定框。訊息型別有預設值、URL和檔案三種,可以根據情況自行定製。這樣一方面可以隱藏一些錯誤資訊,另外一方面也可以使錯誤顯示更加友好。
  四、配置FTP
  Ftp是絕大部分虛擬主機提供商必備的一項服務。使用者的站內檔案大部分都是使用ftp進行上傳的。目前使用的最多的ftp伺服器非Serv-U莫屬了。這裡有幾點需要說明一下。
  1、管理員密碼必須更改
  如果入侵愛好者們肯定對Serv-U提權再熟悉莫過了。這些提權工具使用的就是Serv-U預設的管理員的帳號和密碼執行的。因為Serv-U管理員是以超級管理員的身份執行的。如果沒有更改管理員密碼,這些工具使用起來就再好用不過了。如果更改了密碼,那這些工具要想正常執行,那就沒那麼簡單嘍。得先破解管理員密碼才行。
  2、更改安裝目錄許可權
  Serv-U的預設安裝目錄都是everyone可以瀏覽甚至可以修改的。安裝的時候如果選擇將使用者資訊儲存在ini檔案中,則可以在ServUDaemon.ini得到使用者的所有資訊。如果Guests有修改許可權,那麼黑客就可以順利建立具有超級許可權的使用者。這可不是一件好事。所以在安裝好Serv-U之後,得修改相應的資料夾許可權,可以取消Guests使用者的相應許可權。
  五、命令列相關操作處理
  1、禁止guests使用者執行com.exe:
  我們可以通過以下命令取消guests執行com.exe的許可權
  cacls C:WINNTsystem3Cmd.exe /e /d guests.
  2、禁用Wscript.Shell元件:
  Wscript.Shell可以呼叫系統核心執行DOS基本命令。可以通過修改登錄檔,將此元件改名,來防止此類木馬的危害。 HKEY_CLASSES_ROOTWscript.Shell 及HKEY_CLASSES_ROOTWscript.Shell.1改名為其它的名字。將兩項clsid的值也改一下 HKEY_CLASSES_ROOTWscript.ShellCLSID專案的值和HKEY_CLASSES_ROOT Wscript.Shell.1CLSID專案的值,也可以將其刪除。
  3、禁用Shell.Application元件
  Shell.Application也可以呼叫系統核心執行DOS基本命令。可以通過修改登錄檔,將此元件改名,來防止此類木馬的危害。 HKEY_CLASSES_ROOTShell.Application 及HKEY_CLASSES_ROOTShell.Application.1 改名為其它的名字。將HKEY_CLASSES_ROOTShell.ApplicationCLSID專案的值 HKEY_CLASSES_ROOTShell.ApplicationCLSID專案的值更改或刪除。同時,禁止Guest使用者使用 shell32.dll來防止呼叫此元件。使用命令:cacls C:WINNTsystem32shell32.dll /e /d guests
  4、FileSystemObject元件
  FileSystemObject可以對檔案進行常規操作可以通過修改登錄檔,將此元件改名,來防止此類木馬的危害。對應登錄檔項為HKEY_CLASSES_ROOT scripting.FileSystemObject.可以禁止guests使用者使用或直接將其刪除。考慮到很多的上傳都會使用到這個元件,為了方便,這裡不建議更改或刪除。
  5、禁止telnet登陸
  在C:WINNTsystem32目錄下有個login.cmd檔案,將其用記事本開啟,在檔案末尾另取一行,加入exit儲存。這樣使用者在登陸telnet時,便會立即自動退出。
  注:以上修改登錄檔操作均需要重新啟動WEB服務後才會生效。
  六、埠設定
  埠窗體底端就是門,這個比喻非常形象。如果我們伺服器的所有埠都開放的話,那就意味著黑客有好多門可以進行入侵。所以我個人覺得,關閉未使用的埠是一件重要的事情。在控制皮膚――網路與撥號連線――本地連線――屬性――Internet協議(TCP/IP)屬性,點選高階,進入高階TCP/IP設定,選擇選項,在可選的設定中選擇TCP/IP篩選,啟用TCP/IP篩選。新增需要的埠,如21、80等,關閉其餘的所有未使用的埠。
  七、關閉檔案共享
  系統預設是啟用了檔案共享功能的。我們應給予取消。在控制皮膚――網路和撥號連線――本地連線――屬性,在常規選項種,取消Microsoft 網路檔案和列印共享。服務最少原則是保障安全的一項重要原則。非必要的服務應該給予關閉。系統服務可以在控制皮膚――管理工具――服務中進行設定。
  八、關閉非必要服務
  類似telnet服務、遠端登錄檔操作等服務應給予禁用。同時儘可能安裝最少的軟體。這可以避免一些由軟體漏洞帶來的安全問題。有些網管在伺服器上安裝QQ,利用伺服器掛QQ,這種做法是極度錯誤的。
  九、關注安全動態及時更新漏洞補丁
  更新漏洞補丁對於一個網路管理員來說是非常重要的。更新補丁,可以進一步保證系統的安全。
本文來自“十萬個為什麼”電腦學習網 http://www.why100000.com


相關文章