構建免受fso威脅虛擬機器主機)

來源:互聯網
上載者:User
現在絕大多數的虛擬機器主機都禁用了 ASP 的標準組件:FileSystemObject,
因為這個組件為 ASP 提供了強大的檔案系統訪問能力,可以對伺服器
硬碟上的任何檔案進行讀、寫、複製、刪除、改名等操作(當然,這是
指在使用預設設定的 Windows NT / 2000 下才能做到)。但是禁止此組
件後,引起的後果就是所有利用這個組件的 ASP 將無法運行,無法滿
足客戶的需求。
  如何既允許 FileSystemObject 組件,又不影響伺服器的安全性(即:
不同虛擬機器主機使用者之間不能使用該組件讀寫別人的檔案)呢?這裡介紹
本人在實驗中獲得的一種方法,下文以 Windows 2000 Server 為例來說明。
  在伺服器上開啟資源管理員,用滑鼠右鍵點擊各個硬碟分區或卷的
盤符,在快顯功能表中選擇“屬性”,選擇“安全”選項卡,此時就可以看
到有哪些帳號可以訪問這個分區(卷)及存取權限。預設安裝後,出現的
是“Everyone”具有完全控制的許可權。點“添加”,將“Administrators”、
“Backup Operators”、“Power Users”、“Users”等幾個組添加進去,並
給予“完全控制”或相應的許可權,注意,不要給“Guests”組、“IUSR_機
器名”這幾個帳號任何許可權。然後將“Everyone”組從列表中刪除,這樣,
就只有授權的組和使用者才能訪問此硬碟分區了,而 ASP 執行時,是以
“IUSR_機器名”的身份訪問硬碟的,這裡沒給該使用者帳號許可權,ASP 也就不
能讀寫硬碟上的檔案了。
  下面要做的就是給每個虛擬機器主機使用者佈建一個單獨的使用者帳號,然後再給
每個帳號分配一個允許其完全控制的目錄。
  如所示,開啟“電腦管理”→“本機使用者和組”→“使用者”,在右
欄中點擊滑鼠右鍵,在彈出的菜單中選擇“新使用者”:

  在彈出的“新使用者”對話方塊中根據實際需要輸入“使用者名稱”、“全名”、
“描述”、“密碼”、“確認密碼”,並將“使用者下次登入時須更改密碼”前
的對號去掉,選中“使用者不能更改密碼”和“密碼永不到期”。本例是給第一
虛擬機器主機的使用者建立一個匿名訪問 Internet 資訊服務的內建帳號“IUSR_VHOS
T1”,即:所有用戶端使用 http://xxx.xxx.xxxx/ ;訪問此虛擬機器主機時,都是以這個
身份來訪問的。輸入完成後點“建立”即可。可以根據實際需要,建立多個使用者
,建立完畢後點“關閉”:

現在建立立的使用者已經出現在帳號列表中了,在列表中雙擊該帳號,
以便進一步進行設定:

在彈出的“IUSR_VHOST1”(即剛才建立的新帳號)屬性對話方塊
中點“隸屬於”選項卡:

剛建立的帳號預設是屬於“Users”組,選中該組,點“刪除”:

  現在出現的是如所示,此時再點“添加”:

在彈出的“選擇 組”對話方塊中找到“Guests”,點“添加”,此組就會
出現在下方的文字框中,然後點“確定”:

  出現的就是如所示的內容,點“確定”關閉此對話方塊:

  開啟“Internet 資訊服務”,開始對虛擬機器主機進行設定,本例中的以
對“第一虛擬機器主機”設定為例進行說明,右擊該主機名稱,在彈出的菜單中
擇“屬性”:

  彈出一個“第一虛擬機器主機 屬性”的對話方塊,從對話方塊中可以看到該
虛擬機器主機使用者的使用的是“F:\VHOST1”這個檔案夾:

  暫時先不管剛才的“第一虛擬機器主機 屬性”對話方塊,切換到“資源管
理器”,找到“F:\VHOST1”這個檔案夾,右擊,選“屬性”→“安全”
選項卡,此時可以看到該檔案夾的預設安全設定是“Everyone”完全控制
(視不同情況顯示的內容不完全一樣),首先將最將下的“允許將來自父
系的可繼承許可權傳播給該對象”前面的對號去掉:

此時會彈出如所示的“安全”警告,點“刪除”:

  此時安全選項卡中的所有組和使用者都將被清空(如果沒有清空,
請使用“刪除”將其清空),然後點“添加”按鈕。

  將中所示的“Administrator”及在前面所建立的新帳號
“IUSR_VHOST1”添加進來,將給予完全控制的許可權,還可以
根據實際需要添加其他組或使用者,但一定不要將“Guests”組、
“IUSR_機器名”這些匿名訪問的帳號添加上去!

  再切換到前面開啟的“第一虛擬機器主機 屬性”的對話方塊,開啟
“目錄安全性”選項卡,點匿名訪問和驗證控制的“編輯”:

  在彈出的“驗證方法”對方框(如所示),點“編輯”:

  彈出了“匿名使用者帳號”,預設的就是“IUSR_機器名”,點“瀏覽”:

  在“選擇 使用者”對話方塊中找到前面建立的新帳號“IUSR_VHOST1”,雙擊:

  此時匿名使用者名就改過來了,在密碼框中輸入前面建立時,為該帳號
設定的密碼:

  再確定一遍密碼:

  OK,完成了,點確定關閉這些對話方塊。
  經此設定後,“第一虛擬機器主機”的使用者,使用 ASP 的 FileSystemObject
組件也只能訪問自己的目錄:F:\VHOST1 下的內容,當試圖訪問其他內容時
,會出現諸如“沒有許可權”、“硬碟未準備好”、“500 伺服器內部錯誤”等
出錯提示了。
  另:如果該使用者需要讀取硬碟的分區容量及硬碟的序號,那這樣的設定
將使其無法讀取。如果要允許其讀取這些和整個分區有關的內容,請右鍵點擊
該硬碟的分區(卷),選擇“屬性”→“安全”,將這個使用者的帳號添加到列
表中,並至少給予“讀取”許可權。由於該卷下的子目錄都已經設定為“禁止將
來自父系的可繼承許可權傳播給該對象”,所以不會影響下面的子目錄的使用權限設定。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.