提高IIS的安全性

2021-06-21 15:58:07 字數 2391 閱讀 1594

概要:使用iis的省缺設定就象把你屋子的鑰匙給了別人,本文教你如何把門鎖上。(本文不是100%直譯,括號中的是討飯貓的廢話)

沒有任何系統是100%安全的,系統漏洞會不斷地發現,這是因為黑客和系統管理員一樣也在整天看著新聞組,收集著這方面的資訊。黑與反黑之間的戰鬥會永遠進行下去。

如果你採用iis的省缺設定,那你在這場較量中就已經處於下風。windows nt省缺下被安裝為乙個開放的伺服器,即使是菜鳥hacker也能得手。但只要你做下面幾個簡單步驟,情況就會有很大改善。雖不敢說攻無不克,至少可以保護你的資料不象小克的拉鍊門一樣世人皆知。

乙個安全的系統要有多層保護。一般的計算機系統有三層保護,物理層,網路層,檔案系統。物理層就是保護好計算機硬體本身,硬碟,軟盤不被偷走,這就不用我多說了。網路層是要保護與internet和本地lan的網路連線,主要是靠防火牆和埠的訪問許可權設定。最裡面的是檔案系統,這也是大多數攻擊的目標。下面我們主要也就講這方面。

省缺設定的問題

nt省缺設定成乙個開放系統,檔案系統是幾乎完全沒有安全設定的,網路上的任何使用者都可以讀寫刪除其中的檔案。這主要原因是nt中大量使用了 everyone 組(更可怕是省缺給 full許可權),理論上,地球上任何使用者都屬於everyone組。相比之下,netware就設定為乙個封閉的系統,安全性就好很多。為什麼microsoft要做這種蠢事?原因可能是給最大許可權可以減少許多因為許可權問題帶來的技術支援**吧。(是這樣嗎?)

iis同樣也有很多問題。安裝iis時,系統建立乙個字首是iwam_(早期版本是iusr_)的帳戶,該帳戶屬於guest組,能夠訪問guest組和everyone組許可權下的所有檔案。在省缺安裝下,90%的系統檔案可以被該使用者訪問。

看來解決方法就是刪除所有的everyone組許可權了,但實際上這樣做行不通。因為iis不僅要訪問html檔案,還會呼叫script和activex控制項,還涉及到dll的執行,全部取消everyone組許可權會使系統出現這樣那樣的問題。所以要使用一些系統安全工具來一步步做。

系統安全工具

熟悉以下nt系統自帶的安全工具是很重要的:

user manager(usrmgr.exe)

iis 4.0: microsoft management console (mmc.exe)

iis 3.0: internet service manager (inetmgr.exe)

registry editor (regedt32.exe)

(介紹省略,不相信你沒用過)

command line acl editor (cacls.exe)

這個工具可能知道的人不多,也是nt自帶,用於管理access control list(acl)。

該工具用於管理系統環境變數。

步驟一:使用專用的web組

1 用user manager建立乙個名為www的本地組

2 將iwam_賬號從guests組中刪除,加入www組

3 賦予www組「access this computer from the network」許可權,讓iis能執行乙個本地登入操作

4 重起www服務

5 在web根目錄下執行命令列操作:

cacls \*.* /t /e /c /g www:r

引數 meaning

\*.* web根目錄。在 with iis 4.0 中通常是 c:\inetpub\wwwroot. 

/t 作用於所有的目錄和子目錄 

/e 編輯acl,不是替換 

/c 有錯誤停止執行. 

/g www:r 賦予www組read許可權

這樣web目錄下的所有檔案都承認www組的讀許可權了。別忘了在其他包含web內容的目錄下執行這個命令(主要是虛擬目錄)

步驟二:刪除everyone組

完成以上操作後,internet使用者只能看所允許的檔案了。但這還不夠,因為everyone組還存在,現在需要將everyone組從計算機中的所有檔案中清除出去。

但清除everyone組不象想象的那麼簡單。省缺下,許多microsoft dll檔案在acl中之只列了everyone組。如果一桿子打到底,這些dll檔案就無人可以訪問了。因為一刪除everyone組,acl就空了,空的acl意味著任何訪問者都沒有許可權。執行以下命令:

cacls c:\*.* /t /e /c /g users:f /r everyone

引數 meaning

/g users:f 賦予users組所有許可權

/r everyone 取消everyone組所有許可權

這樣可以保證acl中不為空。然而這樣做帶來兩個問題:本機完全開放給本地網路;變動太多的系統檔案許可權。最好的方法其實是找出那些檔案只有everyone組許可權,不幸地是windowsnt沒有提供該功能,但有一些第三方工具能做到這個功能。(原文中沒有提到到底是哪些工具)如果有這些工具的話,該命令改為:

cacls c:\*.* /t /e /c /r everyone

提高程式安全性

1 防止sql 注入攻擊 一 sql注入簡介 sql注入是比較常見的網路攻擊方式之一,它不是利用作業系統的bug來實現攻擊,而是針對程式設計師程式設計時的疏忽,通過sql語句,實現無帳號登入,甚至篡改資料庫。二 sql注入攻擊的總體思路 1.尋找到sql注入的位置 2.判斷伺服器型別和後台資料庫型別...

提高linux ssh訪問的安全性

提高ssh安全性 鼓勵您系統上的所有使用者使用 ssh 取代 telnet,或者更進一步,解除安裝 telnet telnetd.另外您應該避免使 用 ssh 以 root 身份登入,其替代的方法是使用 su 或 sudo 轉換成 root 使用者。最後,etc ssh 目錄下 的 sshd con...

如何提高Wi Fi的安全性

在15年前,wi fi開始了其漫長而穩步的發展,從家庭到辦公室,最終取代乙太網成為很多企業首選網路接入方式。現在,在802.11ac的推動下,企業wi fi部署正在進一步發展,2014年,802.11ac佔全球1.76億接入點 ap 出貨量的18 wi fi不僅將改變員工的連線方式,還將改變保護通訊...