安全維護 IIS asp 網站的進階技巧

來源:互聯網
上載者:User
iis|安全|進階|技巧|網站 一:前言
(僅以此文感謝好友bigeagle。不是他,我可能不用這麼擔心win2000安全問題的。呵呵!)

人說,一朝被蛇咬,十年怕.....。就是這樣。2000年初,當我終於擺脫winnt 4.0 server那可怕的補

丁之旅,邁向win2000 server時。我終於可以比較放心我的伺服器了。但隨著sp1的補丁出現。我知道,

與微軟的補丁因緣又開始輪迴了。但還好。win2000自動化的管理還是讓我放心好多,而以前管理winnt後

的失眠癥狀也逐漸消失了。偶爾還能見到我的“夢”老弟。但這一切都伴隨者同bigeagle的一次知心交談

中付之東流了。一次。bigeagle發來qq。給我看了一段代碼。我一看就知道這不是bigeagle寫的代碼,那

麼爛,不過有點熟悉。再一看。啊?!這不是我的資料庫連接字串嗎!!GOD。頓時覺得有一種不祥的

預兆。不過還好,這個只是個access的,我還用了一些手段防止他被下載。但這足以讓我長時間的失眠又

來了。(再次說明,bigeagle不是蛇,他是鷹)

二:安裝過程中的IIS 與 asp安全防護。(這裡只考慮是web伺服器,而不是本地機子上的web開發平台。



接下來的幾天有是幾個難熬的日子。我開始重新部署win2000 web伺服器的安全性原則。

找到asp代碼被泄漏的原因,原來。我的補丁每次打得都比較及時的。但一次因為卸載FTP時,重裝了

IIS,而這之後,我並沒有再打補丁而導致最新的漏洞web解析出錯。(就是那個較新的漏洞 Translate

:f 用這個加上一些工具就可以看到asp的代碼了。)
首先,開始重裝IIS。
這次安裝的策略就是安全,夠用。去掉一些多餘的東西。
一:FTP不要安裝了,功能不好,還容易出錯,並且漏洞很大。Ftp預設傳輸密碼的過程可是明文傳送

,很容易被人截獲。(可以考慮用第三方工具。)
二:一切執行個體、文檔也不要安裝了。這是在web伺服器上,最好不要這些例子,事實證明可以從這些例

子網站突破IIS的防線的。

三:安裝時選擇網站目錄,建議不要用預設目錄c:\inetpub,最好安裝道不是系統硬碟的盤上。如:

d:\IISWEB,可以考慮自建目錄。這樣即使IIS被突破,也能儘可能的保護好系統檔案了。

四:不要安裝html的遠端管理。html的遠端管理在winnt 4.0還能用的上,但漏洞比較大,而且比較危

險,連接埠號碼雖然是隨機的,但很容易被人掃描道,從而留下隱患。事實上,我們可以通過另一台伺服器上

的IIS來管理他。這樣比較安全。

五:多餘的服務也不要安了,如NNtp,如果不做新聞群組。就不要安了。smtp,如果有更好的郵件服務

,也不要裝他了。

六:索引伺服器。這個索引真的是很有用,但我沒有用過他。否則,你可以用他建立個整個網站的文

件搜尋的,但現在好像大多數的asp網頁都是一個網頁,動態從資料庫裡查詢。所以根本用不上索引服務

器了,(不是索引不好,而是本身上面的那種asp檔案結構就不適合)所以可以不要安裝。

三:有目的進行安全配置。

一:開發前的工作。

首先,啟動IIS後,看有沒有\iissamples,\IIShelp,\msadc\,這些目錄,如果有,他們大多是用來作為

例子,協助安裝的,刪掉他們,再把指令碼庫也刪掉,直到web目錄只留下幹靜的建立的虛擬目錄即可,如果

有管理的web網站,也刪掉他。沒有他,我們一樣可以工作的更好。 還有看看有沒有printer的檔案夾,

他們大多數都是些通過web來訪問印表機的。MS就是怪。為了表示我的功力強大,允許通過web來遠程列印

。相信沒有哪個網路公司是通過web網來列印的把。也不可能讓網友來使用你的電腦吧。那好,去掉他



然後。開始詳細配置各個web虛擬目錄的安全。大概的策略是這樣的。

分類每個檔案夾管理,如,可以吧副檔名是相同的分配到同一目錄,如*.asp的,和*.inc就盡量分開

。如果是*.asp的,則開放虛擬目錄許可權,但將實際目錄許可權授予administrator,system(完全控制)

everyone (rc)即可。這樣可以通過web允許讀取。但實際上你可以加大安全力度,如果你認位他是比較保

密的。如果是*.inc的,則開放目錄許可權,但不允許通過直接存取。這裡又一個技巧了。比如。你可以允

許實際目錄被everyone訪問,但在IIS中,你把改瀏覽目錄項去掉,則改包含檔案只能被源檔案讀取,但

不允許被直接讀許。這樣,他就不可能下在倒一些你的單機資料庫了。而且你的*.inc檔案也不會被瀏覽

器直接閱讀。
剛才我的老弟“夢”還在問我,有沒有辦法可以讓別人看不到你的連接字串,你可以試試下面的方法


1 首先建立連接字串,並建立一個單獨的檔案*.inc(要是*.inc的,不要*.asp的)你把你的串連字

符串用變數複製進來。
如:connstr=""Provider=SQLOLEDB.1;Password=passw;...................."
2 然後建立一個檔案夾include,放在根目錄裡。
3 然後每一個檔案用下面的辦法開啟串連。
如:<!-- #include file="include\*.inc" -->
set conn=server.createobject("adodb.connection")
conn.open connstr

4 最後在iis裡把include 檔案夾用拒絕讀的方法保護起來。你會發現,你的串連可以照常開啟,但是

如果對方看到你的原始碼,他也看不到連接字串,即使他看到了包含檔案路徑及名稱。他也無法下載,

或是用ie 開啟。所以,可以保護你的連接字串了。


這裡用的方法是Nt 許可權與 IIS許可權的共同審核。我們知道,為了讓使用者從web上訪問道伺服器的檔案

,每個安裝了IIS後的伺服器都會有兩個內建帳號。I_USExxxxxx,I_WAMxxxxxx(x為你的機器名),這樣

你就可以有的放矢的防治某些從你的web網路查看你的必要資訊的使用者了。

當然,還有一些比較好的檔案策略你可以參考一下:
如:CGI (.exe, .dll, .cmd, .pl)Everyone (X)不允許讀去,運行。Administrators(完全控制)
System(完全控制)
所以,你在編寫asp應用程式時,盡量歸類好你的目錄。方便用IIS和NT進行管理。
如。採用下列結構比較好
d:\web\asptest\static (放置*.htm)
d:\web\asptest\script (放置*.asp)
d:\web\asptest\include(放置*.inc)
d:\web\asptest\images (放置*.gif,*.jpg)
這樣你就可以用上面的方法來達到安全目的了。

二:啟用日誌監測。

這是亡羊補牢的好工具,至少你可以用它來監測誰通過webl幹了什麼,當然,你還要保護該日誌的許可權只

能是被系統管理員。和超級管理所控制。這樣避免某些人的幹了某些事而不留痕迹。為了留好現場而又不

影響IIS的響應速度。還是建議選則w3c擴充日誌格式比較好。(以前別人介紹我用ODBC,看來比較方便,

但實際上不是這樣。他受到資料庫的影響很大。而且速度較慢了)。
可以考慮紀錄下一下現場資料:
客戶 IP 位址
使用者名稱
方法
URI 資源
HTTP 狀態
Win32 狀態
使用者代理程式
伺服器 IP 位址
伺服器連接埠

如果在一台電腦上有多個 Web 服務器,則後兩種屬性非常有用。Win32 狀態屬性對於調試非常有用。

檢查日誌時,密切注意錯誤 5,這意味著訪問被拒絕。在命令列上輸入 net helpmsg err,可找出其它

Win32 錯誤的含義,其中 err 是要尋找的錯誤號碼。


三:配置合適的指令碼映射。

相信我,大部分的asp原始碼泄漏都是通過不安全,或是有錯誤的指令碼映射導致的。而他們中的大多數

可能你用不到。如下面我說的。

1 *.htr這是一個比較厲害的檔案,他是web應用程式的一種。同hta一樣。這是些比較厲害的功能,但

介紹很少。hta就是一種html 格式的 application,功能比較強大。切安全性比htm要低。所以可能會導

致功能強大的操作。比如htr就可以通過web來重社密碼。相信我們大多數的asp程式員和NT網管不需要這

個把。那好,把他的對應選項刪掉好了。否則,任何人都可以通過你的web來進行非法操作,甚至格式化

掉你的硬碟。

2 *.hta 這個我已經說過了,他是把雙刃劍,用的好,你可以通過他來訪問nt的很多操作,在asp上開



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.