一:前言
(僅以此文感謝好友bigeagle。不是他,我可能不用這麼擔心win2000安全問題的。呵呵!)
人說,一朝被蛇咬,十年怕.....。就是這樣。2023年初,當我終於擺脫winnt 4.0 server那可怕的補
丁之旅,邁向win2000 server時。我終於可以比較放心我的伺服器了。但隨著sp1的補丁出現。我知道,
與微軟的補丁因緣又開始輪迴了。但還好。win2000自動化的管理還是讓我放心好多,而以前管理winnt後
的失眠症狀也逐漸消失了。偶爾還能見到我的「夢」老弟。但這一切都伴隨者同bigeagle的一次知心交談
中付之東流了。一次。bigeagle發來qq。給我看了一段**。我一看就知道這不是bigeagle寫的**,那
麼爛,不過有點熟悉。再一看。啊?!這不是我的資料庫連線字串嗎!!god。頓時覺得有一種不祥的
來了。(再次說明,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,如果不做新聞組。就不要安了。**tp,如果有更好的郵件服務
,也不要裝他了。
六:索引伺服器。這個索引真的是很有用,但我沒有用過他。否則,你可以用他建立個整個站點的文
件搜尋的,但現在好像大多數的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 然後每乙個檔案用下面的辦法開啟連線。
如:set conn=server.createobject("adodb.connection")
conn.open connstr
4 最後在iis裡把include 資料夾用拒絕讀的方法保護起來。你會發現,你的連線可以照常開啟,但是
或是用ie 開啟。所以,可以保護你的連線字串了。
這裡用的方法是nt 許可權與 iis許可權的共同審核。我們知道,為了讓使用者從web上訪問道伺服器的檔案
,每個安裝了iis後的伺服器都會有兩個內建賬號。i_u******xx,i_wam******(x為你的機器名),這樣
你就可以有的放矢的防治某些從你的web網路檢視你的必要資訊的使用者了。
當然,還有一些比較好的檔案策略你可以參考一下:
如:cgi (.exe, .dll, .cmd, .pl)everyone (x)不允許讀去,執行。administrators(完全控制)
system(完全控制)
所以,你在編寫asp應用程式時,盡量歸類好你的目錄。方便用iis和nt進行管理。
如。採用下列結構比較好
d:webaspteststatic (放置*.htm)
d:webasptestscript (放置*.asp)
d:webasptestinclude(放置*.inc)
d:webasptestimages (放置*.gif,*.jpg)
這樣你就可以用上面的方法來達到安全目的了。
二:啟用日誌監測。
這是亡羊補牢的好工具,至少你可以用它來監測誰通過webl幹了什麼,當然,你還要保護該日誌的許可權只
能是被系統管理員。和超級管理所控制。這樣避免某些人的幹了某些事而不留痕跡。為了留好現場而又不
影響iis的響應速度。還是建議選則w3c擴充套件日誌格式比較好。(以前別人介紹我用odbc,看來比較方便,
但實際上不是這樣。他受到資料庫的影響很大。而且速度較慢了)。
可以考慮紀錄下一下現場資料:
客戶 ip 位址
使用者名稱
方法 uri 資源
http 狀態
win32 狀態
使用者**
伺服器 ip 位址
伺服器端口
如果在一台計算機上有多個 web 伺服器,則後兩種屬性非常有用。win32 狀態屬性對於除錯非常有用。
檢查日誌時,密切注意錯誤 5,這意味著訪問被拒絕。在命令列上輸入 net helpmsg err,可找出其它
win32 錯誤的含義,其中 err 是要查詢的錯誤號。
三:配置合適的指令碼對映。
相信我,大部分的asp源**洩漏都是通過不安全,或是有錯誤的指令碼對映導致的。而他們中的大多數
可能你用不到。如下面我說的。
1 *.htr這是乙個比較厲害的檔案,他是web應用程式的一種。同hta一樣。這是些比較厲害的功能,但
致功能強大的操作。比如htr就可以通過web來重社密碼。相信我們大多數的asp程式設計師和nt網管不需要這
個把。那好,把他的對應選項刪掉好了。否則,任何人都可以通過你的web來進行非法操作,甚至格式化
掉你的硬碟。
2 *.hta 這個我已經說過了,他是把雙刃劍,用的好,你可以通過他來訪問nt的很多操作,在asp上開
nt使用者也是可能的。但大多數的工作可以不通過web來事最好的。而*.hta在web很少用到,雖然他在
iis4.0就推出了。比如,你把乙個檔案儲存成*.hta,你就可以用ie開啟。看看,很奇怪的介面吧。聽ms
的工程師說.net中吧*.hta換了個說法,功能加大了。看來網管的工作又該加大了。如果你想安全一些。
刪掉吧。
3 *.idc 這個東東是個比較老的資料庫連線方法了,現在大多數都直接用asp檔案。不用idc了,所以刪
掉他。4 *.printer這個是印表機檔案。去掉他好了
5 *.htw , *.ida *.idq這些都是索引檔案,也可以去掉了。
四:好的安全習慣。
的路!)
五:防止asp**被洩漏。
這裡只能說是防止,我只有從已經發現的看asp方法的漏洞入手,現在對於iis4.0則幾乎有20種以上的
了本文上面的方法。可以裝到sp6就可以了。
相應的hotfix。可以解決。
六:防止惡意的破壞。
這個功能能對付一些被你監測到的不良分子,你可以在日誌中、或第三方工具看到到底是誰在不停的探
測、破壞你的iis,那麼把他列為不收歡迎的黑名單,這樣,你再配置站點時可以對其ip,或域進行拒絕訪
問,不過這一過程是要付出代價的,你的iis要擔任反向查詢的功能。可能會比較耗時。
六: 安全的話題。
以上還只是iis與asp的。如果你要用道資料庫。用道遠端管理,用道遠端連線資料庫。那還要分別注
意。正如我說的。沒有絕對的安全。而這也才是安全的需要。關於安全的話題,沒有結束,只有待續。。
安全站點和非安全站點的 URL 管理
在本文中我將描述怎麼管理安全站點和非安全站點的 url 管理。安全站點的內容使用httpsssl 安全套接字層 協議傳送,而非安全站點使用http協議。為了描述簡單,我們稱前者https內容 頁,後者 http 內容 頁。乙個嚴格要求的 通常需要一些頁面使用https,一些頁面使用http。例如,為...
Oracle資料安全的維護
oracle資料安全的維護 記得某位哲學家說過 事物的變化離不開內因和外因。那麼對於 oracle資料安全這個話題而言,也勢必分為 內 和 外 兩個部分。那麼好,我們就先從 內 開始說起 1.從oracle系統本身說起 我們先拋開令人聞風色變的 hacker 和其他一些外部的原因,先想一下我們的資料...
Wiki 以及最近站點維護的一些記錄
記錄一下最近對站點做的一點改進.1 wiki 系統已經有了幾篇文章 x tables 將會使一系列小文件 雖然現在只有寥寥的幾篇 oracle 文件,但是 1 和 0 相比有本質的區別,這是乙個好的開始.乙個人的 oracle 資料庫 wiki 知識庫.2 恢復了貓澤西的幸福生活.澤西是我家的乙隻大...